blob: c9e7b9cec8bf0112f2d4dc846983327c7a2e0e2d [file] [log] [blame]
// { dg-do compile }
// { dg-options "-std=c++2a -fcontracts" }
template<typename T>
[[z]]
[[nodiscard]]
T fun(T n)
[[ pre: n > 0 ]]
[[ post r: r > 0 ]] // { dg-warning ".z. attribute.*ignored" }
{
return n;
}
int main(int, char**) {
fun(-5); // { dg-warning "ignoring return value" }
fun(-5.3); // { dg-warning "ignoring return value" }
return 0;
}