https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65333
Bug ID: 65333 Summary: [5 Regression] error: incomplete type used in nested name specifier Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org CC: jason at gcc dot gnu.org The testcase from PR65328 shows: markus@x4 fatal % cat sequence.ii template <typename T, T... Values> struct A { using type = int; template <type... Suffix> using array = A<type, Values..., Suffix...>; void m_fn1 () { array<>::data; } }; markus@x4 fatal % g++ -std=c++11 -c sequence.ii sequence.ii: In member function ‘void A<T, Values>::m_fn1()’: sequence.ii:8:5: error: incomplete type ‘A<T, Values>::array<> {aka A<int, Values ...>}’ used in nested name specifier array<>::data; ^ 4.8, 4.9, EDG and clang accept the code.