https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105541
Bug ID: 105541 Summary: ICE: Segmentation fault when template lambda in requires-clause Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: hewillk at gmail dot com Target Milestone: --- 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.