Proposed resolution:
This wording is relative to N4910.
Modify [alg.rotate] as indicated:
template<forward_range R, weakly_incrementable O> requires indirectly_copyable<iterator_t<R>, O> constexpr ranges::rotate_copy_result<borrowed_iterator_t<R>, O> ranges::rotate_copy(R&& r, iterator_t<R> middle, O result);-11- Effects: Equivalent to:
return ranges::rotate_copy(ranges::begin(r), middle, ranges::end(r), std::move(result));