Suppose I have two structs:
struct
struct X {}; struct Y { X x; }
I have functions:
void f(X&); void f(X&&
template void g(T&& t) { f(std::forward(t).x); }