1 // PR c++/64085
2 // { dg-do compile { target c++14 } }
3 
4 template<typename T>
5 struct reference_wrapper
6 {
7   T& get() const noexcept;
8 };
9 
10 template<class T>
make_monad(reference_wrapper<T> arg)11 auto make_monad(reference_wrapper<T> arg) {
12   return [&captive = arg.get()](auto&&) { return 1; };
13 }
14 
main()15 int main()
16 {
17   make_monad(reference_wrapper<int&>());
18 }
19