Ну & это по сути требование именованной переменной ака чего-то живущего больше текущего выражения, и временный вектор не подходит
Но мой поинт был в другом: с помощью decltype тип возвращаемого значения может быть выведен по типам параметров неявно, и эта неявность приносит головную боль.
Лучше бы, чтобы это было явное типовое выражение, какое-нибудь U
, которое бы строилось на основании типов входящих значений в where
блоке или чём-то подобном, скажем:
where
U: r_value_ref<C<T>, index_of<T>>
А типовые выражения могли бы содержать статик касты, тайп-лямбды и библиотечные тайп-функции.