If the `data` member function is different enough, `ranges::data` won't pick it, so the range remains a contiguous_range.
Differential Revision: https://reviews.llvm.org/D104262