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++/51501] decltype over-agressive SFINAE


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.


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