Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/g++.dg/cpp2a/concepts-requires20.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 // { dg-do compile { target c++2a } } | |
2 | |
3 template<typename ...> | |
4 constexpr bool r () { return true; } | |
5 | |
6 template<typename ... Ts> | |
7 requires r<Ts...>() // { dg-error "enclose" } | |
8 void f() { } | |
9 | |
10 template<typename T, T N> | |
11 requires ++N // { dg-error "enclose" } | |
12 void f() { } | |
13 | |
14 template<typename T, T N> | |
15 requires N++ // { dg-error "enclose" } | |
16 void f() { } | |
17 | |
18 template<typename T, T N> | |
19 requires N == 0 // { dg-error "enclose" } | |
20 void f() { } | |
21 | |
22 template<typename T, T N> | |
23 requires N ? true : false // { dg-error "enclose" } | |
24 void f() { } | |
25 | |
26 template<typename T, T N> | |
27 requires N = 0 // { dg-error "enclose" } | |
28 void f() { } | |
29 | |
30 template<typename T, T N> | |
31 requires N + 1 // { dg-error "enclose" } | |
32 void f() { } | |
33 | |
34 template<typename T, T N> | |
35 requires N - 1 // { dg-error "enclose" } | |
36 void f() { } | |
37 | |
38 template<typename T, T N> | |
39 requires N.x // { dg-error "enclose" } | |
40 void f() { } | |
41 | |
42 template<typename T, T N> | |
43 requires N->x && true // { dg-error "enclose" } | |
44 void f() { } | |
45 | |
46 template<typename T, T N> | |
47 requires N && N | |
48 void f() { } | |
49 | |
50 template<typename T, T N> | |
51 requires N || N | |
52 void f() { } | |
53 | |
54 template<typename T, T N> | |
55 requires N || !N // { dg-error "enclose" } | |
56 void f() { } | |
57 | |
58 template<typename T, T N> | |
59 requires N[0] // { dg-error "enclose" } | |
60 void f() { } | |
61 | |
62 template<typename T, T N> | |
63 requires static_cast<bool>(N) // { dg-error "enclose" } | |
64 void f() { } | |
65 |