comparison gcc/testsuite/g++.dg/concepts/variadic4.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
1 // PR c++/73456 1 // PR c++/73456
2 // { dg-do compile { target c++17 } } 2 // { dg-do compile { target c++17_only } }
3 // { dg-options "-fconcepts" } 3 // { dg-options "-fconcepts" }
4 4
5 template<typename...> struct list {}; 5 template<typename...> struct list {};
6 6
7 template<typename Seq> 7 template<typename Seq>
8 concept bool Sequence = true; 8 concept bool Sequence = true;
9 9
10 template<Sequence... Seqs> 10 template<Sequence... Seqs> // requires (Sequence<Seqs> && ...)
11 struct zip; 11 struct zip;
12 12
13 template<Sequence... Seqs> 13 template<Sequence... Seqs>
14 requires requires { typename list<Seqs...>; } 14 requires requires { typename list<Seqs...>; } // && (Sequence<Seqs> && ...)
15 // main.cpp:12:8: internal compiler error: in non_atomic_constraint_p, at cp/logic.cc:315 15 struct zip<Seqs...> {}; // { dg-error "does not specialize" }
16 struct zip<Seqs...> {}; 16 // The constraints of the specialization and the sequence are not
17 // comparable; the specializations are unordered.
17 18
18 int main() 19 int main()
19 { 20 {
20 zip<list<>, list<int>> {}; 21 zip<list<>, list<int>> {};
21 } 22 }