Boost logo

Boost :

Subject: Re: [boost] C++11 decltype/SFINAE puzzler
From: Eric Niebler (eric_at_[hidden])
Date: 2012-07-09 15:32:29


On 7/9/2012 8:42 AM, Doug Gregor wrote:
> On Fri, Jul 6, 2012 at 6:17 PM, Eric Niebler <eric_at_[hidden]> wrote:
>> I'd like to second what Nate said. My experience is that not providing
>> the backtrace is a usability nightmare. To me, this is *exactly*
>> analogous to a template instantiation backtrace and should, IMO, be
>> handled exactly the same way. If you want to snip the middle of the
>> backtrace, fine, but show the start and the end (the deepest point, I
>> guess), and perhaps provide an option for dumping the complete thing.
>
> The typical complaints about template error messages concern excess
> verbosity rather than a lack of detail, so simply providing the full
> backtrace in all cases is not necessarily helpful.

OK, agreed.

> A more nuanced
> approach that provides this detail when it is interesting (e.g., only
> one candidate needs it)

Not sure what you mean by "only one candidate needs it". I think there
will be a challenge reporting these failures when there are overload
sets in the call tree. You probably don't want to report the reason for
failure for every overload at every level of the tree -- at least not by
default.

> would be ideal; failing that, some
> command-line options to dial up the verbosity would allow experts to
> get the information they need while not flooding the terminals of the
> majority of C++ programmers.

Yes, please. We don't want to have to tell people to try compiling with
gcc if they don't understand clang's errors. :-P

> This is certainly worth of a Clang bug: http://llvm.org/bugs/

http://llvm.org/bugs/show_bug.cgi?id=13309

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk