https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105541
--- Comment #1 from 康桓瑋 <hewillk at gmail dot com> --- (In reply to 康桓瑋 from comment #0) > template<class> > constexpr bool is_hello = false; > > template <typename T> > requires (!is_hello<T>) > class Hello; > > template <typename T> > requires (!is_hello<T>) > class Hello {}; > > static_assert(requires { []<Hello<int>>{}; }); > > https://godbolt.org/z/rTM5chYf3 > > GCC-11 rejects this valid syntax, and GCC-12 emits ICE. Sorry, GCC-11 compiles fine, this is a 12-regression.