[libcxx-commits] [PATCH] D112462: [libc++][NFC] Mark LWG2731 as complete

Joe Loser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Oct 25 08:45:18 PDT 2021


jloser created this revision.
jloser added reviewers: ldionne, Quuxplusone, Mordante.
jloser requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

Mark LWG2731 as complete. The type alias `mutex_type` is only provided if
`scoped_lock` is given one mutex type and it has been implemented that
way since the beginning of Clang 5 it seems. There already are tests for
verifying existence (and lack thereof) for `mutex_type` type alias
depending on the number of mutex types, so there is nothing to
do for this LWG issue.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D112462

Files:
  libcxx/docs/Status/Cxx2bIssues.csv
  libcxx/include/mutex
  libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/types.pass.cpp


Index: libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/types.pass.cpp
===================================================================
--- libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/types.pass.cpp
+++ libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/types.pass.cpp
@@ -11,11 +11,11 @@
 
 // <mutex>
 
-// template <class Mutex...>
+// template <class... MutexTypes>
 // class scoped_lock
 // {
 // public:
-//     typedef Mutex mutex_type;  // only if sizeof...(Mutex) == 1
+//     typedef Mutex mutex_type;  // Only if sizeof...(MutexTypes) == 1
 //     ...
 // };
 
Index: libcxx/include/mutex
===================================================================
--- libcxx/include/mutex
+++ libcxx/include/mutex
@@ -112,7 +112,7 @@
 class scoped_lock // C++17
 {
 public:
-    using mutex_type = Mutex;  // If MutexTypes... consists of the single type Mutex
+    using mutex_type = Mutex;  // Only if sizeof...(MutexTypes) == 1
 
     explicit scoped_lock(MutexTypes&... m);
     scoped_lock(adopt_lock_t, MutexTypes&... m);
Index: libcxx/docs/Status/Cxx2bIssues.csv
===================================================================
--- libcxx/docs/Status/Cxx2bIssues.csv
+++ libcxx/docs/Status/Cxx2bIssues.csv
@@ -11,7 +11,7 @@
 "`3447 <https://wg21.link/LWG3447>`__","Deduction guides for ``take_view`` and ``drop_view`` have different constraints","November 2020","|Complete|","14.0"
 "`3450 <https://wg21.link/LWG3450>`__","The const overloads of ``take_while_view::begin/end`` are underconstrained","November 2020","","","|ranges|"
 "`3464 <https://wg21.link/LWG3464>`__","``istream::gcount()`` can overflow","November 2020","",""
-"`2731 <https://wg21.link/LWG2731>`__","Existence of ``lock_guard<MutexTypes...>::mutex_type`` typedef unclear","November 2020","",""
+"`2731 <https://wg21.link/LWG2731>`__","Existence of ``lock_guard<MutexTypes...>::mutex_type`` typedef unclear","November 2020","|Complete|","5.0"
 "`2743 <https://wg21.link/LWG2743>`__","P0083R3 ``node_handle`` private members missing ""exposition only"" comment","November 2020","",""
 "`2820 <https://wg21.link/LWG2820>`__","Clarify ``<cstdint>`` macros","November 2020","",""
 "`3120 <https://wg21.link/LWG3120>`__","Unclear behavior of ``monotonic_buffer_resource::release()``","November 2020","",""


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D112462.382014.patch
Type: text/x-patch
Size: 2345 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20211025/4b8a7c9b/attachment.bin>


More information about the libcxx-commits mailing list