https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86958
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- I don't see the ICE: $ ./cc1plus -quiet 86958.C 86958.C:16:38: error: type/value mismatch at argument 1 in template parameter list for ‘template<class> template<bool <anonymous> > struct Outer< <template-parameter-1-1> >::Inner’ 16 | static_assert(Outer<bool>::Inner<bool>::value == sizeof(bool)); // OK | ^ 86958.C:16:38: note: expected a constant of type ‘bool’, got ‘bool’ 86958.C:17:38: error: type/value mismatch at argument 1 in template parameter list for ‘template<class> template<bool x> using Alias = Outer< <template-parameter-1-1> >::Inner<x>’ 17 | static_assert(Outer<bool>::Alias<bool>::value == sizeof(bool)); // error | ^ 86958.C:17:38: note: expected a constant of type ‘bool’, got ‘bool’