1 // { dg-do compile { target c++20 } }
2 
3 template<int M, int N>
4 concept equal = M == N;
5 
6 template<int M>
7 struct traits
8 {
9   template<int N> requires equal<M, N>
10     struct foo {};
11 
12   template<int N> requires equal<M, N> && (M >= 0) // { dg-bogus "not more constrained" }
13     struct foo<N> {};
14 };
15