https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113620
Bug ID: 113620 Summary: Specialized Template Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: hans.buchmann.wantuch at gmail dot com Target Milestone: --- Created attachment 57225 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57225&action=edit Bug report generated with: -freport-bug Compiling the code bug-1.cc ------8<------8<------8<------8<------ class CRC { public: template<typename T> struct Def { using TYP=T; static const TYP INIT=0; }; enum Method {MSB_FIRST,LSB_FIRST}; template<Method M,typename DEF> class BIT{}; template<typename DEF> struct BIT<MSB_FIRST,DEF> { DEF::TYP r=DEF::INIT; }; }; int main(int argc,char** args) { CRC::BIT<CRC::MSB_FIRST,CRC::Def<unsigned short>> crc; return 0; } ------8<------8<------8<------8<------ compiling with: g++ -freport-bug -std=c++2a -c -o bug-1.o bug-1.cc results in the following output: see attached bug-report.txt Sincerely Hans Buchmann