Proposed resolution:
This wording is relative to n4944.
Modify [range.enumerate.iterator] as indicated:
[…]namespace std::ranges { template<view V> requires range-with-movable-references<V> template<bool Const> class enumerate_view<V>::iterator { […] public: […] friend constexpr difference_type operator-(const iterator& x, const iterator& y) noexcept; […] } […] }
friend constexpr difference_type operator-(const iterator& x, const iterator& y) noexcept;
-19- Effects: Equivalent to:
return x.pos_ - y.pos_;