A move-as function that would perform a conversion when moving, possible implementation:template<typename T, typename U>constexpr T&& move_as(U&& u) noexcept{return static_cast<T&&>(static_cast<U&&>(u));}It would work on rvalue ref qualified conversionsTymi.