diff --git a/stl/inc/xutility b/stl/inc/xutility index b8a210a37ae..8839c6c2d12 100644 --- a/stl/inc/xutility +++ b/stl/inc/xutility @@ -3423,7 +3423,7 @@ namespace ranges { #endif // TRANSITION, LLVM-44833 { auto& _Self = _Cast(); - return _RANGES end(_Self) - _RANGES begin(_Self); + return _STD _To_unsigned_like(_RANGES end(_Self) - _RANGES begin(_Self)); } #ifdef __clang__ // TRANSITION, LLVM-44833 @@ -3437,7 +3437,7 @@ namespace ranges { #endif // TRANSITION, LLVM-44833 { auto& _Self = _Cast(); - return _RANGES end(_Self) - _RANGES begin(_Self); + return _STD _To_unsigned_like(_RANGES end(_Self) - _RANGES begin(_Self)); } #ifdef __clang__ // TRANSITION, LLVM-44833 diff --git a/tests/std/tests/P0896R4_ranges_range_machinery/test.cpp b/tests/std/tests/P0896R4_ranges_range_machinery/test.cpp index 7076deb301a..e38ca46461d 100644 --- a/tests/std/tests/P0896R4_ranges_range_machinery/test.cpp +++ b/tests/std/tests/P0896R4_ranges_range_machinery/test.cpp @@ -1711,7 +1711,6 @@ namespace exhaustive_size_and_view_test { using I = int*; using CI = int const*; - using D = std::ptrdiff_t; using S = std::size_t; using UC = unsigned char; @@ -1775,10 +1774,10 @@ namespace exhaustive_size_and_view_test { STATIC_ASSERT(test()); STATIC_ASSERT(test()); - STATIC_ASSERT(test()); - STATIC_ASSERT(test()); - STATIC_ASSERT(test()); - STATIC_ASSERT(test()); + STATIC_ASSERT(test()); + STATIC_ASSERT(test()); + STATIC_ASSERT(test()); + STATIC_ASSERT(test()); template constexpr bool strict_test_case() {