blob: 292ce20ee73ce4580de16884041236a7d0a17687 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
// { dg-do compile { target c++20 } }
// Test basic expression requirements
// req13.C
template<class T, class...Args>
concept Constructible =
requires(Args&&...args) {
T {((Args&&)(args))...};
new T{((Args&&)(args))...};
};
template<typename T>
requires Constructible<T>
struct A { };
A<int> a;
// req19.C
struct B
{
template <class T>
void f(T t) requires requires (T tt) { tt; }
{ }
};
int main()
{
B().f(42);
}
|