This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/56039] ICE in iterative_hash_template_arg, at cp/pt.c:1606
- From: "daniel.kruegler at googlemail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 19 Jan 2013 20:20:43 +0000
- Subject: [Bug c++/56039] ICE in iterative_hash_template_arg, at cp/pt.c:1606
- Auto-submitted: auto-generated
- References: <bug-56039-4@http.gcc.gnu.org/bugzilla/>
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)