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