| 181 | } |
| 182 | |
| 183 | struct Foo { |
| 184 | int x; |
| 185 | Foo() : x(0) {} |
| 186 | explicit Foo(int x2) : x(x2) {} |
| 187 | Foo operator+(const Foo& rhs) const { |
| 188 | return Foo(x + rhs.x); |
| 189 | } |
| 190 | }; |
| 191 | |
| 192 | std::ostream& operator<<(std::ostream& os, const Foo& f) { |
| 193 | return os << "Foo{" << f.x << "}"; |