// { dg-do compile } | |
// { dg-options "-std=c++2a -fcontracts" } | |
// Test for class members | |
template<typename T> | |
struct S | |
{ | |
S(T n) | |
[[post: true]] | |
: n(n) | |
{ } | |
T f1(T n) | |
[[pre: n >= 0]] | |
[[post r: r >= 0]] | |
[[post r: !(r < 0)]] | |
{ | |
return n; | |
} | |
T n; | |
}; | |
void driver() | |
{ | |
S<int> s1(0); | |
s1.f1(2); | |
} |