`cache_latest_view` can be freestanding, but this never comes up in the discussion, which seems to be an oversight.
This wording is relative to N5001.
Modify [version.syn] as indicated:
#define __cpp_lib_ranges_cache_latest 202411L // freestanding, also in <ranges>
Modify [ranges.syn] as indicated:
#include <compare> // see [compare.syn] #include <initializer_list> // see [initializer.list.syn] #include <iterator> // see [iterator.synopsis] namespace std::ranges { […] // [range.cache.latest], cache latest view template<input_range V> requires view<V> class cache_latest_view; // freestanding namespace views { inline constexpr unspecified cache_latest = unspecified; } // freestanding […] }