Will it bar_become a sagging link after completing the Foo constructor?
Not really. He becomes a dangling link at the point where the temporary creature is Bar(1)destroyed: at the end of the full expression Foo foo(Bar(1)).
It also shows an example of using rvalue link elements, for example forward_as_tuple:
struct woof
{
using my_tuple = std::tuple<std::vector<int>, std::string>;
my_tuple m;
woof(my_tuple x) : m(std::move(x)) {}
};
std::vector<int> v{1,2,3,4,5};
woof w( forward_as_tuple(std::move(v), std::string{"hello world"}) );
forward_as_tuple rvalue (: tuple<vector<int>&&, string&&>), ctor woof v , std::string{"hello world"}.