[Bug c++/91262] New: using template type parameter after typename
barry.revzin at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Jul 25 18:23:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91262
Bug ID: 91262
Summary: using template type parameter after typename
Product: gcc
Version: 9.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: barry.revzin at gmail dot com
Target Milestone: ---
Reduced from StackOverflow (https://stackoverflow.com/q/57206006/2069064), this
short example:
struct Wrapper {
template <class T>
using type = T;
};
template <class T>
void foobar(typename Wrapper::template type<T>);
fails to compile with:
foo.cxx:7:40: error: using template type parameter ‘Wrapper::type<T>’ after
‘typename’
7 | void foobar(typename Wrapper::template type<T>);
|
But this is fine - just because Wrapper::type isn't dependent doesn't disallow
us from using these keywords. clang accepts the example.
More information about the Gcc-bugs
mailing list