https://github.com/hsutter/cppfront/blob/2f37277d3d4844ef5a904213409ac4c657f6a858/include/cpp2util.h#L719 Its not equal to decltype(auto). If returns by value, then auto&& generates dangling rvalue reference, while decltype(auto) returns by value as needed https://godbolt.org/z/7Gfr5fb1d ```C++ template< typename C, typename X > requires std::is_same_v<C, X> auto as( X const& x ) -> auto&& { return 5; } int main() { static_assert(std::is_same_v<decltype(as<int>(5)), int&&>); } ```