I don't think I need to see this again after you address my comments, and have green CI. Thanks!
Not needed since we don't use min/max.
Per our discussion just now, could you file a bug report against Clang to ask whether this is intended: https://godbolt.org/z/bs15aq466?
Why not [[no_unique_address]]?
Please comment // test with a non-common_range below, and // test with a common_range above. This applies elsewhere too - I'd like to be able to tell exactly what you're testing by just glancing at it - imagine I'm veeeery lazy.
Can we add a test with a random access range that is *not* a common range? We won't be caching in that case either.
As we just discussed, this test doesn't fail properly even if we remove the caching inside reverse_view, so that should be fixed.
Can you test the explicit-ness by doing
static_assert( std::is_constructible_v<...>); static_assert(!std::is_convertible_v<...>);
This looks like a copy-paste leftover from the tests for begin (quoting yourself). Let's remove.