Bug 58147

Summary: Template template parameter name found after nested-name-specifier
Product: gcc Reporter: David Krauss <potswa>
Component: c++Assignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED INVALID    
Severity: normal    
Priority: P3    
Version: 4.9.0   
Target Milestone: ---   
Host: Target:
Build: Known to work:
Known to fail: Last reconfirmed:

Description David Krauss 2013-08-13 07:03:01 UTC
Although the usage is a bit dubious, name lookup of the identifier after a nested-name-specifier should not find a template parameter name. But it does, seemingly only for a template template parameter.

template< typename > struct b {};
template< template< typename > class b > struct d
    : b< int >
    { using d::b< int >::b; };
template struct d< b >;
Comment 1 David Krauss 2013-08-13 07:11:42 UTC
Never mind; I was missing a template keyword after the nested-name-specifier.

NEEDS MOAR TEMPLATE!