The name crbegin denotes a customization point object ([customization.point.object]). The expression ranges::crbegin(E) for some subexpression E of type T is expression-equivalent to ranges::rbegin(static_cast<const T&>(E)).
Use of ranges::crbegin(E) with rvalue E is deprecated. [ Note: This deprecated usage exists so that ranges::crbegin(E) behaves similarly to std::crbegin(E) as defined in ISO/IEC 14882 when E is an rvalue. — end note ]
[ Note: Whenever ranges::crbegin(E) is a valid expression, its type satisfies Iterator. — end note ]