Рассмотрим следующий код:
template<typename T> void foo(T&& some_struct)
{
    bar(std::forward</* what to put here? */>(some_struct.member));
}
 В случае пересылки всей структуры я бы сделал std::forward<T>(some_struct). Но как получить правильный тип при пересылке члена?
 У меня была идея использовать decltype(some_struct.member), но, похоже, это всегда приводит к базовому типу этого члена (как определено в определении структуры).
