prog.cpp: In instantiation of 'Foo<T>::Foo(T&&) [with T = Bar]':
prog.cpp:21:25: required from here
prog.cpp:8:29: error: use of deleted function 'Bar::Bar(Bar&&)'
Foo(T&& t) : t(std::move(t)) { }
^
prog.cpp:16:2: note: declared here
Bar(Bar&&) = delete;
^