1 // PR c++/88123 2 // { dg-do compile { target c++14 } } 3 4 struct bar {}; 5 struct baz {}; 6 struct baq {}; 7 8 namespace foo 9 { 10 void operator+(bar); 11 } // namespace foo 12 13 namespace foo2 14 { 15 void operator-(baz); 16 } 17 fn()18auto fn() { 19 using foo::operator+; 20 using namespace foo2; 21 extern void operator!(baq); 22 return [](auto x, auto y, auto z) { +x; -y; !z; }; 23 } 24 main()25int main() 26 { 27 auto l = fn(); 28 l(bar(),baz(),baq()); 29 } 30