Otherwise, if
T is a class or enumeration type and
decay-copy(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
decay-copy(rend(t))
with overload resolution performed in the above context
.