This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/51501] decltype over-agressive SFINAE
- From: "jason at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 19 Dec 2011 22:06:03 +0000
- Subject: [Bug c++/51501] decltype over-agressive SFINAE
- Auto-submitted: auto-generated
- References: <bug-51501-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51501
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |SUSPENDED
--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> 2011-12-19 22:06:03 UTC ---
The problem here is that the variadic 'list' is not in scope when the
trailing-return-type is parsed. 3.3.2 says,
The point of declaration for a name is immediately after its complete
declarator
and the declarator includes the trailing-return-type. And then since all the
arguments are integers, no argument-dependent lookup is done, so the call in
the trailing-return-type doesn't find the right template, and fails.
The versions of EDG and Clang that I have handy seem to reject this testcase on
the same basis.
This seems like a flaw in the standard.