https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92541
Bug ID: 92541 Summary: ICE when concept requires contextual conversion to bool Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org Blocks: 67491 Target Milestone: --- template<typename T> struct A { static constexpr bool value = true; explicit operator bool() const { return value; } }; template<typename T> concept foo = A<T>() || A<T>(); static_assert(foo<int>); Compiled with -std=gnu++2a this crashes: concepts-ice.cc:11:15: error: concept satisfaction failed 11 | static_assert(foo<int>); | ^~~~~~~~ g++: internal compiler error: Segmentation fault signal terminated program cc1plus Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491 [Bug 67491] [meta-bug] concepts issues