https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94126
Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Target Milestone|--- |10.0 Status|UNCONFIRMED |RESOLVED --- Comment #1 from Patrick Palka <ppalka at gcc dot gnu.org> --- With current trunk and -fconcepts-diagnostics-depth=2, we now get: disj.cc:13:15: error: static assertion failed 13 | static_assert(E<int>); | ^~~~~~ disj.cc:13:15: note: constraints not satisfied disj.cc:8:11: required for the satisfaction of ‘D<typename T::type>’ [with T = int] disj.cc:8:20: note: no operand of the disjunction is satisfied 8 | concept D = C<T> || C<const T>; | ~~~~~^~~~~~~~~~~~~ disj.cc:8:15: note: the operand ‘C<T>’ is unsatisfied because 8 | concept D = C<T> || C<const T>; | ^~~~~~~~~~~~~~~~~~ disj.cc:5:11: required for the satisfaction of ‘C<T>’ [with T = typename T::type] disj.cc:8:11: required for the satisfaction of ‘D<typename T::type>’ [with T = int] disj.cc:13:15: error: ‘int’ is not a class, struct, or union type 13 | static_assert(E<int>); | ^~~~~~ disj.cc:8:23: note: the operand ‘C<const T>’ is unsatisfied because 8 | concept D = C<T> || C<const T>; | ~~~~~~~~^~~~~~~~~~ disj.cc:5:11: required for the satisfaction of ‘C<const T>’ [with T = typename T::type] disj.cc:8:11: required for the satisfaction of ‘D<typename T::type>’ [with T = int] disj.cc:13:15: error: ‘int’ is not a class, struct, or union type 13 | static_assert(E<int>); | ^~~~~~ So I'm considering this fixed.