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