This function can be compiled as is. auto works well here. But what would the explicit return type of such a function be?
auto rangeTest()
{
static const std::vector<int> vi{1,2,3,4,5,6,7,8,9,10};
auto rng = vi | ranges::view::remove_if([](int i){return i % 2 == 1;})
| ranges::view::transform([](int i){return std::to_string(i);});
return rng;
}