2 // { dg-do compile { target c++14 } }
3 // { dg-options "-Wdangling-reference" }
4 // { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
9 template<class M, class T, class A> auto bind(M T::* pm, A)
11 return [=]( auto&& x ) -> M const& { return x.*pm; };
14 template<int I> struct arg {};
20 std::pair<int, int> pair;
21 int const& x = bind( &std::pair<int, int>::first, _1 )( pair ); // { dg-bogus "dangling reference" }
22 assert( &x == &pair.first );