| // PR c++/88123 | |
| // { dg-do compile { target c++14 } } | |
| struct bar {}; | |
| struct baz {}; | |
| struct baq {}; | |
| namespace foo | |
| { | |
| void operator+(bar); | |
| } // namespace foo | |
| namespace foo2 | |
| { | |
| void operator-(baz); | |
| } | |
| auto fn() { | |
| using foo::operator+; | |
| using namespace foo2; | |
| extern void operator!(baq); | |
| return [](auto x, auto y, auto z) { +x; -y; !z; }; | |
| } | |
| int main() | |
| { | |
| auto l = fn(); | |
| l(bar(),baz(),baq()); | |
| } |