1 // PR c++/73456
2 // { dg-do compile { target c++17_only } }
3 // { dg-options "-fconcepts" }
4 
5 template<typename...> struct list {};
6 
7 template<typename Seq>
8 concept bool Sequence = true;
9 
10 template<Sequence... Seqs> // requires (Sequence<Seqs> && ...)
11 struct zip;
12 
13 template<Sequence... Seqs>
14     requires requires { typename list<Seqs...>; } // && (Sequence<Seqs> && ...)
15 struct zip<Seqs...> {}; // { dg-error "does not specialize" }
16 // The constraints of the specialization and the sequence are not
17 // comparable; the specializations are unordered.
18 
19 int main()
20 {
21     zip<list<>, list<int>> {};
22 }
23