Otherwise, if
T is a class or enumeration type and
auto(rend(t))
is a valid expression whose type models
sentinel_for<decltype(ranges::rbegin(E))>
with overload resolution performed in a context in which
unqualified lookup for
rend finds only the declarations
void rend(auto&) = delete;
void rend(const auto&) = delete;
then
ranges::rend(E) is expression-equivalent to
auto(rend(t))
with overload resolution performed in the above context
.