[Bug c++/51501] decltype over-agressive SFINAE

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 19 22:09:00 GMT 2011


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.



More information about the Gcc-bugs mailing list