Annex G (informative) Ill-formed, no diagnostic required [ifndr]

G.10 [temp]: Templates [ifndr.temp]

G.10.3[ifndr:temp.constr.atomic.equiv.but.not.equiv]
Specified in: [temp.constr.atomic]

If the validity or meaning of the program depends on whether two atomic constraints are equivalent, and they are functionally equivalent but not equivalent, the program is ill-formed, no diagnostic required.
[Example 1: template <int N> concept Add1 = true; template <unsigned N> void f2() requires Add1<2 * N>; template <unsigned N> int f2() requires Add1<N * 2> && true; void h2() { f2<0>(); // IFNDR, requires determination of subsumption between atomic constraints // that are functionally equivalent but not equivalent } — end example]