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