https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87269
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> --- Reduced test-case: $ cat ice2.ii namespace { void operator"" a(const char *, unsigned long); } inline namespace b { void operator"" a(unsigned long long ); } namespace c { struct d { using e = bool ; e f; }; struct g { d h; } ; template < class > class i { static const g k; static bool f(); }; template < class j > bool i< j >::f() { ""a; } template <> const g i< int >::k { f}; }