This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/56039] ICE in iterative_hash_template_arg, at cp/pt.c:1606


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56039

--- Comment #5 from Daniel KrÃgler <daniel.kruegler at googlemail dot com> 2013-01-19 20:20:43 UTC ---
(In reply to comment #4)
> (In reply to comment #3)
> I seem to find that the expression in question
> > 
> > false && [](){}
> > 
> is valid because there is a implicit conversion sequence consisting of a
> user-defined conversion to pointer-to-function followed by a conversion to bool
> from the pointer type.

I agree, I missed the existence of the conversion function when arguing about
the expression. 

Let me add that for exactly the use-case you presented here
(std::is_constructible) I would have loved to have it defined in terms of a
lambda expression. But I guess that this is not what will be decided on that
guess (but maybe I'm just biased)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]