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)

Reply via email to