[libcxx-commits] [libcxx] [libc++] Mark LWG3403 as "Nothing To Do" (PR #208866)

via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jul 10 19:01:32 PDT 2026


https://github.com/inquisitivecrystal created https://github.com/llvm/llvm-project/pull/208866

[LWG3403](https://wg21.link/LWG3403) specifies that `ranges::ssize` should work on non-range objects for which `ranges::size` is valid. This has been true in libc++ since 6f1b10d, which first implemented `ranges::ssize`. The tests introduced by that commit are sufficient to establish compliance:

```c++
struct SizeMember {
  constexpr std::size_t size() { return 42; }
};
...
assert(std::ranges::ssize(SizeMember()) == 42);
```

Resolves #104280.

>From c08648f59c2c19d781792f73fee0b4201be1fc31 Mon Sep 17 00:00:00 2001
From: inquisitivecrystal
 <22333129+inquisitivecrystal at users.noreply.github.com>
Date: Fri, 10 Jul 2026 18:30:33 -0700
Subject: [PATCH] Mark LWG3403 as "Nothing To Do"

This was implemented and tested when libc++ added ranges::ssize.
---
 libcxx/docs/Status/Cxx23Issues.csv | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libcxx/docs/Status/Cxx23Issues.csv b/libcxx/docs/Status/Cxx23Issues.csv
index d0616fb46681c..93c8c7ae28abf 100644
--- a/libcxx/docs/Status/Cxx23Issues.csv
+++ b/libcxx/docs/Status/Cxx23Issues.csv
@@ -19,7 +19,7 @@
 "`LWG3036 <https://wg21.link/LWG3036>`__","``polymorphic_allocator::destroy`` is extraneous","2020-11 (Virtual)","|Nothing To Do|","","`#104276 <https://github.com/llvm/llvm-project/issues/104276>`__","Reverted by P2875R4"
 "`LWG3171 <https://wg21.link/LWG3171>`__","LWG2989 breaks ``directory_entry`` stream insertion","2020-11 (Virtual)","|Complete|","14","`#104277 <https://github.com/llvm/llvm-project/issues/104277>`__",""
 "`LWG3306 <https://wg21.link/LWG3306>`__","``ranges::advance`` violates its preconditions","2020-11 (Virtual)","|Complete|","14","`#104279 <https://github.com/llvm/llvm-project/issues/104279>`__",""
-"`LWG3403 <https://wg21.link/LWG3403>`__","Domain of ``ranges::ssize(E)`` doesn't ``match ranges::size(E)``","2020-11 (Virtual)","","","`#104280 <https://github.com/llvm/llvm-project/issues/104280>`__",""
+"`LWG3403 <https://wg21.link/LWG3403>`__","Domain of ``ranges::ssize(E)`` doesn't ``match ranges::size(E)``","2020-11 (Virtual)","|Nothing To Do|","","`#104280 <https://github.com/llvm/llvm-project/issues/104280>`__",""
 "`LWG3404 <https://wg21.link/LWG3404>`__","Finish removing subrange's conversions from pair-like","2020-11 (Virtual)","|Complete|","13","`#104282 <https://github.com/llvm/llvm-project/issues/104282>`__",""
 "`LWG3405 <https://wg21.link/LWG3405>`__","``common_view``'s converting constructor is bad, too","2020-11 (Virtual)","|Complete|","14","`#104283 <https://github.com/llvm/llvm-project/issues/104283>`__",""
 "`LWG3406 <https://wg21.link/LWG3406>`__","``elements_view::begin()`` and ``elements_view::end()`` have incompatible constraints","2020-11 (Virtual)","|Complete|","16","`#104284 <https://github.com/llvm/llvm-project/issues/104284>`__",""



More information about the libcxx-commits mailing list