decltype(auto)