// { 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); }