https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84026
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- Fixed testcase (so it doesn't define S1::E1 twice): struct S1 { enum class E1; }; enum class S1::E1 {}; // OK struct S2 { enum class E2; }; enum class ::S2::E2 {}; // Not OK