https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118760
Bug ID: 118760 Summary: Alias template in dependent base used via injected-class-name incorrectly rejected Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: herring at lanl dot gov Target Milestone: --- GCC trunk rejects template<int> struct base { template<class T> using id=T; }; template<int I> struct derived : base<I> { typename derived::/*template*/ id<int> i; }; derived<1> x; complaining that the type of derived<1>::i is not a class type. This is true, of course, but hardly an error. (The commented-out template is for Clang comparison; it was rendered unnecessary by CWG1710, but Clang still erroneously requires it.)