ЯННП.
1. Функция -> T может вернуть либо объект типа T, либо не вернуть ничего (вернуть !).
2. По условию второй вариант недоступен.
3. Значение в Rust можно получить двумя способами — либо сконструировать, перечислив все поля, либо получить из функции. Первый недоступен для дженериков. У нас нет никакой функции, которая возвращает T, так что второй способ тоже недоступен. Более того, у нас даже нет гарантии, что T вообще можно сконструировать.