| // { dg-do compile { target c++17 } } | |
| // Don't add built-in operator for ++ on bool. | |
| template<typename T> | |
| struct S { operator T&(); }; | |
| template<int> void | |
| foo (S<bool>& s) | |
| { | |
| --s; // { dg-error "no match for" } | |
| ++s; // { dg-error "no match for" } | |
| s++; // { dg-error "declared for postfix" } | |
| s--; // { dg-error "declared for postfix" } | |
| } | |
| void | |
| bar () | |
| { | |
| S<bool> s; | |
| foo<0> (s); | |
| } |