diff --git a/issue4057.html b/issue4057.html index 94b0237ad3..c1a1041ea9 100644 --- a/issue4057.html +++ b/issue4057.html @@ -64,7 +64,7 @@
This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.
generator::iterator
's operator*
is not noexcept
when it can beSection: 26.8.6 [coro.generator.iterator] Status: New - Submitter: S. B. Tam Opened: 2024-03-01 Last modified: 2024-06-24
+ Submitter: S. B. Tam Opened: 2024-03-01 Last modified: 2024-09-17Priority: 3
View other active issues in [coro.generator.iterator].
@@ -78,16 +78,16 @@generator::iterator
noexcept(is_nothrow_copy_constructible_v<reference>)
-When reference
is an rvalue reference type, is_nothrow_copy_constructible_v<reference>
-is false
(because reference
is not copy constructible), which means operator*
+When reference
is an rvalue reference type, is_nothrow_copy_constructible_v<reference>
+is false
(because reference
is not copy constructible), which means operator*
is not noexcept
.
-However, operator*
doesn't perform any potentially-throwing operation in this case. It's effect is
-equivalent to return static_cast<reference>(*p.value_);
(where the type of p.value_
-is effectively add_pointer_t<reference>
). Neither the dereference nor the cast to rvalue
+However, operator*
doesn't perform any potentially-throwing operation in this case. It's effect is
+equivalent to return static_cast<reference>(*p.value_);
(where the type of p.value_
+is effectively add_pointer_t<reference>
). Neither the dereference nor the cast to rvalue
reference can throw an exception.
-I think the expression inside the noexcept-specifier should be changed to
+I think the expression inside the noexcept-specifier should be changed to
noexcept(static_cast<reference>(*p.value_))
.
@@ -99,9 +99,45 @@ 4057. generator::iterator
"Maybe add is_reference_v<reference> || ...
"
+[2024-09-16; Casey provides wording]
+
+
+In the prioritization thread, LWG discussed a couple of alternatives without much enthusiasm. One
+of the alternatives was to simply remove the noexcept-specifier, which seems to be the most
+efficient use of LWG's time.
+
+
Proposed resolution:
+
+This wording is relative to N4988.
+
+
+
+Modify 26.8.6 [coro.generator.iterator] as indicated:
+
+
+namespace std {
+ template<class Ref, class Val, class Allocator>
+ class generator<Ref, Val, Allocator>::iterator {
+ […]
+ reference operator*() const noexcept(is_nothrow_copy_constructible_v<reference>);
+ […]
+ };
+}
+
+[…]
+-3- Returns: *this
.
+
+reference operator*() const noexcept(is_nothrow_copy_constructible_v<reference>l);
+
+-4- Preconditions: For some generator object x
, coroutine_
is in *x.active_
and
+x.active_->top()
refers to a suspended coroutine with promise object p
.
+
+
+
+
diff --git a/lwg-active.html b/lwg-active.html
index 9f1369ada4..59b5c8740c 100644
--- a/lwg-active.html
+++ b/lwg-active.html
@@ -79,7 +79,7 @@
C++ Standard Library Active Issues List (Revision D125)
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Reference ISO/IEC IS 14882:2020(E)
Also see:
@@ -59817,7 +59817,7 @@ 40554057(i). generator::iterator
's operator*
is not noexcept
when it can be
Section: 26.8.6 [coro.generator.iterator] Status: New
- Submitter: S. B. Tam Opened: 2024-03-01 Last modified: 2024-06-24
+ Submitter: S. B. Tam Opened: 2024-03-01 Last modified: 2024-09-17
Priority: 3
View other active issues in [coro.generator.iterator].
@@ -59831,16 +59831,16 @@ 40574057is_reference_v<reference> || ...
"
+
[2024-09-16; Casey provides wording]
+
+
+In the prioritization thread, LWG discussed a couple of alternatives without much enthusiasm. One
+of the alternatives was to simply remove the noexcept-specifier, which seems to be the most
+efficient use of LWG's time.
+
+
Proposed resolution:
+
+This wording is relative to N4988.
+
+
+
+Modify 26.8.6 [coro.generator.iterator] as indicated:
+
+
+namespace std {
+ template<class Ref, class Val, class Allocator>
+ class generator<Ref, Val, Allocator>::iterator {
+ […]
+ reference operator*() const noexcept(is_nothrow_copy_constructible_v<reference>);
+ […]
+ };
+}
+
+[…]
+-3- Returns: *this
.
+
+reference operator*() const noexcept(is_nothrow_copy_constructible_v<reference>l);
+
+-4- Preconditions: For some generator object x
, coroutine_
is in *x.active_
and
+x.active_->top()
refers to a suspended coroutine with promise object p
.
+
+
+
+
diff --git a/lwg-closed.html b/lwg-closed.html
index c428febaac..d494d397cf 100644
--- a/lwg-closed.html
+++ b/lwg-closed.html
@@ -79,7 +79,7 @@
C++ Standard Library Closed Issues List (Revision D125)
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Reference ISO/IEC IS 14882:2020(E)
Also see:
diff --git a/lwg-defects.html b/lwg-defects.html
index 901cfa432c..5e4ee35798 100644
--- a/lwg-defects.html
+++ b/lwg-defects.html
@@ -79,7 +79,7 @@
C++ Standard Library Defect Reports and Accepted Issues (Revision D125)
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Reference ISO/IEC IS 14882:2020(E)
Also see:
diff --git a/lwg-immediate.html b/lwg-immediate.html
index d1dd4e2c67..ff764eee34 100644
--- a/lwg-immediate.html
+++ b/lwg-immediate.html
@@ -62,7 +62,7 @@ C++ Standard Library Issues Resolved Directly In [INSERT CURRENT MEETING HER
Date:
-Revised 2024-09-17 at 10:17:21 UTC
+ Revised 2024-09-17 at 14:18:40 UTC
diff --git a/lwg-index-open.html b/lwg-index-open.html
index 7cf5467c28..04b9e12bf3 100644
--- a/lwg-index-open.html
+++ b/lwg-index-open.html
@@ -66,7 +66,7 @@ Index by Section
This document is the Index by Section for the Library Active Issues List.
Index by Section (non-Ready active issues only)
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Section 3 (2 issues)
@@ -3637,21 +3637,21 @@ Section 26 (61 issues)
-4117(i)
+4057(i)
New
26.8.6 [coro.generator.iterator]
-generator::iterator
should provide iterator_concept
+generator::iterator
's operator*
is not noexcept
when it can be
Yes
-4
+3
-4057(i)
+4117(i)
New
26.8.6 [coro.generator.iterator]
-generator::iterator
's operator*
is not noexcept
when it can be
-No
-3
+generator::iterator
should provide iterator_concept
+Yes
+4
diff --git a/lwg-index.html b/lwg-index.html
index 0a82311852..3bd30b7c2a 100644
--- a/lwg-index.html
+++ b/lwg-index.html
@@ -66,7 +66,7 @@ Index by Section
This document is the Index by Section for the Library Active Issues List, Library Defect Reports and Accepted Issues, and Library Closed Issues List.
Index by Section
(view only non-Ready open issues)
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Section 2 (2 issues)
@@ -19422,21 +19422,21 @@ Section 26 (228 issues)
-4117(i)
+4057(i)
New
26.8.6 [coro.generator.iterator]
-generator::iterator
should provide iterator_concept
+generator::iterator
's operator*
is not noexcept
when it can be
Yes
-4
+3
-4057(i)
+4117(i)
New
26.8.6 [coro.generator.iterator]
-generator::iterator
's operator*
is not noexcept
when it can be
-No
-3
+generator::iterator
should provide iterator_concept
+Yes
+4
diff --git a/lwg-ready.html b/lwg-ready.html
index 1a7e6b1aac..4a9e08eea6 100644
--- a/lwg-ready.html
+++ b/lwg-ready.html
@@ -62,7 +62,7 @@ C++ Standard Library Issues to be moved in [INSERT CURRENT MEETING HERE]
Date:
-Revised 2024-09-17 at 10:17:21 UTC
+ Revised 2024-09-17 at 14:18:40 UTC
diff --git a/lwg-status-date.html b/lwg-status-date.html
index a6a4799a61..0a2113711b 100644
--- a/lwg-status-date.html
+++ b/lwg-status-date.html
@@ -67,7 +67,7 @@ Index by Status and Date
This document is the Index by Status and Date for the Library Active Issues List,
Library Defect Reports and Accepted Issues, and Library Closed Issues List.
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Ready (11 issues)
@@ -345,6 +345,15 @@ New (436 issues)
Duplicates
+4057(i)
+New
+26.8.6 [coro.generator.iterator]
+generator::iterator
's operator*
is not noexcept
when it can be
+Yes
+3
+
+
+
4152(i)
New
23.2.2 [char.traits.require]
@@ -880,15 +889,6 @@ New (436 issues)
-4057(i)
-New
-26.8.6 [coro.generator.iterator]
-generator::iterator
's operator*
is not noexcept
when it can be
-No
-3
-
-
-
4093(i)
New
27.6.18 [alg.fold]
diff --git a/lwg-status.html b/lwg-status.html
index b0e8698d59..dc90a8c3b1 100644
--- a/lwg-status.html
+++ b/lwg-status.html
@@ -62,7 +62,7 @@ Index by Status and Section
Library Defect Reports and Accepted Issues, and Library Closed Issues List.
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Ready (11 issues)
@@ -3002,21 +3002,21 @@ New (436 issues)
-4117(i)
+4057(i)
New
26.8.6 [coro.generator.iterator]
-generator::iterator
should provide iterator_concept
+generator::iterator
's operator*
is not noexcept
when it can be
Yes
-4
+3
-4057(i)
+4117(i)
New
26.8.6 [coro.generator.iterator]
-generator::iterator
's operator*
is not noexcept
when it can be
-No
-3
+generator::iterator
should provide iterator_concept
+Yes
+4
diff --git a/lwg-tentative.html b/lwg-tentative.html
index 90593e9e96..dc686f5d9d 100644
--- a/lwg-tentative.html
+++ b/lwg-tentative.html
@@ -54,7 +54,7 @@
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Tentative Issues
3908(i). enumerate_view::iterator
constructor is explicit
diff --git a/lwg-toc.html b/lwg-toc.html
index a4fef73dad..08ebcc05c5 100644
--- a/lwg-toc.html
+++ b/lwg-toc.html
@@ -59,7 +59,7 @@ Table of Contents
Reference ISO/IEC IS 14882:2020(E)
This document is the Table of Contents for the Library Active Issues List,
Library Defect Reports and Accepted Issues, and Library Closed Issues List.
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Issue
@@ -32462,7 +32462,7 @@ Table of Contents
New
26.8.6 [coro.generator.iterator]
generator::iterator
's operator*
is not noexcept
when it can be
-No
+Yes
3
diff --git a/lwg-unresolved.html b/lwg-unresolved.html
index 7dfcbfe8f4..5189e85eff 100644
--- a/lwg-unresolved.html
+++ b/lwg-unresolved.html
@@ -54,7 +54,7 @@
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Unresolved Issues
423(i). Effects of negative streamsize
in iostreams
@@ -55880,7 +55880,7 @@ 40554057(i). generator::iterator
's operator*
is not noexcept
when it can be
Section: 26.8.6 [coro.generator.iterator] Status: New
- Submitter: S. B. Tam Opened: 2024-03-01 Last modified: 2024-06-24
+ Submitter: S. B. Tam Opened: 2024-03-01 Last modified: 2024-09-17
Priority: 3
View other active issues in [coro.generator.iterator].
@@ -55894,16 +55894,16 @@ 40574057is_reference_v<reference> || ..."
+[2024-09-16; Casey provides wording]
+
+
+In the prioritization thread, LWG discussed a couple of alternatives without much enthusiasm. One
+of the alternatives was to simply remove the noexcept-specifier, which seems to be the most
+efficient use of LWG's time.
+
+
Proposed resolution:
+
+This wording is relative to N4988.
+
+
+
+Modify 26.8.6 [coro.generator.iterator] as indicated:
+
+
+namespace std {
+ template<class Ref, class Val, class Allocator>
+ class generator<Ref, Val, Allocator>::iterator {
+ […]
+ reference operator*() const noexcept(is_nothrow_copy_constructible_v<reference>);
+ […]
+ };
+}
+
+[…]
+-3- Returns: *this
.
+
+reference operator*() const noexcept(is_nothrow_copy_constructible_v<reference>l);
+
+-4- Preconditions: For some generator object x
, coroutine_
is in *x.active_
and
+x.active_->top()
refers to a suspended coroutine with promise object p
.
+
+
+
+
diff --git a/unresolved-index.html b/unresolved-index.html
index b6cac288bc..758b102ef6 100644
--- a/unresolved-index.html
+++ b/unresolved-index.html
@@ -66,7 +66,7 @@ Index by Section
This document is the Index by Section for the Library Active Issues List, Library Defect Reports and Accepted Issues, and Library Closed Issues List.
Index by Section
(view only non-Ready open issues)
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Section 3 (2 issues)
@@ -3545,21 +3545,21 @@ Section 26 (54 issues)
-4117(i)
+4057(i)
New
26.8.6 [coro.generator.iterator]
-generator::iterator
should provide iterator_concept
+generator::iterator
's operator*
is not noexcept
when it can be
Yes
-4
+3
-4057(i)
+4117(i)
New
26.8.6 [coro.generator.iterator]
-generator::iterator
's operator*
is not noexcept
when it can be
-No
-3
+generator::iterator
should provide iterator_concept
+Yes
+4
diff --git a/unresolved-prioritized.html b/unresolved-prioritized.html
index 4cb09b60bb..76479d5d2e 100644
--- a/unresolved-prioritized.html
+++ b/unresolved-prioritized.html
@@ -60,7 +60,7 @@ Table of Contents
This document is the Table of Contents for the Library Active Issues List,
Library Defect Reports and Accepted Issues, and Library Closed Issues List,
sorted by priority.
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Priority 1 (2 issues)
@@ -2826,7 +2826,7 @@ Priority 3 (375 issues)
New
26.8.6 [coro.generator.iterator]
generator::iterator
's operator*
is not noexcept
when it can be
-No
+Yes
3
@@ -3276,19 +3276,19 @@ Priority 3 (375 issues)
-2702(i)
+2703(i)
New
30.4.3.3.3 [facet.num.put.virtuals]
-num_put::do_put(..., bool)
performs ill-formed do_put
call
+No provision for fill-padding when boolalpha
is set
No
3
-2703(i)
+2702(i)
New
30.4.3.3.3 [facet.num.put.virtuals]
-No provision for fill-padding when boolalpha
is set
+num_put::do_put(..., bool)
performs ill-formed do_put
call
No
3
diff --git a/unresolved-status-date.html b/unresolved-status-date.html
index 12cc792c81..6901898ed8 100644
--- a/unresolved-status-date.html
+++ b/unresolved-status-date.html
@@ -67,7 +67,7 @@ Index by Status and Date
This document is the Index by Status and Date for the Library Active Issues List,
Library Defect Reports and Accepted Issues, and Library Closed Issues List.
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
New (436 issues)
@@ -80,6 +80,15 @@ Index by Status and Date
Duplicates
+4057(i)
+New
+26.8.6 [coro.generator.iterator]
+generator::iterator
's operator*
is not noexcept
when it can be
+Yes
+3
+
+
+
4152(i)
New
23.2.2 [char.traits.require]
@@ -615,15 +624,6 @@ Index by Status and Date
-4057(i)
-New
-26.8.6 [coro.generator.iterator]
-generator::iterator
's operator*
is not noexcept
when it can be
-No
-3
-
-
-
4093(i)
New
27.6.18 [alg.fold]
diff --git a/unresolved-status.html b/unresolved-status.html
index 493c0c8b04..a64f180d2d 100644
--- a/unresolved-status.html
+++ b/unresolved-status.html
@@ -62,7 +62,7 @@ Index by Status and Section
Library Defect Reports and Accepted Issues, and Library Closed Issues List.
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
New (436 issues)
@@ -2737,21 +2737,21 @@ Index by Status and Section
-4117(i)
+4057(i)
New
26.8.6 [coro.generator.iterator]
-generator::iterator
should provide iterator_concept
+generator::iterator
's operator*
is not noexcept
when it can be
Yes
-4
+3
-4057(i)
+4117(i)
New
26.8.6 [coro.generator.iterator]
-generator::iterator
's operator*
is not noexcept
when it can be
-No
-3
+generator::iterator
should provide iterator_concept
+Yes
+4
diff --git a/unresolved-toc.html b/unresolved-toc.html
index 78085944f8..17159f6f98 100644
--- a/unresolved-toc.html
+++ b/unresolved-toc.html
@@ -59,7 +59,7 @@ Table of Contents
Reference ISO/IEC IS 14882:2020(E)
This document is the Table of Contents for the Library Active Issues List,
Library Defect Reports and Accepted Issues, and Library Closed Issues List.
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Issue
@@ -4490,7 +4490,7 @@ Table of Contents
New
26.8.6 [coro.generator.iterator]
generator::iterator
's operator*
is not noexcept
when it can be
-No
+Yes
3
diff --git a/votable-index.html b/votable-index.html
index 25de6d16b1..f456fef9ae 100644
--- a/votable-index.html
+++ b/votable-index.html
@@ -66,7 +66,7 @@ Index by Section
This document is the Index by Section for the Library Active Issues List, Library Defect Reports and Accepted Issues, and Library Closed Issues List.
Index by Section
(view only non-Ready open issues)
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Section 17 (1 issues)
(view only non-Ready open issues)
diff --git a/votable-status-date.html b/votable-status-date.html
index 00480caf02..d92ec97620 100644
--- a/votable-status-date.html
+++ b/votable-status-date.html
@@ -67,7 +67,7 @@ Index by Status and Date
This document is the Index by Status and Date for the Library Active Issues List,
Library Defect Reports and Accepted Issues, and Library Closed Issues List.
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Ready (11 issues)
diff --git a/votable-status.html b/votable-status.html
index 55859afafd..4bebacaf6b 100644
--- a/votable-status.html
+++ b/votable-status.html
@@ -62,7 +62,7 @@ Index by Status and Section
Library Defect Reports and Accepted Issues, and Library Closed Issues List.
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Ready (11 issues)
diff --git a/votable-toc.html b/votable-toc.html
index d85831dfeb..8103c69b43 100644
--- a/votable-toc.html
+++ b/votable-toc.html
@@ -59,7 +59,7 @@ Table of Contents
Reference ISO/IEC IS 14882:2020(E)
This document is the Table of Contents for the Library Active Issues List,
Library Defect Reports and Accepted Issues, and Library Closed Issues List.
-Revised 2024-09-17 at 10:17:21 UTC
+
Revised 2024-09-17 at 14:18:40 UTC
Issue