Какое время жизни у переменной?
auto out = in;
Тип переменной `out` будет `std::forward_list`. [Пояснение 1], [Пояснение 2]
Поэтому `out ` будет локальной переменной и будет иметь локальное время жизни.
Исключением может быть только temporary lifetime extension. Тогда время жизни переменной продлится.The lifetime of a temporary object may be extended by binding to a const lvalue reference or to an rvalue reference (since C++11), see reference initialization for details.
Переменная и её значение - разные вещи. У переменной ограниченное время жизни, scope. Значением же можно пользоваться и дальше потому что значение будет скопировано, вызовется copy constructor. Возможны оптимизации, но суть такая.