Date: 2022-12-18
+ +Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
Email: cxxeditor@gmail.com
Thanks to all those who have submitted editorial +issues +and to those who have provided pull requests with fixes. +Thank you also to Dan Raviv and Robert Leahy for drafting motion applications, +and special thanks to Johel Ernesto Guerrero Peña for providing in-depth review +of many of the draft motion applications.
+ +N4919 is the C++23 Committee Draft. It received 137 comments from national bodies. +The working group's responses to the issues so far is noted below.
+ +The following 11 national body comments are editorial in nature, and fixes for +them have been applied.
+ +span
and mdspan
.CWG poll 1: Accept as Defect Reports all issues except 2635 and 2602 in P2709R0 (Core Language Working Group "ready" Issues for the November, 2022 meeting) and apply their proposed resolutions to the C++ Working Paper.
+ +CWG poll 2: Accept as a Defect Report issue 2635 (Constrained structured bindings) in P2709R0 (Core Language Working Group "ready" Issues for the November, 2022 meeting) and apply its proposed resolution to the C++ Working Paper.
+ +CWG poll 3: Accept as Defect Reports all issues except 2615, 2639, 2640, 2652, 2653, 2654, and 2538 in P2710R0 (Core Language Working Group NB comment resolutions for the November, 2022 meeting) and apply their proposed resolution to the C++ Working Paper, resolving the NB comments as indicated.
+ +CWG poll 4: Apply the proposed resolutions of issues 2615, 2639, 2640, 2652, and 2653 in P2710R0 (Core Language Working Group NB comment resolutions for the November, 2022 meeting) to the C++ Working Paper, resolving the NB comments as indicated.
+ +CWG poll 5: Accept as a Defect Report issue 2654 (Un-deprecation of compound volatile assignments) in P2710R0 (Core Language Working Group NB comment resolutions for the November, 2022 meeting) and apply its proposed resolution to the C++ Working Paper, resolving NB comment US 16-045.
+ +CWG poll 6: Accept as a Defect Report issue 2538 (Can standard attributes be syntactically ignored?) in P2710R0 (Core Language Working Group NB comment resolutions for the November, 2022 meeting) and apply its proposed resolution to the C++ Working Paper, resolving NB comment GB-055.
+ +CWG poll 7: Apply the changes in P2589R1 (static operator[]
) to the C++ Working Paper, resolving NB comment CA-065.
CWG poll 8: Accept as a Defect Report and apply the changes in P2647R1 (Permitting static constexpr variables in constexpr functions) to the C++ Working Paper, resolving NB comment GB-048.
+ +CWG poll 9: Accept as a Defect Report and apply the changes in P2564R3 (consteval
needs to propagate up) to the C++ Working Paper, resolving NB comment DE-046.
CWG poll 10: Accept as a Defect Report and apply the changes in P2706R0 (Redundant specification for defaulted functions) to the C++ Working Paper, resolving NB comment US 26-061.
+ +CWG poll 11: Accept as a Defect Report and apply the changes in P2615R1 (Meaningful exports) to the C++ Working Paper, resolving NB comment GB-059.
+ +CWG poll 12: Apply the changes in P2718R0 (Wording for P2644R1 Fix for Range-based for
Loop) to the C++ Working Paper, resolving NB comment DE-038.
Polls 1–6 do not concern the C++ Working Paper.
+ +LWG poll 7: Apply the changes for all Ready and Tentatively Ready issues in P2703R0 (C++ Standard Library Ready Issues to be moved in Kona, Nov. 2022) to the C++ working paper.
+ +LWG poll 8: Apply the changes for all Immediate issues in P2704R0 (C++ Standard Library Immediate Issues to be moved in Kona, Nov. 2022) to the C++ working paper.
+ +LWG poll 9: Apply the changes in P2602R2 (Poison Pills are Too Toxic) to the C++ working paper. This addresses ballot comment US 49-111.
+ +LWG poll 10: Apply the changes in P2167R3 (Improved Proposed Wording for LWG 2114 (contextually convertible to bool
)) to the C++ working paper. This addresses ballot comment US 32-073.
LWG poll 11: Apply the changes in P2539R4 (Should the output of std::print
to a terminal be synchronized with the underlying stream?) to the C++ working paper. This addresses ballot comment US 58-123 (and duplicates US 59-124 and FR-001-019).
LWG poll 12: Apply the changes in P1264R2 (Revising the wording of stream input operations) to the C++ working paper. This partially addresses ballot comment FR-018-004.
+ +LWG poll 13: Apply the changes in P2505R5 (Monadic Functions for std::expected
) to the C++ working paper. This addresses ballot comments GB-093, US 36-091, US 35-092, and FR-011-009.
LWG poll 14: Apply the changes in P2696R0 (Introduce Cpp17Swappable as additional convenience requirements) to the C++ working paper.
+ +<cstdint>
) and the new "extended floating-point
+types" (<stdfloat>
). Previously, the newly added <stdfloat>
synopsis
+was somewhat disconnected and out of context.A log of editorial fixes made to the working draft since N4917 is below. This +list excludes changes that do not affect the body text or only affect whitespace +or typeface. For a complete list including such changes (or for the actual +deltas applied by these changes), consult the draft sources on +github.
+ +commit 7772de4408db8122431169156ea230803cb6bf56
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Sep 6 19:47:21 2022 +0100
+
+ [headers] Reflow table after header additions
+
+commit 3231e8115e93a24806694c36f1eb2d709fe78f4f
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sun Jun 12 15:49:22 2022 +0200
+
+ [basic.align] Recommend alignment-specifier instead of deprecated library facility
+
+commit 37d46b0d41d014febacd9ffe684eb0cf11a5c364
+Author: Chuanqi Xu <yedeng.yd@linux.alibaba.com>
+Date: Tue Jun 7 16:19:08 2022 +0800
+
+ [module.reach] Remove redundant module implementation unit declaration
+
+commit 4e2297b8d2543062edf347ec13341a8356f59605
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Fri Sep 9 04:12:51 2022 +0800
+
+ [thread.stoptoken.syn] "class template", not just "class"; fix spacing (#5799)
+
+commit 20452e91b30d0a299a03d937f443a81537dc03f2
+Author: xmh0511 <970252187@qq.com>
+Date: Fri Sep 9 04:54:01 2022 +0800
+
+ [basic.def.odr] A variable is "named by" an expression (#5534)
+
+ The previous wording, a variable "whose name appears
+ as [an] expression", is less precise and not well-defined.
+
+commit 7260f30c74eaf670b3f3d33a7571f6c055930cd7
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Jan 21 23:27:34 2022 +0100
+
+ [basic.life] Add cross-reference for union member lifetime
+
+commit ba51a5375fa3099e4a85594f2e67d48bc11ec448
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Mon Mar 20 11:58:33 2017 +0000
+
+ [rand.req.seedseq] Rephrase in terms of const types not values
+
+commit 88e574edc674e85911ea1a5b4e87c07457d97bf1
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Mon Mar 20 12:23:12 2017 +0000
+
+ [container.requirements] Rephrase in terms of const types not values
+
+commit 547987d9d203bb7f1f18297ca438ccb18d8fe612
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Wed Sep 14 14:39:16 2022 +0800
+
+ [range.chunk.view.input, range.slide.view] Remove unused name in the deduction guide
+
+commit c774ac4a072efd41e478d72ad57a3dae8b0946ff
+Author: Mathias Stearn <redbeard0531@gmail.com>
+Date: Fri Sep 16 17:46:10 2022 +0200
+
+ [basic.life] Change "complete const object" to "const, complete object" (#5818)
+
+ "Complete object" is a defined term (https://eel.is/c++draft/basic#def:complete_object).
+ Putting "const" in the middle of that leaves it ambiguous whether we are referring to
+ a const-qualified "complete object", or to a complete const object with some other meaning
+ of "complete" (such as "with a complete type").
+
+commit 787ea7683982ed58b1a8bf7bbfb7c77f8d227dce
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Sep 16 21:24:15 2022 +0200
+
+ [diagnostics] Remove 'shall', use 'recommended practice'
+
+commit 9a005c04b91ffa9b92e6a57a03419091f365bc9b
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Sep 16 21:57:46 2022 +0200
+
+ [func.bind.isplace] Add cross-reference to [func.bind.place]
+
+commit 7bd72a7671d9bee0eed11578e325460bcf7fa5a1
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Sep 16 22:09:23 2022 +0200
+
+ [vector.bool.pspc] Index vector<bool>::reference
+
+commit f68d6428f27d5cd722e713262d8986489484ae02
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Sep 16 22:18:36 2022 +0200
+
+ [over.best.ics.general] Split long paragraph
+
+commit 1383e97e21d6d10ac210344d66ab715cfc0f747a
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu Sep 15 15:38:58 2022 +0100
+
+ [ranges.syn] Make get overloads freestanding
+
+ These were moved to the synopsis after the P1642 changes to mark nearly
+ everything in the synopsis freestanding, so they were not marked.
+
+commit c70087afe980f9ec339f088babde575e04e185d7
+Author: languagelawyer <38548419+languagelawyer@users.noreply.github.com>
+Date: Sat Sep 17 02:29:45 2022 +0500
+
+ [expr.add] Move note, add example (#4778)
+
+ The original note wasn't quite in the right place.
+ It is moved and made more concrete.
+
+ In the original place of the note we now put
+ a more immediately relevant example.
+
+commit 6000c29e5b9547bf457f4461fd538670144ad88c
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Sep 17 10:05:19 2022 +0200
+
+ [format.string.std] Clarify location of 0x prefix for pointers
+
+commit 718873b512d0687143bbfa00e18edfb0a8b164ce
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Sep 17 08:56:36 2022 +0200
+
+ [expr.prim.lambda.capture] Cross-reference [basic.def.odr] for 'odr-usable'
+
+commit 6a98fd8c1f9ea79961b78f731637ba9fe9d52218
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Sep 17 09:05:57 2022 +0200
+
+ [thread.thread.this] Clarify this_thread::get_id
+
+commit 90c4ba5624a655af5c5d8b11c1137d552f3e0a60
+Author: Casey Carter <Casey@Carter.net>
+Date: Sun Sep 18 14:55:55 2022 -0700
+
+ [headers] Order `<type_traits>` before `<typeindex>` in the header table
+
+ Fixes #5853.
+
+commit 16f92154ce99a5fef26c53c464e8b14ad5b78d79
+Author: A. Jiang <de34@live.cn>
+Date: Tue Sep 20 05:37:31 2022 +0800
+
+ [c.math.hypot3] Fix mis-transcribed parameter type (#5852)
+
+ The paper P1467R9 says that the third parameter of `hypot` should be
+ `_floating-point-type_`, but it was erroneously transcribed as `double`.
+
+commit db26a63222f10cec871656958b3e296e529df67e
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Sep 21 22:18:51 2022 +0100
+
+ [support, etc.] New subclause "Arithmetic types". (#5851)
+
+ The new subclause contains both "integer types" (<cstdint>)
+ and "extended floating-point types" (<stdfloat>).
+
+ Previously, the newly added <stdfloat> synopsis was somewhat
+ disconnected and out of context.
+
+ This change removes the stable labels [cstdint] and [cstdint.general].
+
+commit d462173b5afdc8506d85e5395f2be19311895f2d
+Author: Casey Carter <Casey@Carter.net>
+Date: Mon Sep 19 20:42:44 2022 -0700
+
+ [mdspan.extents.cons] Correct spelling of "dynamic-extents"
+
+commit 14a10ef0948f4709cd1114c489b8e4b919ba7cbc
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Thu Sep 22 05:20:44 2022 +0800
+
+ [unord.general, container.adaptors.general] Fix list of exposition-only alias templates (#5840)
+
+commit aab149233f76df37979d777ffd2b3151c52d48a9
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu Sep 22 10:51:46 2022 +0100
+
+ [template.bitset] reorder synopsis and member descriptions
+
+ Group shifts together and use same order for synopsis and detailed
+ descriptions.
+
+ Also remove the unnecessary "for b[i];" comments explaining what
+ operator[] does, and add a comment introducing the group containing
+ count(), size() etc.
+
+commit 63e4a76f780c925a13efeb06955252d7c37ed4ef
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Thu Sep 22 09:30:14 2022 +0800
+
+ [range.as.const.overview] Remove unnecessary ranges namespace qualification
+
+commit 179436adbe60c277fa6512352ee27e26f192bf2b
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Fri Sep 23 12:45:09 2022 -0400
+
+ [utility.arg.requirements] Present identifiers as itemization (#5856)
+
+ Lists providing the key for names used throughout a subclause are difficult
+ to follow when buried as a single sentence in a paragraph. This change updates
+ the key to tables 29-36 in [utility.arg.requirements] to a bulleted list
+ following the examples set elsewhere.
+
+ Each key is now consistently introduced with the word "denotes", following
+ the precedent set by similar bullet lists.
+
+ It is not at all coincidental that this also resolves pagination issues
+ at the end of the page, so that the floating tables to not float into the
+ middle of a sentence in the following section.
+
+commit 24d54e30506a62ef41cf4bd0132fbdba45bb6dda
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Sep 27 11:56:32 2022 +0100
+
+ [futures.task.members] Add missing explicit to packaged_task ctor
+
+commit 842424bd228b79876437a1a9393f20f00033476a
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Wed Sep 28 16:39:59 2022 +0800
+
+ [futures.task.members] Correct capitalization
+
+commit d3ddc0906638bb30b5a3ce0f4033148e9a8ed1ff
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Thu Sep 29 15:49:06 2022 +0800
+
+ [container.rev.reqmts] Correct capitalization
+
+commit a7f17181ef5b59ad728b421a83975209406fa037
+Author: Daniel Krügler <daniel.kruegler@gmail.com>
+Date: Mon Oct 3 17:59:20 2022 +0200
+
+ [sequence.reqmts] Use "lvalues of type T are swappable" (#5878)
+
+commit dd6c7f4012489325bdd65a40cd121b3d25008b0e
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Tue Oct 4 04:41:26 2022 +0800
+
+ [associative.reqmts.general] Fix typo in namespace name (#5881)
+
+commit 42c7b3fb3a3cb11bc1af418cfdd395ecf314aa43
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Oct 4 13:08:17 2022 +0100
+
+ [intro.defs] Update hyperlink according to SC22 requirements
+
+commit 05019b35890b79374fac180a9a9ff9e7cf8d7595
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Oct 4 15:19:01 2022 +0100
+
+ Foreword placeholder
+
+commit b0fab58d4f2b12defdaf7c3ddfb2ddcd1f30e1b5
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Wed Oct 5 11:27:23 2022 +0100
+
+ [temp.local] Fix typo in "inject-class-name" (#5889)
+
+commit f6c5d4512d4b32d63d66669555ab976b315d439c
+Author: mordante <koraq@xs4all.nl>
+Date: Mon Oct 10 17:50:51 2022 +0200
+
+ [format.string.escaped] Fix example of invalid code unit (#5890)
+
+ Example 5 should only have one invalid code unit. The second code unit is a valid code point.
+
+ This issue was already in the paper P2286R8 "Formatting Ranges".
+
+commit 5f26c516a659cdf3f0ea007cf6c90c690cccc3b6
+Author: Eelis van der Weegen <eelis@eelis.net>
+Date: Tue Oct 11 04:36:08 2022 +0200
+
+ [bibliography] Remove stray closing parenthesis.
+
+commit 6c51392a3d1c3c928ef1c20c19e8efe6efed7dc1
+Author: Corentin Jabot <corentinjabot@gmail.com>
+Date: Wed Oct 19 22:29:09 2022 +0200
+
+ [intro.defs] Move the definition of "multibyte character" to library
+
+ This address the US-2 NB comment as per the direction voted on
+ by SG-16.
+
+ No use of "multibyte character" remains before [multibyte.strings].
+
+commit 33e56641d63c5993d288082cf264a733464ff75c
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Tue Oct 25 17:48:03 2022 -0400
+
+ [stack.syn, queue.syn] Add xref comments to class synopses (#5913)
+
+commit 90aa7729b9a926622581354284ecf294a56e410b
+Author: Will Hawkins <8715530+hawkinsw@users.noreply.github.com>
+Date: Tue Nov 1 04:37:52 2022 -0400
+
+ [range.dangling] Replace "tag type" with just "type" (#5922)
+
+ The extra word "tag" was not adding any value and was potentially,
+ confusing; e.g. the "dangling" type is not like, say, an iterator tag
+ that would be used for overload resolution.
+
+commit fd998c52af2dc6b9c73098fdbd5a22444a358448
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Tue Nov 1 10:45:53 2022 -0400
+
+ [flat.set] [flat.multiset] Use value_type, not key_type
+
+ For consistency with the other `set`, `unordered_set` containers.
+ `key_type` is a synonym for `value_type`, and there's no reason
+ the flat containers need to depart from existing practice here.
+
+commit 48ecaaec300de4a8176c116408cac915142166ce
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Mon Nov 7 14:02:40 2022 -0500
+
+ [flat.multiset.modifiers] Fix typo in "multiset" (#5927)
+
+commit 45d9a5ba5aee1e3c4da8938e12376b36a7147d63
+Author: Eric41293 <eric41293@comcast.net>
+Date: Mon Nov 7 11:11:58 2022 -0800
+
+ [climits.syn] Correct note about types of macros (#5926)
+
+ This note was added apparently as a response to LWG 416. However, there may have been a misunderstanding of the C standard, and in fact only the macros for `{signed,unsigned,} char` and `{signed,unsigned} int` have a different type.
+
+commit f41cd00273e6ee7ff1a29446b21f230c28bf1a9f
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Mon Nov 7 20:59:54 2022 +0000
+
+ [time.clock.system.nonmembers, time.zone.zonedtime.nonmembers] Add <charT> to STATICALLY-WIDEN (#5934)
+
+commit ef7d0e234722d2ef8b4ec069b6f929dc083d8dc7
+Author: Ed Catmur <edward.catmur@mavensecurities.com>
+Date: Tue Sep 20 18:12:45 2022 +0100
+
+ [meta, thread] Add or amend references to func.{require,invoke}
+
+commit 0d5c9b9310b2f6c6c4259665e1e680936babdc3d
+Author: Eric41293 <eric41293@comcast.net>
+Date: Mon Nov 7 15:54:55 2022 -0800
+
+ [meta.type.synop] Capitalize NTTP name (#5921)
+
+commit 0959b5c200a6f2b543e2d656850917b8d788767c
+Author: Hui <65944694+huixie90@users.noreply.github.com>
+Date: Tue Nov 8 00:49:15 2022 +0000
+
+ [range.drop.while.overview] Use string_view rather than string literal (#5897)
+
+ The string literal would have been treated as a `const char*`, which is not a range.
+
+commit 720c3ae24a68fda02a6372eda13ec3f9c6a1a39b
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Nov 8 02:01:34 2022 +0000
+
+ [time.format] Use basic_ostringstream<charT> instead of ostringstream (#5932)
+
+commit 8739d316f2a55c633963b26b748681ff16498887
+Author: Marc Mutz <94039187+marcmutz@users.noreply.github.com>
+Date: Tue Nov 8 03:05:45 2022 +0100
+
+ [meta.const.eval] Add is_constant_evaluated to index of library names (#5898)
+
+ Previously, only its feature-test macro was listed there.
+
+commit 4c442cf93f03a44ec1f6a93875043a3aca7c5b9b
+Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
+Date: Mon Nov 7 23:38:36 2022 -0400
+
+ [class.union.general] Attach example to its note (#5882)
+
+commit 65c494b9a4a5a4fab500733441c04e50a787d318
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Tue Nov 8 15:51:21 2022 +0800
+
+ [mdspan.extents.expo] Remove redundant "// exposition only" (#5907)
+
+commit b766881dda1d0201d98710b11efda3491a84b4f2
+Author: languagelawyer <38548419+languagelawyer@users.noreply.github.com>
+Date: Tue Nov 8 13:15:07 2022 +0500
+
+ [dcl.init.list] Specify the type of the prvalue (#5919)
+
+commit 6e035b52e28e95211a39ffb552851499432b2c6e
+Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
+Date: Tue Nov 8 15:30:29 2022 -0400
+
+ [ratio.ratio] Use symbol "sgn" for the signum function (#5925)
+
+commit 89269f8e548b993b239f2c0f5ecc071ee7f54c9a
+Author: Blackteahamburger <blackteahamburger@outlook.com>
+Date: Wed Nov 9 04:12:59 2022 +0800
+
+ [dcl.link] Add missing restriction to language linkage application (#5892)
+
+ A language linkage specification should only apply to entities that do in fact have language linkage.
+
+commit ea77b2fa83ddac0c52c1b505ff666328a2a8f558
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed Nov 9 00:34:26 2022 +0100
+
+ [temp.deduct.general] Fix typo in comment in example
+
+commit 0c196ec375993000547e8913abb4c4ce703144cb
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Nov 10 15:32:56 2022 +0100
+
+ [temp.deduct.conv] Remove misleading paragraph break
+
+commit 0cd0c33f648d1304160e6dcb1856affd71b3ebbb
+Author: Casey Carter <Casey@Carter.net>
+Date: Fri Nov 11 18:35:53 2022 -0800
+
+ [mdspan.extents.cons] "constexpr" should precede "explicit"
+
+ In library function declarations, the `constexpr` specifier always precedes the `explicit` specifier per our standing style guide.
+
+commit 608c152dbae69d335d7238cdd5d178e048e2a1fd
+Author: Casey Carter <Casey@Carter.net>
+Date: Mon Nov 14 10:48:18 2022 -0800
+
+ [vector.bool.pspc] Replace `constexpr static` with `static constexpr`
+
+ As preferred by our style guide.
+
+commit d829eac310981e688a15b28622a2f048d23eed65
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Thu Nov 10 07:43:32 2022 +0000
+
+ [class.inhctor.init] Fix explanation of "error:" in example
+
+ The correct explanation is that classes `B1` and `D1` do not have
+ default constructors, not that they have deleted default constructors.
+
+ Fixes NB CA 062 (C++23 CD).
+
+commit 6a1c5050c21ac26fcb2b5b187a0de867713568dc
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Nov 8 23:35:00 2022 +0000
+
+ [diff.cpp20.library] Add missing new headers
+
+ Fixes NB FR 008 (C++23 CD).
+
+commit b2fa70faa783827cd38b819409e94da2523333f2
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Nov 9 18:50:56 2022 +0000
+
+ [views] Subclauses for contiguous and multidimensional access
+
+ This organises the material for <span> and <mdspan> into separate
+ subclauses, rather than having all constituent parts being siblings in
+ the same subclause. Even though we now have some subclauses six levels
+ deep, this seems like an improvement. As a drive-by, this allows us to
+ move a subclause on a non-member span helper function up one level,
+ where it is more appropriate.
+
+ Fixes NB FR 027 (C++23 CD).
+
+commit e0bab4b7f2d8afe5d3939aa49fe6de4fd5e638c6
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Thu Nov 10 02:16:11 2022 +0000
+
+ [concepts index] Describe exposition-only concepts
+
+ Fixes NB GB 136 (C++23 CD).
+
+commit 9512e41e30cf24a8e93e8c8568ff1b5c14398cc6
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Nov 11 19:31:11 2022 +0000
+
+ [general, library index] Describe exposition-only entities
+
+ Partially fixes NB GB 137 (C++23 CD).
+
+commit 0783dde32073b02b369c7c3893f4f496a83e3658
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Nov 11 19:33:33 2022 +0000
+
+ [func.wrap.move.ctor] Move private expos member to general index
+
+ The private, exposition-only data member is not useful in the library
+ index. However, there seems no reason to not show it in the general
+ index, so we move the index entry from the library index to the
+ general index.
+
+ Partially fixes NB GB 137 (C++23 CD).
+
+commit 3e825f144f2aa8668c9a1a94066b43799e08a6e7
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Nov 8 21:31:30 2022 +0000
+
+ [basic.scope.scope] Fix indentation in example
+
+ Fixes NB US 034 (C++23 CD).
+
+commit 92de5996625efcb070f99681acd2e39efc206ee2
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Nov 8 23:24:35 2022 +0000
+
+ [unord.req.general] Fix garbled end of sentence
+
+ This was an editorial mistake introduced by the transformation of the
+ requirement tables into regular paragraphs.
+
+ Fixes NB US 100 (C++23 CD).
+
+commit 24e046896029a11f2cb78fd6db21482fb0d4be66
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Nov 8 21:02:31 2022 +0000
+
+ [coro.generator.promise] Use "equivalent to `throw`, ..."
+
+ Our style guide says that "equivalent to <expression>" is the
+ appropriate style for an expression of type `void`, which is the case
+ for `throw`. This avoids the awkward situation of having "equivalent
+ to: `throws;`" appear in the middle of a paragraph without proper
+ terminal punctuation.
+
+ Fixes NB US 119 (C++23 CD).
+
+commit 3f47d2565f26a9144e8076641ee55bf7be79f896
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Nov 8 21:27:56 2022 +0000
+
+ [coro.generator.promise] Remove unused name "x"
+
+ Fixes NB US 120 (C++23 CD).
+
+commit fb0df97e7d7c2c75bbdf7164c33b0796024ff6d3
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu Nov 17 08:44:05 2022 +0000
+
+ [atomics] Replace integral and floating-point placeholders (#5939)
+
+ Fixes NB GB 129 (C++23 CD).
+
+commit 0bb57d5ebffa7170fbc80724f55a6ac2a82f2e83
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Fri Nov 25 14:56:24 2022 +0800
+
+ [format.arg] Add std:: for forward
+
+commit c88fb46327d87d78d571b7e1076e1916eaf7e310
+Author: Dawn Perchik <dawn@brightsidecomputing.com>
+Date: Tue Nov 15 07:46:41 2022 -0800
+
+ [expr.unary.op] Say "the ~ operator" consistently, remove "unary"
+
+ We are currently using the term "unary complement operator" to refer
+ to the "~" operator without ever giving it that name. This change
+ removes the use of that undefined term.
+
+commit bef02b89464fe6f4be3926d62defc92986ae4532
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Nov 22 16:28:42 2022 +0000
+
+ [expr.unary.op] Notes naming unary ops as {ones',two's} complement
+
+ The terms "one's complement" and "two's complement" are well-known,
+ and it is useful to associate them with these operators.
+
+commit 020a312b2aa513a992e488d82db55fd0cd4fa025
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Nov 16 17:48:12 2022 +0000
+
+ [fs.rec.dir.itr.nonmembers] "for" is a keyword in "range-based for"
+
+commit cee095e75a97fb88a7053e360b3bc06d36a6b687
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Fri Dec 16 06:51:26 2022 +0700
+
+ [depr.conversions.string] remove redundent respecification (#6004)
+
+ There are several typedef names defined precisely in the deprecated code conversion
+ facets classes that are redundantly respecified in text. Nowhere else in the library
+ does this; any specified typedef names are _see below_ definitions, not repeats of
+ the class definition. Needless redundancy is always a risk of divergence, however
+ small, so remove the respecification in text form.
+
+commit 1bb52db31be002f04ea5977f9900ba4174c7155e
+Author: Anoop Rana <93918384+ranaanoop@users.noreply.github.com>
+Date: Fri Dec 16 05:23:57 2022 +0530
+
+ [concepts.object] Change "built-in" to "fundamental" types (#6012)
+
+commit ce1cc3b011099b6228b18dad937911c6ea67d309
+Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
+Date: Sun Dec 11 17:03:41 2022 -0400
+
+ [expr.const] Remove redundant "ill-formed" in "error" comment
+
+commit 5d43f0137776fa112d0ffd6ba0e34df34a4cb820
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Dec 13 12:52:00 2022 +0000
+
+ [time.zone.leap.members] update note about leap seconds
+
+commit fd20d4ea9f3ea8653b17169aad61eec843b71718
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Wed Nov 23 14:45:43 2022 +0000
+
+ [time.zone.zonedtime.overview] Rename parameters to match later definitions
+
+commit 137728f0830824c6058648a846376eec80e5cab3
+Author: Michael Florian Hava <mfh@live.at>
+Date: Fri Dec 16 02:10:55 2022 +0100
+
+ [coro.generator.promise] Fix template parameters (#6009)
+
+ Some of the template parameters of `yield_value` were inconsistent,
+ and the synopsis contained an outright typo. This change uses `R2`
+ consistently since the parameter is a reference.
+
+commit 5d6099c3df78922ee5b5f1d1c42a5c762d246df0
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Thu Dec 15 23:31:26 2022 +0000
+
+ [formatter.requirements] Remove one level of list nesting
+
+commit 9e41a1c27de2f676badacbe0c1aac783063b7cd6
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Nov 16 19:43:58 2022 +0000
+
+ [time.clock.req] Make list item end with comma, not full stop.
+
+ Also reformat the itemization source to be more edit-friendly.
+
+commit 5ef31f3fc1531d9e6e923cb57bf6e5ecec59ed4e
+Author: languagelawyer <language.lawyer@gmail.com>
+Date: Thu Jun 25 10:54:17 2020 +0300
+
+ [expr.unary.op] Fix usage of "result"
+
+commit 8c60752c7eb28e1ff1cc9e088d7836957356f559
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Apr 26 10:18:11 2022 +0100
+
+ [optional.ctor], [expected.object.ctor] Add converts-from-any-cvref
+
+commit 405b46f50ce6c7458e94db7b4528fc267e2b67c3
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Sat Dec 17 00:14:51 2022 +0800
+
+ [mdspan.mdspan.overview] Add default template arguments for mdspan (#6018)
+
+ We usually restate the default template arguments in the class synopsis,
+ so that the information is in one place and one does not need to also refer
+ to the header synopsis.
+
+commit ae88bb581d32f1939987c0a834fe3f6011a9d003
+Author: frederick-vs-ja <de34@live.cn>
+Date: Fri Dec 16 21:25:31 2022 +0800
+
+ [range.repeat] Change `W`/`WArgs` to `T`/`TArgs`
+
+commit 0a1f1e147c75ce9220de3488103ca880b6b8e49f
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Dec 16 17:19:08 2022 +0000
+
+ [concept.copyconstructible] Avoid "possibly \tcode{const}"
+
+ A small rewrite avoids the phrase "possibly \tcode{const}",
+ which we would like to remove entirely in favour of just
+ "possibly const".
+
+commit f058decdf9c7dea0461f723df72f5093f5e92b11
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Dec 16 17:31:47 2022 +0000
+
+ Replace "possibly \tcode{const}" with "possibly const"
+
+ The "const" here is not syntax, but just normal text.
+ This is similar to "inline" and "public", which have
+ previously been cleaned up similarly.
+
+commit 9ac55553459e15c84db6d8072c93787d41ef7ccf
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Jun 4 00:29:30 2021 +0200
+
+ [lib] Drop 'inline' from 'inline constexpr' variable templates.
+
+ Since CWG2387, constexpr variable templates have external linkage.
+
+
+
diff --git a/papers/n4929.md b/papers/n4929.md
new file mode 100644
index 0000000000..36adf1e8d4
--- /dev/null
+++ b/papers/n4929.md
@@ -0,0 +1,868 @@
+# N4929 Editors' Report -- Programming Languages -- C++
+
+Date: 2022-12-18
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: `cxxeditor@gmail.com`
+
+## Acknowledgements
+
+Thanks to all those who have [submitted editorial
+issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
+and to those who have provided pull requests with fixes.
+Thank you also to Dan Raviv and Robert Leahy for drafting motion applications,
+and special thanks to Johel Ernesto Guerrero Peña for providing in-depth review
+of many of the draft motion applications.
+
+## New papers
+
+ * [N4928](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/n4928.pdf) is the
+ current working draft for C++23. It replaces
+ [N4917](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/n4917.pdf).
+ * N4929 is this Editors' Report.
+
+## National body comments on the Committee Draft
+
+N4919 is the C++23 Committee Draft. It received 137 comments from national bodies.
+The working group's responses to the issues so far is noted below.
+
+### Editorial comments
+
+The following 11 national body comments are editorial in nature, and fixes for
+them have been applied.
+
+ * **FR 008:** Accepted; fixed by 6a1c5050c21ac26fcb2b5b187a0de867713568dc.
+ * **FR 027:** Accepted; fixed by b2fa70faa783827cd38b819409e94da2523333f2.
+ New subclauses "contiguous access" and "mulitidimensional access" have been added
+ to organize the content for `span` and `mdspan`.
+ * **US 029:** Accepted with modifications; fixed by 6c51392a3d1c3c928ef1c20c19e8efe6efed7dc1.
+ This issue had already been fixed editorially prior to the NB comments.
+ * **US 034:** Accepted; fixed by 3e825f144f2aa8668c9a1a94066b43799e08a6e7.
+ * **CA 062:** Accepted with modifications; fixed by d829eac310981e688a15b28622a2f048d23eed65.
+ A second erroneous comment with the same problem has also been corrected in the same way.
+ * **US 100:** Accepted; fixed by 92de5996625efcb070f99681acd2e39efc206ee2.
+ * **US 119:** Accepted with modifications; fixed by 24e046896029a11f2cb78fd6db21482fb0d4be66.
+ We removed the colon after "equivalent to" and the semicolon after "throw",
+ and connected the next sentence with a comma.
+ * **US 120:** Accepted; fixed by 3f47d2565f26a9144e8076641ee55bf7be79f896.
+ * **GB 129:** Accepted with modifications; fixed by fb0df97e7d7c2c75bbdf7164c33b0796024ff6d3.
+ Reviewed by LWG and considered editorial.
+ * **GB 136:** Accepted; fixed by e0bab4b7f2d8afe5d3939aa49fe6de4fd5e638c6.
+ * **GB 137:** Accepted; fixed by 9512e41e30cf24a8e93e8c8568ff1b5c14398cc6 and 0783dde32073b02b369c7c3893f4f496a83e3658.
+
+### Non-editorial comments
+
+* **FR 004:** Partially fixed by [P1264R2](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1264r2.pdf) (LWG poll 12).
+* **FR 005:** Fixed by [CWG2631](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2631) (CWG poll 4).
+* **FR 009:** Duplicate of GB 093
+* **FR 019:** Duplicate of US 123
+* **US 028:** Fixed by [CWG2640](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2640) (CWG poll 4).
+* **US 030:** Fixed by [CWG2639](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2639) (CWG poll 4).
+* **US 033:** Fixed by [CWG2242](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2242) (CWG poll 3).
+* **DE 038:** Fixed by [P2718R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2718r0.html) (CWG poll 12).
+* **US 039:** Fixed by [CWG2643](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2643) (CWG poll 3).
+* **US 042:** Fixed by [CWG2644](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2644) (CWG poll 3).
+* **US 044:** Fixed by [CWG2645](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2645) (CWG poll 3).
+* **US 045:** Fixed by [CWG2654](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2654) (CWG poll 5).
+* **US 045:** Fixed by [CWG2654](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2654) (CWG poll 5).
+* **DE 046:** Fixed by [P2564R3](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2564r3.html) (CWG poll 9).
+* **US 047:** Fixed by [CWG2647](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2647) (CWG poll 3).
+* **GB 048:** Fixed by [P2647R1](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2647r1.html) (CWG poll 8).
+* **GB 051:** Fixed by [CWG2653](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2653) (CWG poll 4).
+* **US 052:** Fixed by [CWG2646](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2646) (CWG poll 3).
+* **CA 054:** Fixed by [CWG2621](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2621) (CWG poll 3).
+* **GB 055:** Fixed by [CWG2538](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2538) (CWG poll 6).
+* **GB 059:** Fixed by [P2615R1](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2615r1.html) (CWG poll 11).
+* **US 061:** Fixed by [P2706R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2706r0.html) (CWG poll 10).
+* **CA 063:** Fixed by [CWG2648](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2648) (CWG poll 3).
+* **CA 064:** Fixed by [CWG2649](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2649) (CWG poll 3).
+* **CA 065:** Fixed by [P2589R1](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2589r1.pdf) (CWG poll 7).
+* **US 068:** Fixed by [CWG2650](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2650) (CWG poll 3).
+* **US 069:** Fixed by [CWG2651](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2651) (CWG poll 3).
+* **GB 070:** Fixed by [CWG2615](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2615) (CWG poll 4).
+* **US 071:** Fixed by [CWG2652](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2652) (CWG poll 4).
+* **US 073:** Fixed by [P2167R3](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2167r3.html) (LWG poll 10).
+* **GB 074:** Fixed by [LWG3818](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3818) (LWG poll 8).
+* **GB 075:** Fixed by [LWG3753](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3753) (LWG poll 8).
+* **GB 085:** Fixed by [LWG3814](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3814) (LWG poll 8).
+* **GB 090:** Fixed by [LWG3823](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3823) (LWG poll 8).
+* **US 091:** Duplicate of GB 093
+* **US 092:** Duplicate of GB 093
+* **GB 093:** Fixed by [P2505R5](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2505r5.html) (LWG poll 13).
+* **GB 095:** Fixed by [LWG3824](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3824) (LWG poll 8).
+* **GB 101:** Fixed by [LWG3817](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3817) (LWG poll 8).
+* **US 103:** Fixed by [LWG3816](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3816) (LWG poll 8).
+* **US 109:** Partially fixed by [LWG3717](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3717)
+ and [LWG3737](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3737) (LWG poll 8).
+* **GB 110:** Fixed by [LWG3814](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3814) (LWG poll 8).
+* **US 111:** Fixed by [P2602R2](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2602r2.html) (LWG poll 9).
+* **US 118:** Fixed by [LWG3826](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3826) (LWG poll 8).
+* **US 123:** Fixed by [P2539R4](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2539r4.html) (LWG poll 11).
+* **US 124:** Duplicate of US 123
+* **US 125:** Fixed by [LWG3822](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3822) (LWG poll 8).
+* **GB 130:** Partially fixed by [LWG3814](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html#3814) (LWG poll 8).
+* **US 132:** Fixed by [CWG2636](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2636) (CWG poll 3).
+
+## Motions incorporated into working draft
+
+### Notes
+
+ * CWG issue 2602 was withdrawn from the motions. Even though it is part of
+ [P2709R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2709r0.html),
+ it has not been applied.
+ * CWG issue 2642 (in
+ [P2710R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html#2642),
+ polled in CWG poll 3) was discovered to be incorrect after the WG21 meeting;
+ CWG has requested that the issue not be applied and reverted to the working
+ group for further discussion. It has not been applied.
+
+### Core working group polls
+
+CWG poll 1: Accept as Defect Reports all issues except 2635 and 2602 in [P2709R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2709r0.html) (Core Language Working Group "ready" Issues for the November, 2022 meeting) and apply their proposed resolutions to the C++ Working Paper.
+
+CWG poll 2: Accept as a Defect Report issue 2635 (Constrained structured bindings) in [P2709R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2709r0.html) (Core Language Working Group "ready" Issues for the November, 2022 meeting) and apply its proposed resolution to the C++ Working Paper.
+
+CWG poll 3: Accept as Defect Reports all issues except 2615, 2639, 2640, 2652, 2653, 2654, and 2538 in [P2710R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html) (Core Language Working Group NB comment resolutions for the November, 2022 meeting) and apply their proposed resolution to the C++ Working Paper, resolving the NB comments as indicated.
+
+CWG poll 4: Apply the proposed resolutions of issues 2615, 2639, 2640, 2652, and 2653 in [P2710R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html) (Core Language Working Group NB comment resolutions for the November, 2022 meeting) to the C++ Working Paper, resolving the NB comments as indicated.
+
+CWG poll 5: Accept as a Defect Report issue 2654 (Un-deprecation of compound volatile assignments) in [P2710R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html) (Core Language Working Group NB comment resolutions for the November, 2022 meeting) and apply its proposed resolution to the C++ Working Paper, resolving NB comment US 16-045.
+
+CWG poll 6: Accept as a Defect Report issue 2538 (Can standard attributes be syntactically ignored?) in [P2710R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2710r0.html) (Core Language Working Group NB comment resolutions for the November, 2022 meeting) and apply its proposed resolution to the C++ Working Paper, resolving NB comment GB-055.
+
+CWG poll 7: Apply the changes in [P2589R1](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2589r1.pdf) (`static operator[]`) to the C++ Working Paper, resolving NB comment CA-065.
+
+CWG poll 8: Accept as a Defect Report and apply the changes in [P2647R1](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2647r1.html) (Permitting static constexpr variables in constexpr functions) to the C++ Working Paper, resolving NB comment GB-048.
+
+CWG poll 9: Accept as a Defect Report and apply the changes in [P2564R3](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2564r3.html) (`consteval` needs to propagate up) to the C++ Working Paper, resolving NB comment DE-046.
+
+CWG poll 10: Accept as a Defect Report and apply the changes in [P2706R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2706r0.html) (Redundant specification for defaulted functions) to the C++ Working Paper, resolving NB comment US 26-061.
+
+CWG poll 11: Accept as a Defect Report and apply the changes in [P2615R1](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2615r1.html) (Meaningful exports) to the C++ Working Paper, resolving NB comment GB-059.
+
+CWG poll 12: Apply the changes in [P2718R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2718r0.html) (Wording for P2644R1 Fix for Range-based `for` Loop) to the C++ Working Paper, resolving NB comment DE-038.
+
+### Library working group polls
+
+Polls 1–6 do not concern the C++ Working Paper.
+
+LWG poll 7: Apply the changes for all Ready and Tentatively Ready issues in [P2703R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2703r0.html) (C++ Standard Library Ready Issues to be moved in Kona, Nov. 2022) to the C++ working paper.
+
+LWG poll 8: Apply the changes for all Immediate issues in [P2704R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2704r0.html) (C++ Standard Library Immediate Issues to be moved in Kona, Nov. 2022) to the C++ working paper.
+
+LWG poll 9: Apply the changes in [P2602R2](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2602r2.html) (Poison Pills are Too Toxic) to the C++ working paper. This addresses ballot comment US 49-111.
+
+LWG poll 10: Apply the changes in [P2167R3](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2167r3.html) (Improved Proposed Wording for LWG 2114 (contextually convertible to `bool`)) to the C++ working paper. This addresses ballot comment US 32-073.
+
+LWG poll 11: Apply the changes in [P2539R4](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2539r4.html) (Should the output of `std::print` to a terminal be synchronized with the underlying stream?) to the C++ working paper. This addresses ballot comment US 58-123 (and duplicates US 59-124 and FR-001-019).
+
+LWG poll 12: Apply the changes in [P1264R2](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1264r2.pdf) (Revising the wording of stream input operations) to the C++ working paper. This partially addresses ballot comment FR-018-004.
+
+LWG poll 13: Apply the changes in [P2505R5](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2505r5.html) (Monadic Functions for `std::expected`) to the C++ working paper. This addresses ballot comments GB-093, US 36-091, US 35-092, and FR-011-009.
+
+LWG poll 14: Apply the changes in [P2696R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2696r0.html) (Introduce _Cpp17Swappable_ as additional convenience requirements) to the C++ working paper.
+
+### Noteworthy editorial changes
+
+* There were no noteworthy changes to the wording of the approved papers.
+* A new subclause "Arithmetic types" was added. The new subclause contains
+ both "integer types" (`Date: 2023-03-22
+ +Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
Email: cxxeditor@gmail.com
Thanks to all those who have submitted editorial +issues +and to those who have provided pull requests with fixes. +Thank you also to Robert Leahy for drafting motion applications, +and special thanks to Johel Ernesto Guerrero Peña for providing in-depth review +of many of the draft motion applications.
+ +N4919 is the C++23 Committee Draft. It received 137 comments from national bodies. +The first set of responses to all 11 editorial comments and to 49 non-editorial comments +was incorporated into the previous working draft, N4928; see the +previous Editors' Report +for details. The present working draft contains the final set of responses, +to 26 non-editorial comments, as noted below.
+ +pos = 0
" was removed.CWG Poll 1: Accept as a Defect Report and apply the proposed resolution of all issues +except issues 2518, 2521, 2659, 2674, 2678, and 2691 in P2796R0 +(Core Language Working Group "ready" Issues for the February, 2023 meeting) to the C++ Working Paper.
+ +CWG Poll 2: Apply the proposed resolution of issues 2674 and 2691 +in P2796R0 +(Core Language Working Group "ready" Issues for the February, 2023 meeting) to the C++ Working Paper.
+ +CWG Poll 3: Accept as a Defect Report and apply the proposed resolution of issue 2518 (Conformance requirements and #error
/#warning
)
+in P2796R0
+(Core Language Working Group "ready" Issues for the February, 2023 meeting) to the C++ Working Paper.
CWG Poll 4: Accept as a Defect Report and apply the proposed resolution of issue 2521 (User-defined literals and reserved identifiers) +in P2796R0 +(Core Language Working Group "ready" Issues for the February, 2023 meeting) to the C++ Working Paper.
+ +CWG Poll 5: Accept as a Defect Report and apply the proposed resolution of issue 2678
+(std::source_location::current
is unimplementable) in P2796R0
+(Core Language Working Group "ready" Issues for the February, 2023 meeting) to the C++ Working Paper.
CWG Poll 6: Apply the proposed resolution of issue 2659 (Missing feature-test macro for lifetime extension in range-for loop) +in P2796R0 +(Core Language Working Group "ready" Issues for the February, 2023 meeting) to the C++ Working Paper, resolving NB comment DE 038.
+ +CWG Poll 7: Specify that P2647R1 +(Permitting static constexpr variables in constexpr functions) (applied in November, 2022) is no longer a Defect Report.
+ +CWG Poll 8: Apply the changes in P2736R2 (Referencing The Unicode Standard) +to the C++ Working Paper, resolving NB comments FR 133 and FR 013.
+ +CWG Poll 9: Accept as a Defect Report and apply the changes in P2788R0 +(Linkage for modular constants) to the C++ Working Paper, resolving NB comment US 036.
+ +CWG Poll 10: Apply the changes in P2797R0 +(Proposed resolution for CWG2692 Static and explicit object member functions with the same parameter-type-lists) to the C++ Working Paper.
+ +Poll 1 does not concern the C++ Working Paper.
+ +LWG Poll 2: Apply the changes for all Ready and Tentatively Ready issues in P2789R0 +(C++ Standard Library Issues to be moved in Issaquah, Feb. 2023) to the C++ working paper.
+ +LWG Poll 3: Apply the changes for all Immediate issues except 3441 in P2790R0 +(C++ Standard Library Immediate Issues to be moved in Issaquah, Feb. 2023) to the C++ working paper.
+ +LWG Poll 4: Apply the changes for the Immediate issue 3441 in P2790R0 +(C++ Standard Library Immediate Issues to be moved in Issaquah, Feb. 2023) to the C++ working paper.
+ +LWG Poll 5: Apply the changes in P2770R0 +(Stashing stashing iterators for proper flattening) to the C++ working paper. This addresses ballot comment US 126.
+ +LWG Poll 6: Apply the changes in P2164R9
+(views::enumerate
) to the C++ working paper. This addresses ballot comments FR 021 and US 108.
LWG Poll 7: Apply the changes in P2711R1 +(Making multi-param constructors of views explicit) to the C++ working paper.
+ +LWG Poll 8: Apply the changes in P2609R3 +(Relaxing Ranges Just A Smidge) to the C++ working paper. This addresses ballot comment US 099.
+ +LWG Poll 9: Apply the changes in P2713R1
+(Escaping improvements in std::format
) to the C++ working paper. This addresses ballot comments US 098 and FR 134.
LWG Poll 10: Apply the changes in P2675R1
+(format
's width estimation is too approximate and not forward compatible) to the C++ working paper. This addresses ballot comment FR 012.
LWG Poll 11: Apply the changes in P2572R1
+(std::format
fill character allowances) to the C++ working paper.
LWG Poll 12: Apply the changes in P2693R1
+(Formatting thread::id
and stacktrace
) to the C++ working paper. This addresses ballot comment FR 023.
LWG Poll 13: Apply the changes in P2679R2
+(Fixing std::start_lifetime_as
for arrays) to the C++ working paper. This addresses ballot comment CA 086.
LWG Poll 14: Apply the changes in P2674R1 +(A trait for implicit lifetime types) to the C++ working paper. This addresses ballot comment GB 089.
+ +LWG Poll 15: Apply the changes in P2655R3
+(common_reference_t
of reference_wrapper
Should Be a Reference Type) to the C++ working paper.
LWG Poll 16: Apply the changes in P2652R2
+(Disallow User Specialization of allocator_traits
) to the C++ working paper. This addresses ballot comment US 077.
LWG Poll 17: Apply the changes in P2787R1
+(pmr::generator
- Promise Types are not Values) to the C++ working paper. This addresses ballot comment US 116.
LWG Poll 18: Apply the changes in P2614R2
+(Deprecate numeric_limits::has_denorm
) to the C++ working paper. This addresses ballot comment DE 079.
LWG Poll 19: Apply the changes in P2588R3
+(barrier
's phase completion guarantees) to the C++ working paper. This addresses ballot comment DE 135 and US 131.
LWG Poll 20: Apply the changes in P2763R1
+(layout_stride
static extents default constructor fix) to the C++ working paper.
A log of editorial fixes made to the working draft since N4928 is below. This +list excludes changes that do not affect the body text or only affect whitespace +or typeface. For a complete list including such changes (or for the actual +deltas applied by these changes), consult the draft sources on +github.
+ +commit 538ed7470087a1304ec9c04db8b00de1d4f40d03
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sun Dec 18 21:19:08 2022 +0000
+
+ [lex.ccon] Add xref to lex.charset, where encodings are defined
+
+commit ffd3141ffd278f86209845282548e6e5d9ed21eb
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Mon Dec 19 00:02:24 2022 +0000
+
+ [lex.string] Add xref to lex.charset, where encodings are defined
+
+commit 13fa11859e144ecba44807746cd376c0b33f571f
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Thu Dec 29 02:01:37 2022 +0800
+
+ [range.single.view] Remove duplicate semicolon (#6040)
+
+commit b98b620ec72c67423169782aa197dd0008900154
+Author: Eric41293 <eric41293@comcast.net>
+Date: Wed Dec 28 11:07:01 2022 -0700
+
+ [format.string.std] Fixing grammatical error (#6037)
+
+commit c8e334d0632b5e49e7333002ebeb04c58754f2d1
+Author: zhihaoy <43971430+zhihaoy@users.noreply.github.com>
+Date: Thu Jan 5 02:40:02 2023 -0800
+
+ [bitwise.operations.not] missing parameter name
+
+commit 0c9dd96bbfc421a0feabcbc2b6850cd369ed181f
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Jan 17 23:16:33 2023 +0100
+
+ [over.over] Missed edit for P0847R7
+
+ P0847R7 (Deducing this) was approved at the October, 2021 meeting
+ and applied with commit ee5117e100bbe9b7adb3510b2d7bb6d4d150f810,
+ missing this change.
+
+commit 2228f1c619fcd19c61ae6a4378f03f6ee938e55a
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Mon Jan 16 12:11:47 2023 +0000
+
+ [unord.map.overview] Remove stray template-head on non-template
+
+commit b9d35e813c007f3514015017e1ce09d936b5e2cc
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Mon Jan 23 01:43:54 2023 +0800
+
+ [reverse.iter.conv] Remove unclear explicit comments
+
+ I don't know what explicit refers to here, it seems to be more appropriate to remove.
+ People who disagree with me are also welcome.
+
+commit b5d9d4f5c5a14a059a8af75428707a0fc14b4c12
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Tue Jan 24 17:20:59 2023 +0800
+
+ [move.sentinel] Use "std::move" in example for correctness (#6043)
+
+commit a009995257307b1ed8894718b70c917f4c25094b
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Thu Jan 26 02:06:35 2023 +0800
+
+ [iterator.synopsis] Fix inconsistent template constraint
+
+commit 388eff69768d3ba97c095de98e9972685f2e3579
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Jan 27 14:30:39 2023 +0100
+
+ [version.syn] Fix value of __cpp_lib_constexpr_bitset
+
+ Paper P2417R2 was approved in July 2022, but commit
+ 75518ffdc476cbc239918466588d963fc97a8013 did not set
+ the feature-test to the approriate value.
+
+commit 9020f7480b2cd0f3c0857b93cab4dbcf44a24edc
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Sun Feb 5 23:30:36 2023 +0800
+
+ [format.range.fmtmap] Fix undefined type name
+
+commit a096b08e6a2ee5544fd753aefd9469673e4864dd
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Tue Jan 31 10:53:18 2023 +0800
+
+ [const.iterators.iterator] Add \expos comment for concept
+
+commit 9ce105b48e34c0e08947ac073694faa6600716ec
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Fri Feb 10 14:52:42 2023 +0800
+
+ [iostream.cons] Add std:: qualified for move
+
+commit 6d836080a380d0f828de30e6449985b5b503d874
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Mon Mar 6 18:28:32 2023 +0000
+
+ [dcl.pre] Add missing markup that makes "fails" a definition.
+
+ This change was missed from the application of CWG2518.
+
+ Also fixes the indexing of "static_assert" (which is a keyword, not a
+ grammar production).
+
+commit 9357ba63abeb27152ac7d03db4ba9a274cf2f922
+Author: timsong-cpp <rs2740@gmail.com>
+Date: Sun Feb 26 19:52:46 2023 -0600
+
+ [expected.object.eq] Fix typo
+
+commit 586f4ed7fbafeee5b91fcb6c2950008dfffbeec0
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Mar 7 10:34:50 2023 -0500
+
+ [cpp.pre] Fix grammar for #elifdef
+
+ This fix is editorial as it corrects a mis-application of the original
+ paper, https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2334r1.pdf.
+
+ Note that the corresponding use of this grammar in [cpp.cond]p13
+ assumes the correct grammar, making the intent equally clear.
+
+commit 64ef8b32a5b3ac60e8ac1f28ccb008c704cc25f4
+Author: Barry Revzin <barry.revzin@gmail.com>
+Date: Sun Mar 12 10:11:24 2023 -0500
+
+ [expr.prim.req.compound] Move compound requirement example from inner to outer bullet (#6159)
+
+ Example 1 from [expr.prim.req.compound] is currently attached to the
+ inner bullet point, but should be attached to the outer one.
+
+commit 5a974f72f43928258a6264155f8932bebb3fea30
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Sun Mar 12 23:17:02 2023 +0800
+
+ [util.smartptr.atomic.general] Simplify example code (#6077)
+
+ Removes the redundant explicit construction of the return value,
+ and uses an explicit return type instead of "auto" for clarity.
+
+commit 1912644b1bf60e0c8fc8d53ccbee0488244b1fd3
+Author: A. Jiang <de34@live.cn>
+Date: Mon Mar 13 00:02:02 2023 +0800
+
+ [specialized.algorithms.general] Remove possibly wrong note (#6157)
+
+commit 40cfc37319ae4e6204a2237ad6e143fac6911df6
+Author: Blackteahamburger <blackteahamburger@outlook.com>
+Date: Mon Mar 13 02:23:01 2023 +0800
+
+ [allocator.requirements.general] Fix SimpleAllocator example (#6152)
+
+ The example now meets the requirements and is minimal.
+ Previously, some == comparisons that should work were ambiguous.
+
+commit f131b37fbf412bf2b69690914c2030b3ad702e55
+Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
+Date: Sun Mar 12 14:27:09 2023 -0400
+
+ [library.general,tab:thread.summary] Update references to renamed Clause (#6149)
+
+commit 71c72b23250d4e3f8c960c345721ba5e6a52f3c1
+Author: Giuseppe D'Angelo <dangelog@users.noreply.github.com>
+Date: Sun Mar 12 23:29:23 2023 +0100
+
+ [range.split] Fix invalid conversion in example (#6041)
+
+ Replaces an illegal implicit conversion from a range to string_view
+ in the example with an explicit one.
+
+ After P2499R0, it is no longer possible to implicitly construct a
+ string_view from a range (like the ones produced by views::split).
+
+commit b1f3246af2a6af4f2b81be9b296feb08ad40962b
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu Mar 2 12:58:40 2023 +0000
+
+ Consistent comma after e.g. and i.e. (again)
+
+commit 29c0c3d61be7875e9be08a19d7612a7a2c628ef6
+Author: Alex Riegler <53669754+alexriegler@users.noreply.github.com>
+Date: Sun Mar 12 19:59:06 2023 -0500
+
+ [tab:iostreams.summary] Add missing header in summary table (#6079)
+
+ Also reorder the headers into order of appearance,
+ which is how the "C library files" headers are ordered.
+
+commit 16dfc43257e15582d7461280b2c896c471e6e431
+Author: Mark de Wever <koraq@xs4all.nl>
+Date: Mon Mar 13 02:06:04 2023 +0100
+
+ [time.syn] Use "ymwd" parameter name consistently (#6029)
+
+commit 6298c4b6ad03946ea5a547d375762d5f029cf195
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Mar 7 22:23:05 2023 -0500
+
+ [depr.template.template] Add cross-ref to core language
+
+ Add a cross reference to the core language paragraph that
+ contains the deprecation notice, [temp.names] (p6).
+
+commit d9f8705de8aaa61112250d211e7891e91b411dbe
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Sat Dec 31 00:57:08 2022 +0800
+
+ [range.take.overview, range.drop.overview] Remove redundant ranges:: qualifier
+
+commit dcac5eaf993a190a1bb1335217779bd9ef13a38e
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Mar 14 10:46:30 2023 -0400
+
+ [span.iterators] Fix cross-reference to container iterators (#6183)
+
+ The current cross-reference is to [containers.requirements], which
+ is the whole containers requirements clause, including not just
+ general containers, but also allocator-aware, reversible, sequence,
+ associative, and unodered associative containers. It seems very
+ unlikely that the cross-reference expects to be the intersection
+ of all of those.
+
+ Rather, the reference seems to intend just the [containers.reqmts]
+ subclause, which adds just two useful constraints: random access
+ iterators should support the 3-way comparison operator, and the
+ interoperabiity of container iterators and const_iterators.
+
+commit 39c1510d443b647c46de3e84d49a21d442154795
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Mar 14 16:12:22 2023 +0100
+
+ [stmt] Fix cross-references for condition
+
+commit 22a3b44cd6d5b0017cb57d8767d9dfc2094735c8
+Author: morinmorin <mimomorin@gmail.com>
+Date: Wed Mar 15 01:45:28 2023 +0900
+
+ [projected, alg.req.ind.{move, copy}, range.as.rvalue.overview] Article "an", not "a" (#6186)
+
+ The subsequent identifier is naturally pronounced with a leading vowel.
+
+commit ae8ec6f016e0efcb37104a96f0b0677b850fdd0f
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Thu Mar 16 11:13:43 2023 -0400
+
+ [container.reqmts] Fix cross-references to contiguous container
+
+ This edit deserves describing in detail, to establish that it
+ is purely editorial.
+
+ As part of the mission to clean up tables in the standard,
+ the general container requirements were split into 5 more
+ focused leaf nodes. Due to its location in the original
+ text, the definition for a contiguous container fell into
+ the subclause for reversible containers, to which it is
+ entirely unrelated. There is no requirement that a
+ contiguous container be reversible, only that it has the
+ correct category for its iterators.
+
+ Meanwhile, all 3 of the existing cross-references point
+ to the wrong leaf node, that simply provides a key to
+ the identifiers used throughout the specification of this
+ clause.
+
+ The fix has two parts. First move the definition of
+ contiguous container, and a container with special
+ iterators, into the [container.reqmts] clause where it
+ best belongs. This move is appended to the end so that
+ there can be no ambiguity that any existing text could
+ be confused with requirements only on contiguous
+ containers after the edit. The other part is to fix up
+ the three cross-references to point to [container.reqmts]
+ rather than its sibling that has no information on
+ contiguous containers.
+
+ A grep of the .tex source files confirms that these
+ three references (array,basic_string, and vector) are
+ the only current uses of contiguous container, even
+ though basic_stacktrace would also meet the requirements.
+
+commit f24d86dcb1d597dc65cd10e56e80d23e331a9f1b
+Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
+Date: Sat Mar 18 20:41:27 2023 -0400
+
+ [range.subrange.general, range.adaptors] Use "present only if" (#6146)
+
+
+
diff --git a/papers/n4945.md b/papers/n4945.md
new file mode 100644
index 0000000000..2be432983d
--- /dev/null
+++ b/papers/n4945.md
@@ -0,0 +1,488 @@
+# N4945 Editors' Report -- Programming Languages -- C++
+
+Date: 2023-03-22
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: `cxxeditor@gmail.com`
+
+## Acknowledgements
+
+Thanks to all those who have [submitted editorial
+issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
+and to those who have provided pull requests with fixes.
+Thank you also to Robert Leahy for drafting motion applications,
+and special thanks to Johel Ernesto Guerrero Peña for providing in-depth review
+of many of the draft motion applications.
+
+## New papers
+
+ * [N4944](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4944.pdf) is the
+ current working draft for C++23. It replaces
+ [N4928](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4928.pdf).
+ * N4945 is this Editors' Report.
+
+## National body comments on the Committee Draft
+
+N4919 is the C++23 Committee Draft. It received 137 comments from national bodies.
+The first set of responses to all 11 editorial comments and to 49 non-editorial comments
+was incorporated into the previous working draft, N4928; see the
+[previous Editors' Report](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4929.html)
+for details. The present working draft contains the final set of responses,
+to 26 non-editorial comments, as noted below.
+
+### Non-editorial comments
+
+* **FR 012:** Fixed by [P2675R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2675r1.pdf) (LWG poll 10)
+* **FR 013:** Fixed by [P2736R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2736r2.pdf) (CWG poll 8)
+* **FR 021:** Fixed by [P2164R9](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2164r9.pdf) (LWG poll 6)
+* **FR 023:** Fixed by [P2693R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2693r1.pdf) (LWG poll 12)
+* **US 035:** Fixed by [CWG2642](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2796r0.html#2642) (CWG poll 1)
+* **US 036:** Fixed by [P2788R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2788r0.html) (CWG poll 9)
+* **DE 038:** Fixed by [CWG2659](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2796r0.html#2659) (CWG poll 6)
+* **CA 076**: Fixed by [LWG3871](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2790r0.html#3871) (LWG poll 3)
+* **US 077:** Fixed by [P2652R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2652r2.html) (LWG poll 16)
+* **DE 079:** Fixed by [P2614R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2614r2.pdf) (LWG poll 18)
+* **GB 080**: Fixed by [LWG3828](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2790r0.html#3828) (LWG poll 3)
+* **GB 081**: Fixed by [LWG3827](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2790r0.html#3827) (LWG poll 3)
+* **GB 082**: Fixed by [LWG3827](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2790r0.html#3827) (LWG poll 3)
+* **GB 084**: Fixed by [LWG3869](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2790r0.html#3869) (LWG poll 3)
+* **CA 086:** Fixed by [P2679R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2679r2.html) (LWG poll 13)
+* **GB 089:** Fixed by [P2674R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2674r1.pdf) (LWG poll 14)
+* **US 098:** Fixed by [P2713R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2713r1.html) (LWG poll 9)
+* **US 099:** Fixed by [P2609R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2609r3.html) (LWG poll 8)
+* **US 108:** Duplicate of FR 021
+* **US 116:** Fixed by [P2787R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2787r1.pdf) (LWG poll 17)
+* **GB 121**: Fixed by [LWG3870](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2790r0.html#3870) (LWG poll 3)
+* **US 126:** Fixed by [P2770R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2770r0.html) (LWG poll 5)
+* **US 131:** Fixed by [P2588R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2588r3.html) (LWG poll 19)
+* **FR 133:** Duplicate of FR 013
+* **FR 134:** Duplicate of US 098
+* **DE 135:** Duplicate of US 131
+
+## Motions incorporated into working draft
+
+### Notes on motions
+
+* CWG Poll 7 does not modify the C++ Working Paper.
+* For CWG Poll 4, the proposed wording of [CWG 2521](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2796r0.html#2521)
+ erroneously used the non-existing grammar production *pp-token*,
+ which was fixed to *preprocessing-token*.
+* For CWG Poll 8, a change of "character classes" to "character properties"
+ missing from [P2736R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2736r2.pdf)
+ was applied.
+* CWG Poll 8, LWG Polls 9 and 11 all affect Unicode-related wording. While the
+ wording for the latter two was given relative to the status quo ante, the
+ actual wording has been adjusted to incorporate the changes from the CWG poll.
+ Moreover, we now always use the phrase "UAX #N of the Unicode Standard".
+* For LWG Poll 2, issue [LWG 3821](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2789r0.html#3821),
+ the new overload was marked as "freestanding" to match the surrounding interface;
+ this was not in the proposed wording.
+* For LWG Poll 6, an unused and erroneous default argument "`pos = 0`" was removed.
+* For LWG Poll 16, the wording has been reconciled with the changes from issue
+ [LWG 3775](https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2703r0.html#3775)
+ that was applied after the previous meeting.
+
+### Core working group polls
+
+CWG Poll 1: Accept as a Defect Report and apply the proposed resolution of all issues
+except issues 2518, 2521, 2659, 2674, 2678, and 2691 in [P2796R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2796r0.html)
+(Core Language Working Group "ready" Issues for the February, 2023 meeting) to the C++ Working Paper.
+
+CWG Poll 2: Apply the proposed resolution of issues 2674 and 2691
+in [P2796R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2796r0.html)
+(Core Language Working Group "ready" Issues for the February, 2023 meeting) to the C++ Working Paper.
+
+CWG Poll 3: Accept as a Defect Report and apply the proposed resolution of issue 2518 (Conformance requirements and `#error`/`#warning`)
+in [P2796R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2796r0.html)
+(Core Language Working Group "ready" Issues for the February, 2023 meeting) to the C++ Working Paper.
+
+CWG Poll 4: Accept as a Defect Report and apply the proposed resolution of issue 2521 (User-defined literals and reserved identifiers)
+in [P2796R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2796r0.html)
+(Core Language Working Group "ready" Issues for the February, 2023 meeting) to the C++ Working Paper.
+
+CWG Poll 5: Accept as a Defect Report and apply the proposed resolution of issue 2678
+(`std::source_location::current` is unimplementable) in [P2796R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2796r0.html)
+(Core Language Working Group "ready" Issues for the February, 2023 meeting) to the C++ Working Paper.
+
+CWG Poll 6: Apply the proposed resolution of issue 2659 (Missing feature-test macro for lifetime extension in range-for loop)
+in [P2796R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2796r0.html)
+(Core Language Working Group "ready" Issues for the February, 2023 meeting) to the C++ Working Paper, resolving NB comment DE 038.
+
+CWG Poll 7: Specify that [P2647R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2647r1.html)
+(Permitting static constexpr variables in constexpr functions) (applied in November, 2022) is no longer a Defect Report.
+
+CWG Poll 8: Apply the changes in [P2736R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2736r2.pdf) (Referencing The Unicode Standard)
+to the C++ Working Paper, resolving NB comments FR 133 and FR 013.
+
+CWG Poll 9: Accept as a Defect Report and apply the changes in [P2788R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2788r0.html)
+(Linkage for modular constants) to the C++ Working Paper, resolving NB comment US 036.
+
+CWG Poll 10: Apply the changes in [P2797R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2797r0.html)
+(Proposed resolution for CWG2692 Static and explicit object member functions with the same parameter-type-lists) to the C++ Working Paper.
+
+### Library working group polls
+
+Poll 1 does not concern the C++ Working Paper.
+
+LWG Poll 2: Apply the changes for all Ready and Tentatively Ready issues in [P2789R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2789r0.html)
+(C++ Standard Library Issues to be moved in Issaquah, Feb. 2023) to the C++ working paper.
+
+LWG Poll 3: Apply the changes for all Immediate issues except 3441 in [P2790R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2790r0.html)
+(C++ Standard Library Immediate Issues to be moved in Issaquah, Feb. 2023) to the C++ working paper.
+
+LWG Poll 4: Apply the changes for the Immediate issue 3441 in [P2790R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2790r0.html)
+(C++ Standard Library Immediate Issues to be moved in Issaquah, Feb. 2023) to the C++ working paper.
+
+LWG Poll 5: Apply the changes in [P2770R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2770r0.html)
+(Stashing stashing iterators for proper flattening) to the C++ working paper. This addresses ballot comment US 126.
+
+LWG Poll 6: Apply the changes in [P2164R9](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2164r9.pdf)
+(`views::enumerate`) to the C++ working paper. This addresses ballot comments FR 021 and US 108.
+
+LWG Poll 7: Apply the changes in [P2711R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2711r1.html)
+(Making multi-param constructors of views explicit) to the C++ working paper.
+
+LWG Poll 8: Apply the changes in [P2609R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2609r3.html)
+(Relaxing Ranges Just A Smidge) to the C++ working paper. This addresses ballot comment US 099.
+
+LWG Poll 9: Apply the changes in [P2713R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2713r1.html)
+(Escaping improvements in `std::format`) to the C++ working paper. This addresses ballot comments US 098 and FR 134.
+
+LWG Poll 10: Apply the changes in [P2675R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2675r1.pdf)
+(`format`'s width estimation is too approximate and not forward compatible) to the C++ working paper. This addresses ballot comment FR 012.
+
+LWG Poll 11: Apply the changes in [P2572R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2572r1.html)
+(`std::format` fill character allowances) to the C++ working paper.
+
+LWG Poll 12: Apply the changes in [P2693R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2693r1.pdf)
+(Formatting `thread::id` and `stacktrace`) to the C++ working paper. This addresses ballot comment FR 023.
+
+LWG Poll 13: Apply the changes in [P2679R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2679r2.html)
+(Fixing `std::start_lifetime_as` for arrays) to the C++ working paper. This addresses ballot comment CA 086.
+
+LWG Poll 14: Apply the changes in [P2674R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2674r1.pdf)
+(A trait for implicit lifetime types) to the C++ working paper. This addresses ballot comment GB 089.
+
+LWG Poll 15: Apply the changes in [P2655R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2655r3.html)
+(`common_reference_t` of `reference_wrapper` Should Be a Reference Type) to the C++ working paper.
+
+LWG Poll 16: Apply the changes in [P2652R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2652r2.html)
+(Disallow User Specialization of `allocator_traits`) to the C++ working paper. This addresses ballot comment US 077.
+
+LWG Poll 17: Apply the changes in [P2787R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2787r1.pdf)
+(`pmr::generator` - Promise Types are not Values) to the C++ working paper. This addresses ballot comment US 116.
+
+LWG Poll 18: Apply the changes in [P2614R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2614r2.pdf)
+(Deprecate `numeric_limits::has_denorm`) to the C++ working paper. This addresses ballot comment DE 079.
+
+LWG Poll 19: Apply the changes in [P2588R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2588r3.html)
+(`barrier`'s phase completion guarantees) to the C++ working paper. This addresses ballot comment DE 135 and US 131.
+
+LWG Poll 20: Apply the changes in [P2763R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2763r1.html)
+(`layout_stride` static extents default constructor fix) to the C++ working paper.
+
+### Noteworthy editorial changes
+
+* In the container requirements, the presentation of "contiguous container" has
+ been reordered for a better logical progression, which was made possible by
+ the earlier dissolution of the requirements tables.
+
+### Minor editorial changes
+
+A log of editorial fixes made to the working draft since N4928 is below. This
+list excludes changes that do not affect the body text or only affect whitespace
+or typeface. For a complete list including such changes (or for the actual
+deltas applied by these changes), consult the [draft sources on
+github](https://github.com/cplusplus/draft/compare/n4928...n4944).
+
+ commit 538ed7470087a1304ec9c04db8b00de1d4f40d03
+ Author: Thomas Köppe Date: 2023-05-10
+ +Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
Email: cxxeditor@gmail.com
Thanks to all those who have submitted editorial +issues +and to those who have provided pull requests with fixes.
+ +There have not been any motions from WG21 since the last working draft. This +revision incorporates all the changes requested by the editorial review +committee in preparation of the Draft International Standard (DIS) ballot, +as well as other editorial changes.
+ +A log of editorial fixes made to the working draft since N4944 is below. This +list excludes changes that do not affect the body text or only affect whitespace +or typeface. For a complete list including such changes (or for the actual +deltas applied by these changes), consult the draft sources on +github.
+ +commit b8512a1c292adee71c1145d3c61e32d48dcb8daa
+Author: morinmorin <mimomorin@gmail.com>
+Date: Wed Mar 15 01:45:28 2023 +0900
+
+ [container.requirements.general] Move exposition-only concept
+
+ The exposition-only concept container-compatible-range is defined
+ in the subclause for allocator-aware containers, that does not
+ actually use it. This requirement is used throughout the subclause
+ for a variety of contains, so relocate the definition into the
+ leading subclause that provides a key to definitions used throughout
+ the containers subclauses.
+
+commit 6e7fd98b684a92405934de981abf01414a67ddbd
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu Mar 23 14:21:22 2023 +0000
+
+ [version.syn] bump value of __cpp_lib_allocate_at_least
+
+ This is requested for the Tentatively Ready LWG issue 3887.
+
+ Fixes #6202
+
+commit a0403a9407e6520b6bbf0e818d9db8ac1282f4e1
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Sat Mar 11 20:40:30 2023 +0000
+
+ [module.interface] Fix outdated example
+
+commit 2c7e87d447d65684c74890074999c60bb45712ab
+Author: Christian Trott <crtrott@sandia.gov>
+Date: Fri Mar 24 09:32:22 2023 -0700
+
+ [mdspan.layout.left.cons] extents() should be other.extents() (#6069)
+
+ The precondition was erroneously referring to the not yet
+ constructed extents instead of other.extents().
+
+ Note that the extents of the to be constructed layout will be
+ initialized with other.extents - i.e. after construction they will
+ return the same value for the fwd-prod-of-extents etc.
+
+commit 1b0fe66324f2d5e7861397d7f537243833418cde
+Author: Jakub Mazurkiewicz <mazkuba3@gmail.com>
+Date: Fri Mar 24 17:33:09 2023 +0100
+
+ [range.cartesian.view] Add missing views:: qualifier (#6059)
+
+commit 562af663363337848bcb34a8f5ba37641fb0560e
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Mar 27 17:06:50 2023 -0400
+
+ [over.literal] Cross-reference deprecated grammar (#6209)
+
+ The core convention is to retain deprecated wording in the
+ core clauses, but always make a reference to Annex D
+ where a feature, or parts of a feature, are deprecated.
+
+commit ac47f9cb768760f0abd7a57cbf3074ad5eebf011
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Mar 27 17:09:44 2023 -0400
+
+ [container.reqmts] Move requirements to the right place (#6199)
+
+ As part of the replacement of the container requirements tables with text,
+ several paragraphs of general container requirements were buried
+ in the new subsections for more specific requirements such as
+ reversible containers or allocator-aware containers.
+
+ This seems to have happened when general container requirements
+ followed one of the container requirements tables that are now expressed
+ as text. This change carefully restores text to the general container requirements
+ clause, in the original order they appeared in C++20.
+
+commit bb65fc8e22b8e056cfbeb45ba65c6f37bf355182
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Mar 28 21:04:20 2023 +0200
+
+ [dcl.decl.general] Fix cross-references
+
+ "templated function" is defined in [temp.pre], but avoid having
+ two cross-references to the same place in the same paragraph by
+ dropping the cross-reference for the definition of the grammar
+ non-terminal "requires-clause".
+
+commit 8c99598b60f0a059b37c7e1fd82480aaf32169a5
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Mar 29 10:47:27 2023 +0100
+
+ [class.member.lookup] Also change "N" to "M" in note.
+
+ This change should have been part of the resolution of CWG2642 (via
+ CWG Motion 1), but was accidentally omitted there.
+
+commit 8e2d6ee92f372d9526c01a8fb601da9921c94b2a
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Mar 29 16:08:57 2023 +0100
+
+ [stacktrace.format] Use full typename "basic_stacktrace<Allocator>".
+
+commit 70b2f7b6bf0d7fe3d87d9438459f766fdd83b08c
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Mar 29 17:31:24 2023 +0100
+
+ [indirectcallable.indirectinvocable] Remove stray "&".
+
+ This was an error in the application of P2609R3.
+
+commit 08581e85636794384029de729a641975bb13260c
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Sun Apr 16 05:18:24 2023 -0400
+
+ [alg.unique] fix typo: namepace -> namespace
+
+commit 1a2e97de0517bb9ee1715a9664fa2861fa025cda
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Mon Apr 17 14:31:05 2023 +0800
+
+ [range.repeat.iterator] Remove redundant period (#6234)
+
+commit 44ff7aa92ba7f716abe96c29876b2ea145a22c66
+Author: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
+Date: Fri Apr 21 18:56:31 2023 +0330
+
+ [check.yml] update version of "upload" action (#6231)
+
+ Update the `actions/upload-artifact` action to version 3.
+
+commit 413b147b0f48ea87606e0b7fbc107c8316b98fc3
+Author: Detlef Riekenberg <wine.dev@web.de>
+Date: Thu Apr 27 04:00:32 2023 +0200
+
+ [compliance, headers.cpp.fs] Fix subclause name for cstddef (#6227)
+
+commit 82ecf4355a016847ffcf778abfcf1fe96d02fc79
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Sun Apr 30 07:56:10 2023 -0400
+
+ [flat.map.modifiers] Fix erroneous "try_emplace_hint" (#6238)
+
+ The hint-taking operation is instead an overload of try_emplace.
+
+commit 9568c66abd12eadd696b9f16bb4884908e2aad66
+Author: Daniel Krügler <daniel.kruegler@gmail.com>
+Date: Sun Apr 30 13:57:23 2023 +0200
+
+ [ranges] Remove "inline" from variable templates (#6218)
+
+commit bdd25a63a8a84a1183ebc125dac132d0572f67fd
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Sun Apr 30 08:02:42 2023 -0400
+
+ [iterator.concept.winc] Improve implementation-defined text (#6228)
+
+commit 057da6c79e35cc4cdebaa5a6096738f273c6c2e8
+Author: tocic <tocic@protonmail.ch>
+Date: Wed Sep 28 13:14:14 2022 +0300
+
+ [back, macros] Fix inconsistent hyphenation of "cross-reference"
+
+commit d1e109e43d7625f4a4ebb6a045fc68a275fca611
+Author: tocic <tocic@protonmail.ch>
+Date: Wed Sep 28 13:19:36 2022 +0300
+
+ [std] Fix inconsistent hyphenation of "multidimensional"
+
+commit bf9edb92183b34421dd6e02474f2ac943fd7cea3
+Author: tocic <tocic@protonmail.ch>
+Date: Fri Apr 7 13:56:59 2023 +0300
+
+ [diff.cpp17.temp] Fix inconsistent hyphenation of "well-formed"
+
+commit 62cd54aedecb8bf152e80b1aced64d80e0b8bff6
+Author: tocic <tocic@protonmail.ch>
+Date: Fri Apr 7 13:57:28 2023 +0300
+
+ [diff.cpp17.depr] Fix inconsistent hyphenation of "well-defined"
+
+commit 57ad77984fd2e07c90b1bb8ca34125452688031a
+Author: tocic <tocic@protonmail.ch>
+Date: Fri Apr 7 13:51:09 2023 +0300
+
+ [fs.path.type.cvt] Fix inconsistent hyphenation of "error-prone"
+
+commit e16a651b7d6f490e9ffe003c9ca382970c478c1d
+Author: tocic <tocic@protonmail.ch>
+Date: Fri Apr 7 13:45:39 2023 +0300
+
+ [filesystems] Fix inconsistent hyphenation of "subdirectory"
+
+commit f52423c2a4d60d0ad653a3c8e2895037df016db0
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sun Apr 30 14:07:51 2023 +0100
+
+ [format.string.std] Clarify how an integer is interpreted
+
+commit 62d7d5a2e51d63d676cc93bfe69d4d55ea635983
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sun Apr 30 14:15:35 2023 +0100
+
+ [class.{default,copy}.ctor] Use new term "constexpr-suitable".
+
+ As of CWG2602 (ce7d8b0360e1509de6f7fd073d0a091238b1326f), the term
+ "constexpr-suitable" replaces the previous phrase "satisfy the
+ requirements for a constexpr function".
+
+commit 696ddeb2b28b48efaffa93b881ff667d85d0a457
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sun Apr 30 14:22:32 2023 +0100
+
+ [time.duration.general] Use new term "constexpr-suitable".
+
+commit 79aef51943810dcf14654490fb6101bbc9e4a0f9
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sun Apr 30 14:23:05 2023 +0100
+
+ [pairs.pair, variant.ctor, tuple.cnstr] Use new term "constexpr-suitable".
+
+commit b6903b6fe23d06e23191e672ae287f0de0de472c
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon May 1 09:47:08 2023 +0200
+
+ [cpp.predefined] Add __cpp_auto_cast
+
+commit 8f946881355fbbe031a325168078b2925e029bba
+Author: xmh0511 <970252187@qq.com>
+Date: Tue May 2 01:31:02 2023 +0800
+
+ [temp.variadic] Change "init-capture pack" to "init-capture pack declaration"
+
+commit b81e4be37c5f7a4d374546a72bfc82c96601aee2
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Fri May 5 12:01:05 2023 +0100
+
+ [container.alloc.reqmts] Fix incorrect change of \mandates to \expects
+
+ This was incorrectly changed from a \mandates to an \expects when
+ 93ff092d1cd2b335f372b9546365b3d495caf2d8 replaced the requirements
+ tables.
+
+commit 7003252f4db8b388dd097790b374ffed3be1ff56
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Sun May 7 16:27:19 2023 -0400
+
+ [flat.map.cons] Close an angle bracket (#6245)
+
+commit e7492cef7f930089e009913bff6ac30f41d6165e
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sat May 6 02:47:07 2023 +0100
+
+ [format] Fix presentation of whitespace; use \caret
+
+commit f8f5b8b564a785297a43b6b823b521e5adc79fb9
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Mon May 8 14:30:31 2023 -0400
+
+ [flat.map.modifiers] "Arg..." should be "Args..." (#6249)
+
+commit 02545c761c7f6c9e336c6badf8660b2baf4ac627
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Tue May 9 13:25:42 2023 -0400
+
+ [flat.set.modifiers] `(first, last)` should be `rg` (#6246)
+
+ Restore consistency with [flat.map.modifiers]/13, which already uses `ranges::distance(rg)`.
+
+
+
diff --git a/papers/n4951.md b/papers/n4951.md
new file mode 100644
index 0000000000..01e7a0651d
--- /dev/null
+++ b/papers/n4951.md
@@ -0,0 +1,306 @@
+# N4951 Editors' Report -- Programming Languages -- C++
+
+Date: 2023-05-10
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: `cxxeditor@gmail.com`
+
+## Acknowledgements
+
+Thanks to all those who have [submitted editorial
+issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
+and to those who have provided pull requests with fixes.
+
+## New papers
+
+ * [N4950](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4950.pdf) is the
+ current and final working draft for C++23. It replaces
+ [N4944](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4944.pdf), and it
+ forms the basis of the Draft International Standard for C++23.
+ * N4951 is this Editors' Report.
+ * The next working draft will be for C++26.
+
+### Editorial changes
+
+There have not been any motions from WG21 since the last working draft. This
+revision incorporates all the changes requested by the editorial review
+committee in preparation of the Draft International Standard (DIS) ballot,
+as well as other editorial changes.
+
+### Minor editorial changes
+
+A log of editorial fixes made to the working draft since N4944 is below. This
+list excludes changes that do not affect the body text or only affect whitespace
+or typeface. For a complete list including such changes (or for the actual
+deltas applied by these changes), consult the [draft sources on
+github](https://github.com/cplusplus/draft/compare/n4944...n4950).
+
+ commit b8512a1c292adee71c1145d3c61e32d48dcb8daa
+ Author: morinmorin Date: 2023-08-14
+ +Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
Email: cxxeditor@gmail.com
Thanks to all those who have submitted editorial +issues +and to those who have provided pull requests with fixes, +and special thanks to Johel Ernesto Guerrero Peña for providing in-depth review +of many of the draft motion applications.
+ +All motions were applied cleanly. In a small number of cases, the approved +wording was based on an older draft and needed reconciliation with intervening +changes, but it was clear how to do this.
+ +function_ref
: a type-erased callable reference", LWG Poll 18),
+among some minor fixes for correctness and consistency,
+exposition-only members have been added explicitly to the class synopsis,
+which had only been mentioned in the descriptive text in the approved wording.__cpp_lib_format
has been modified three times, as follows:
+__cpp_lib_within_lifetime
to __cpp_lib_is_within_lifetime
,
+which seems more appropriate and follows existing practice.submdspan
, LWG Poll 29), numerous minor editorial corrections and improvements
+have been applied; see the full commit log for details.CWG Poll 1: Accept as Defect Reports and apply the proposed resolutions of all issues in +P2922R0 +(Core Language Working Group "ready" Issues for the June, 2023 meeting) to the C++ Working Paper.
+ +CWG Poll 2: Accept as a Defect Report and apply the changes in +P2621R2 +(UB? In my Lexer?) to the C++26 Working Paper.
+ +CWG Poll 3: Accept as a Defect Report and apply the changes in +P1854R4 +(Making non-encodable string literals ill-formed) to the C++26 Working Paper.
+ +CWG Poll 4: Apply the changes in P2361R6 +(Unevaluated strings) to the C++26 Working Paper.
+ +CWG Poll 5: Apply the changes in P2558R2
+(Add @
, $
, and `
to the basic character set) to the C++26 Working Paper.
CWG Poll 6: Apply the changes in P2738R1
+(constexpr cast from void*
: towards constexpr type-erasure) to the C++26 Working Paper.
CWG Poll 7: Accept as a Defect Report and apply the changes in +P2915R0 +(Proposed resolution for CWG1223) to the C++26 Working Paper.
+ +CWG Poll 8: Accept as a Defect Report and apply the changes in +P2552R3 +(On the ignorability of standard attributes) to the C++26 Working Paper.
+ +CWG Poll 9: Accept as a Defect Report and apply the changes in +P2752R3 +(Static storage for braced initializers) to the C++26 Working Paper.
+ +CWG Poll 10: Apply the changes in P2741R3
+(User-generated static_assert
messages) to the C++26 Working Paper.
CWG Poll 11: Apply the changes in P2169R4 +(A nice placeholder with no name) to the C++26 Working Paper.
+ +LWG Poll 1: Apply the changes for all Tentatively Ready issues in +P2910R0 +(C++ Standard Library Issues to be moved in Varna, Jun. 2023) to the C++ working paper.
+ +LWG Poll 2: Apply the changes in P2497R0
+(Testing for success or failure of <charconv>
functions) to the C++ working paper.
LWG Poll 3: Apply the changes in P2592R3
+(Hashing support for std::chrono
value classes) to the C++ working paper.
LWG Poll 4: Apply the changes in P2587R3
+(to_string
or not to_string
) to the C++ working paper.
LWG Poll 5: Apply the changes in P2562R1
+(constexpr
Stable Sorting) to the C++ working paper.
LWG Poll 6: Apply the changes in P2545R4 +(Read-Copy Update (RCU)) to the C++ working paper.
+ +LWG Poll 7: Apply the changes in P2530R3 +(Hazard Pointers for C++26) to the C++ working paper.
+ +LWG Poll 8: Apply the changes in P2538R1
+(ADL-proof std::projected
) to the C++ working paper.
LWG Poll 9: Apply the changes in P2495R3
+(Interfacing stringstreams with string_view
) to the C++ working paper.
LWG Poll 10: Apply the changes in P2510R3 +(Formatting pointers) to the C++ working paper.
+ +LWG Poll 11: Apply the changes in P2198R7 +(Freestanding Feature-Test Macros and Implementation-Defined Extensions) to the C++ working paper.
+ +LWG Poll 12: Apply the changes in P2338R4 +(Freestanding Library: Character primitives and the C library) to the C++ working paper.
+ +LWG Poll 13: Apply the changes in P2013R5
+(Freestanding Language: Optional ::operator new
) to the C++ working paper.
LWG Poll 14: Apply the changes in P0493R4 +(Atomic maximum/minimum) to the C++ working paper.
+ +LWG Poll 15: Apply the changes in P2363R5 +(Extending associative containers with the remaining heterogeneous overloads) to the C++ working paper.
+ +LWG Poll 16: Apply the changes in P1901R2
+(Enabling the Use of weak_ptr
as Keys in Unordered Associative Containers) to the C++ working paper.
LWG Poll 17: Apply the changes in P1885R12 +(Naming Text Encodings to Demystify Them) to the C++ working paper.
+ +LWG Poll 18: Apply the changes in P0792R14
+(function_ref
: a type-erased callable reference) to the C++ working paper.
LWG Poll 19: Apply the changes in P2874R2 +(Mandating Annex D) to the C++ working paper.
+ +LWG Poll 20: Apply the changes in P2757R3 +(Type checking format args) to the C++ working paper.
+ +LWG Poll 21: Apply the changes in P2637R3
+(Member visit
) to the C++ working paper.
LWG Poll 22: Apply the changes in P2641R4 +(Checking if a union alternative is active) to the C++ working paper.
+ +LWG Poll 23: Apply the changes in P1759R6 +(Native handles and file streams) to the C++ working paper.
+ +LWG Poll 24: Apply the changes in P2697R1
+(Interfacing bitset
with string_view
) to the C++ working paper.
LWG Poll 25: Apply the changes in P1383R2
+(More constexpr
for <cmath>
and <complex>
) to the C++ working paper.
LWG Poll 26: Apply the changes in P2734R0 +(Adding the new 2022 SI prefixes) to the C++ working paper.
+ +LWG Poll 27: Apply the changes in P2548R6
+(copyable_function
) to the C++ working paper.
LWG Poll 28: Apply the changes in P2714R1 +(Bind front and back to NTTP callables) to the C++ working paper.
+ +LWG Poll 29: Apply the changes in P2630R4
+(submdspan
) to the C++ working paper.
Some Unicode examples of the new formatting facilities had been missing from the +last few working drafts (but are present in the C++23 DIS) because they needed +some bespoke handling. This has now been integrated into the main branch, and +the examples now appear correctly in the working draft. (The examples are +generated with LuaTeX. As a side effect, the typeface used in existing diagrams +has been changed to match the one used for the main body text. We have also +explored switching the typesetting engine for the main document from eTeX to +LuaTeX. This is possible in principle, but results in slightly lower typographic +quality at the moment, so we are holding off on this and will revisit this +change in the future.)
+ +The title of the working draft has been changed to "Working Draft, Programming +Languages — C++", to match the official title of the standard more closely.
+ +A log of editorial fixes made to the working draft since N4950 is below. This +list excludes changes that do not affect the body text or only affect whitespace +or typeface. For a complete list including such changes (or for the actual +deltas applied by these changes), consult the draft sources on +github.
+ +commit abb81facf56f82a7487b3f64ae337ce2802c4bf3
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri May 12 09:38:16 2023 +0200
+
+ [intro.execution] Fix bad function call in example
+
+commit 42f21d84fb374b11d44c0b367bda649636128b6a
+Author: Andrew Rogers <adr26__github@nunsway.co.uk>
+Date: Wed Apr 19 01:03:57 2023 +0100
+
+ [dcl.init.aggr] Add missing apostrophe
+
+commit 4514233a48954d0fd0669236cc986640e33feb04
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Fri May 12 23:14:43 2023 +0200
+
+ [basic.compound] Fix cross-reference for 'incomplete type' (#6210)
+
+commit 4fac9f97a2c25d39a01f75cf198d0783bfa8deda
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue May 16 17:01:51 2023 +0100
+
+ [strings], [unord.req.general], [stringbuf.members]: Fix xrefs to [container.requirements.general]
+
+ All the references for "qualifies as an input iterator" and "qualifies
+ as an allocator" are supposed to be to [container.reqmts] p69 which
+ begins:
+
+ > The behavior of certain container member functions and deduction
+ > guides depends on whether types qualify as input iterators or
+ > allocators.
+
+ The reference in [string.require] for obtaining an allocator should be
+ to [container.reqmts] p64.
+
+ The reference in [string.require] Note 2 should be to
+ [container.requirements.pre] p3.
+
+ Fixes #6184
+
+commit 1be4801ac1f90aca9a8f5804a48e8bcd082f5bb9
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Thu Jun 1 20:57:05 2023 +0200
+
+ [lib] Refer to exposition-only function templates as templates, not functions (#6265)
+
+ * [tuple.apply]/1, /4
+ * [expected.object.assign]/1
+ * [iterator.cust.swap]/2
+ * [specialized.algorithms.general]/3
+
+commit c0685a584ea51d3e47381478a750729da3202b37
+Author: Géry Ogam <gery.ogam@gmail.com>
+Date: Tue Jun 13 18:21:59 2023 +0200
+
+ [basic.lval] Reword the misused term ‘classifications’ (#4913)
+
+commit ae4cba4dc8ee2437f39a451268ad6bc924076da0
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jun 20 13:29:38 2023 +0100
+
+ [cover-wd] A more appropriate title, and better line spacing
+
+commit 7e7afe0965e4e16ff651167212ea05ed9c0ef788
+Author: Eisenwave <me@eisenwave.net>
+Date: Thu Jul 6 12:45:54 2023 +0200
+
+ [expr.mul] Add missing commas (#6366)
+
+commit 384d36a0d30e6a8050e23f7193db40fb56ff4f06
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu Jul 6 20:45:10 2023 +0100
+
+ [filebuf.virtuals] fix "if width if less than zero" typo
+
+commit 964015779245341d64d93bbd0d1e11f050b32e70
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Mon Jul 10 18:53:10 2023 +0800
+
+ [time.duration.cons] Fix duplicate definition in example (#6372)
+
+commit e6c2f8fb0d5ad6cda3e2d3da63bd5d5e434635b4
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jul 18 23:16:59 2023 +0100
+
+ [diff.cpp23.expr] Fix environment ("example" should be "codeblock")
+
+commit 2109f579cc6749d19ddf9cf892e8aec4762ba344
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Jul 21 16:21:54 2023 +0100
+
+ [locale.general] Add cross-references to class synopsis
+
+commit c2e05a4080e8c79bcc9971054ca6fb6ae9b3e722
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Jul 21 17:05:10 2023 +0100
+
+ [functional.syn] Tweak cross-references in class synopsis
+
+commit 8334cc876d29595f0f2796a6de42acae937d8377
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Jul 21 23:29:54 2023 +0100
+
+ [functional.syn, func.wrap.move] Hyphenate "move-only wrapper"
+
+commit 7fb62d5f50bfbfc159df4ca0af932ee82d26bc41
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Jul 21 18:13:28 2023 +0100
+
+ [version.syn] Rename smart_pointer_owner_equality to smart_ptr_owner_equality
+
+ For consistency: the use of "ptr" is already prevailing.
+
+commit 56a6b7fe068726ace9196366c968cc679653cc04
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Wed May 17 23:27:22 2023 +0800
+
+ <ranges> Add missing colon for the Effects: Equivalent to return format
+
+commit a34d2e08bda9b1314ecec1b608745a88a678d664
+Author: vasama <git@vasama.org>
+Date: Wed Jun 7 11:01:02 2023 +0300
+
+ [expr.pre] Clarify note on pointer subtraction
+
+commit 96f695aea7589a62e5ebb55a18a40f985f7d89ce
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jun 13 09:18:01 2023 +0300
+
+ [basic.def.odr] Restructure requirements in p14-p15
+
+commit ebba9f316ddd8c120608447b00ea32bf3926a18d
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Sun Jul 23 02:29:17 2023 +0100
+
+ [func.wrap.func.general, func.wrap.move.class] Remove redundant declaration (#6273)
+
+ We don't need to repeat the declarations of the incomplete primary
+ template, they are already present in the <functional> synopsis.
+
+commit e6bd946d953b76e908a8e853d93834572c125d59
+Author: Richard Smith <richard@metafoo.co.uk>
+Date: Fri Jul 14 13:31:47 2023 -0700
+
+ [basic.scope.scope] Avoid hard-to-read except...unless construction.
+
+ Factor out a name for the "unless" condition to avoid the double-negative.
+
+commit 3769c701daf9ae38f8db054670106abca7c03d32
+Author: Roger Orr <rogero@howzatt.co.uk>
+Date: Tue Jul 18 23:54:34 2023 +0100
+
+ [dcl.ambig.res] fix double declaration of 'y' in example
+
+commit 0bf51a3bc5c24b070265412c32e53a0060d73eef
+Author: Christian Trott <crtrott@sandia.gov>
+Date: Sat Jul 22 19:33:41 2023 -0600
+
+ [mdspan.layout.stride.cons] Fix missed rename of template parameter (#6385)
+
+ "LayoutStrideMapping" should say "StridedLayoutMapping".
+
+commit f8feaa6e5bc8e6d28e00c06a3de305f80f395913
+Author: Eelis van der Weegen <eelis@eelis.net>
+Date: Fri Jul 21 11:43:39 2023 +0200
+
+ [version.syn] Fix header references.
+
+commit 872bda08678d1aeecfc555f26920cec28a2ad497
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Thu Jun 1 14:59:00 2023 +0000
+
+ [basic.stc.dynamic.allocation] Remove redundant 'address of' from a note
+
+commit 880531fad125c4b806300151ddcb961a7f44a181
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Sat Jul 22 21:49:38 2023 -0400
+
+ [flat.{,multi}{map,set}.cons]: zip_view should be views::zip (#6373)
+
+ We don't expect to use CTAD on `ranges::zip_view(args...)`;
+ what we expect is `views::zip`.
+
+commit a417ade53722d944481baac575292874c1bcc79a
+Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
+Date: Sat Jul 22 21:50:37 2023 -0400
+
+ [range.enumerate.overview] Add cross reference to [range.adaptor.object] (#6219)
+
+commit 7f100cc67b0bb263e2f438238e87555347ae45c0
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Sun Jul 23 17:50:27 2023 +0800
+
+ [input.output] Fix the "Effects: Equivalent to" format (#6402)
+
+commit 9334219bd95a85e86b20c8a712397f9f23f0f7a8
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sun Jul 23 06:59:28 2023 +0200
+
+ [class.copy.assign] Remove note obsoleted by CWG2586
+
+commit 503b4b261061bdd2481e1e4f1153481a0a75ecee
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sun Jul 23 08:29:10 2023 +0200
+
+ [dcl.fct.def.default] Highlight different references in defaulted assignments
+
+commit a567088b0ab8ca62f0ff5a7b4746337ac3f6df9b
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Mon Jul 24 12:45:57 2023 +0100
+
+ [assets] Move separate assets into "assets" subdirectory
+
+commit 7e2cc3ba6a30a693a96bbc37c4d8428d92ce1fa8
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Aug 19 17:03:37 2022 +0100
+
+ [assets] Unicode examples
+
+commit 589af92ce99b91444a3e6155cb64f8009918e885
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sun Aug 28 02:09:47 2022 +0100
+
+ [format.string.{std,escaped}, macros] Add missing examples
+
+commit f61a2c8a847e846ba1167c876b0fc1532ab433d7
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Mon Jul 24 21:27:00 2023 +0100
+
+ [format.string.escape] Fix mis{sing,escaped} braces
+
+ This was an oversight in the application of
+ https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2713r0.html
+ in e38ea31d46ca2964c4f9169f049e2f15e2cd5957.
+
+commit 3b2a8ee11725eb485df89dec40a7e0fc965debb2
+Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
+Date: Fri Jul 21 12:46:48 2023 -0400
+
+ [func.wrap.ref.class] change deduction guide to match its detailed specifications
+
+commit d5160c6ff6c09fc0c52b5b11676c03ff179f4554
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sun Jul 23 02:51:25 2023 +0100
+
+ [mdspan.submdspan.extents] Factor out common result expression
+
+commit 84cf8ef63a479a3fda05a219dd26ab4b8c6a8e32
+Author: Jakub Mazurkiewicz <mazkuba3@gmail.com>
+Date: Tue Jul 25 01:06:49 2023 +0200
+
+ [mdspan.mdspan.cons] `OtherIndexType` is not a parameter pack; missing _v (#6263)
+
+commit a636f553369825bc37ac0d95c171a00c526af499
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Mon Jul 24 16:16:14 2023 +0000
+
+ [intro.object] Fix cross-references for library implicit object creation
+
+commit d09a77e09a5210c50994b89d999f3cbdfcc9a436
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Wed May 17 18:51:00 2023 +0100
+
+ [re.results.general, string.cons] Fix references to container reqmts
+
+ [re.results.general] should refer to [container.alloc.reqmts] for an
+ allocator-aware container, [strings.cons] should refer to sequence
+ container requirements.
+
+commit dd32b7eeb21e0ca8be7aae1996814a2ffda0ed83
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu May 18 12:54:12 2023 +0100
+
+ [container.gen.reqmts] Adjust subclause names and stable tags
+
+ There are no more cross-references to [container.gen.reqmts] or
+ [container.requirements.general], so this doesn't affect anything else.
+
+commit a0e6740cda724c192ea14979e2fa92e9f38cf242
+Author: Janet Cobb <git@randomcat.org>
+Date: Mon Jul 24 12:09:44 2023 -0400
+
+ [basic.fundamental] Clarify that table of minimum integral type widths applies only to standard integral types
+
+commit 3a2586ccb4112f32f08643f7fcafab0b6b7956e2
+Author: Joshua Berne <berne@notadragon.com>
+Date: Fri Jul 28 15:31:51 2023 -0400
+
+ [dcl.attr.grammar] Fix typo "appeartain" -> "appertain" (#6420)
+
+commit 00b4bb25e7b881cc53dca91dd44ef87c9696b19c
+Author: Jan Schultke <me@eisenwave.net>
+Date: Sun Aug 13 22:35:57 2023 +0200
+
+ [over.ics.list] Fix missing std:: in example (#6453)
+
+commit cf7d5820d2ab8352d96462c647b735dc575cc1cb
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Aug 15 00:12:21 2023 +0200
+
+ [depr.static.constexpr] Cross-reference core clauses for deprecated feature (#6448)
+
+commit 1353359777de653346dd05ed117bba3627b6c7ca
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Jan 24 18:51:02 2023 +0100
+
+ [class.mem.general] Clarify class completeness
+
+commit 77d1b66193d5324b121979474d0e35645bbcfb1c
+Author: A. Jiang <de34@live.cn>
+Date: Tue Aug 1 13:39:55 2023 +0800
+
+ [memory.syn] Remove redundant freestanding mark for members
+
+ Making `allocator_arg_t` shown like `from_range_t` in [ranges.syn].
+
+commit bf304328b603d96b9da5dc38dfeb04057c67cc53
+Author: A. Jiang <de34@live.cn>
+Date: Tue Aug 1 13:42:07 2023 +0800
+
+ [ranges.syn] Remove redundant freestanding mark for members
+
+commit d347b328e058bb4b357a2b7b4733c923fca6fd98
+Author: Jan Schultke <me@eisenwave.net>
+Date: Tue Aug 15 00:42:54 2023 +0200
+
+ [temp.over] itemize parts of long paragraph (#6443)
+
+commit e34a8e15e1de7eab0980af328765957c6118fc04
+Author: Jan Schultke <me@eisenwave.net>
+Date: Tue Aug 15 00:45:43 2023 +0200
+
+ [meta.unary.prop] itemize long sentence (#6436)
+
+
+
diff --git a/papers/n4959.md b/papers/n4959.md
new file mode 100644
index 0000000000..a1f6effec6
--- /dev/null
+++ b/papers/n4959.md
@@ -0,0 +1,553 @@
+# N4959 Editors' Report -- Programming Languages -- C++
+
+Date: 2023-08-14
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: `cxxeditor@gmail.com`
+
+## Acknowledgements
+
+Thanks to all those who have [submitted editorial
+issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
+and to those who have provided pull requests with fixes,
+and special thanks to Johel Ernesto Guerrero Peña for providing in-depth review
+of many of the draft motion applications.
+
+## New papers
+
+ * [N4958](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4958.pdf) is the
+ current working draft for C++26. It replaces
+ [N4950](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4950.pdf).
+ * N4959 is this Editors' Report.
+
+## Motions incorporated into working draft
+
+### Notes on motions
+
+All motions were applied cleanly. In a small number of cases, the approved
+wording was based on an older draft and needed reconciliation with intervening
+changes, but it was clear how to do this.
+
+* The wording for [P1854R4](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p1854r4.pdf)
+ ("Making non-encodable string literals ill-formed", CWG Poll 3)
+ has been reconciled with previous changes from
+ [P2314R4](http://open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2314r4.html)
+ ("Character sets and encodings").
+* For [P0792R14](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p0792r14.html)
+ ("`function_ref`: a type-erased callable reference", LWG Poll 18),
+ among some minor fixes for correctness and consistency,
+ exposition-only members have been added explicitly to the class synopsis,
+ which had only been mentioned in the descriptive text in the approved wording.
+* The feature test macro `__cpp_lib_format` has been modified three times, as follows:
+ * `202304L` by
+ [P2510R3](http://open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2510r3.pdf)
+ ("Formatting pointers", LWG Poll 10)
+ * `202305L` by
+ [P2757R3](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2757r3.html)
+ ("Type checking format args", LWG Poll 20)
+ * `202306L` by
+ [P2637R3](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2637r3.html)
+ ("Member `visit`", LWG Poll 21)
+* The feature test macro for
+ [P2641R4](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2641r4.html)
+ ("Checking if a union alternative is active", LWG Poll 22)
+ has been renamed from `__cpp_lib_within_lifetime` to `__cpp_lib_is_within_lifetime`,
+ which seems more appropriate and follows existing practice.
+* For [P2630R4](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2630r4.html)
+ (`submdspan`, LWG Poll 29), numerous minor editorial corrections and improvements
+ have been applied; see the full commit log for details.
+
+### Core working group polls
+
+CWG Poll 1: Accept as Defect Reports and apply the proposed resolutions of all issues in
+[P2922R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2922r0.html)
+(Core Language Working Group "ready" Issues for the June, 2023 meeting) to the C++ Working Paper.
+
+CWG Poll 2: Accept as a Defect Report and apply the changes in
+[P2621R2](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2621r2.pdf)
+(UB? In my Lexer?) to the C++26 Working Paper.
+
+CWG Poll 3: Accept as a Defect Report and apply the changes in
+[P1854R4](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p1854r4.pdf)
+(Making non-encodable string literals ill-formed) to the C++26 Working Paper.
+
+CWG Poll 4: Apply the changes in [P2361R6](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2361r6.pdf)
+(Unevaluated strings) to the C++26 Working Paper.
+
+CWG Poll 5: Apply the changes in [P2558R2](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2558r2.html)
+(Add `@`, `$`, and `
to the basic character set) to the C++26 Working Paper.
+
+CWG Poll 6: Apply the changes in [P2738R1](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2738r1.pdf)
+(constexpr cast from `void*`: towards constexpr type-erasure) to the C++26 Working Paper.
+
+CWG Poll 7: Accept as a Defect Report and apply the changes in
+[P2915R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2915r0.pdf)
+(Proposed resolution for CWG1223) to the C++26 Working Paper.
+
+CWG Poll 8: Accept as a Defect Report and apply the changes in
+[P2552R3](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2552r3.pdf)
+(On the ignorability of standard attributes) to the C++26 Working Paper.
+
+CWG Poll 9: Accept as a Defect Report and apply the changes in
+[P2752R3](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2752r3.html)
+(Static storage for braced initializers) to the C++26 Working Paper.
+
+CWG Poll 10: Apply the changes in [P2741R3](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2741r3.pdf)
+(User-generated `static_assert` messages) to the C++26 Working Paper.
+
+CWG Poll 11: Apply the changes in [P2169R4](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2169r4.pdf)
+(A nice placeholder with no name) to the C++26 Working Paper.
+
+### Library working group polls
+
+LWG Poll 1: Apply the changes for all Tentatively Ready issues in
+[P2910R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2910r0.html)
+(C++ Standard Library Issues to be moved in Varna, Jun. 2023) to the C++ working paper.
+
+LWG Poll 2: Apply the changes in [P2497R0](http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2497r0.html)
+(Testing for success or failure of `Date: 2023-10-15
+ +Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
Email: cxxeditor@gmail.com
Thanks to all those who have + submitted editorial issues + and to those who have provided pull requests with fixes.
+ +This report includes a snapshot of our dispositions on the Draft International Standard (DIS) +ballot comments for C++23 from national bodies and the ISO secretariat. Some of them only apply +to the published standard document and not the working draft, and the corresponding edits do not +appear in the working draft commit history. All comments on the ballot were editorial.
+ +There have not been any motions from WG21 since the last working draft. This +revision incorporates all the changes resulting from the DIS ballot comments for +C++23, in as far as they apply to the current working draft, as well as other +editorial changes.
+ +A log of editorial fixes made to the working draft since N4958 is below. This +list excludes changes that do not affect the body text or only affect whitespace +or typeface. For a complete list including such changes (or for the actual +deltas applied by these changes), consult the +draft sources on GitHub.
+ +commit a4b1ffd9e65188ae19c29dffd2db42cb1558cee2
+Author: Jan Schultke <me@eisenwave.net>
+Date: Tue Aug 15 01:18:00 2023 +0200
+
+ [except.terminate] add comma after introductory phrase (#6446)
+
+commit aa8a5315136feb1af9084a2a914ba19cd8758a74
+Author: Salvage <29021710+Saalvage@users.noreply.github.com>
+Date: Sun May 28 18:59:26 2023 +0200
+
+ [flat.multiset.defn] Fix minor errors and inconsistencies
+
+ [flat.set.defn] and [flat.multiset.defn] are now formatted identically.
+ Additionally removed erroenous template parameters in two deduction guides.
+
+commit d3ac7d4c1c74df5d5b375f4c0260345be18b0b0b
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Wed Aug 16 16:21:40 2023 +0200
+
+ [conv.ptr, conv.mem] Remove redundant text on null pointer comparisons (#6411)
+
+commit b55ad4cb65b53bb6b6e60064938537f07d63bfb3
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Thu Aug 17 00:32:21 2023 +0200
+
+ [algorithms.parallel.defns] New paragraph for example (#6447)
+
+ Making the example a sibling to the preceding paragraph
+ rather than part of it resets its list numbering, which is less
+ confusing than continuing numbering.
+
+commit be07cd4e87c693fb9749c1e5e7c07ee0cf9e0084
+Author: A. Jiang <de34@live.cn>
+Date: Wed Aug 2 01:28:29 2023 +0800
+
+ [diagnostics] Exposition-only formatting for members
+
+commit 7b7dedba78c8ae860db78feb3149acdf34ebb551
+Author: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
+Date: Thu Aug 17 21:04:37 2023 +0200
+
+ [time.general] Add a reference to time.hash in the summary
+
+ [time.general] has a library summary with references to the various
+ subclauses; [time.hash] was missing, add it.
+
+commit 1e9e54ef536870ea01e6b016e4219e57df0c099b
+Author: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
+Date: Thu Aug 17 21:07:27 2023 +0200
+
+ [time.hash] Fix a typo in the code for zoned_time
+
+ The `m` was supposed to be a `,` to separate the template arguments.
+
+commit a272b7cd04dc0be488250a0c6aaead160e778774
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Fri Aug 18 12:11:24 2023 +0800
+
+ [iterator.concept.readable] Add missing \expos for indirectly-readable-impl
+
+ Also adjust horizontal whitespace in related comments.
+
+commit 846dc84ac222e5f4a26373899a2cbd683f83991c
+Author: Jan Schultke <me@eisenwave.net>
+Date: Sun Aug 20 16:56:55 2023 +0200
+
+ [diff.cpp20.utilities] Hyphenate bit-fields (#6481)
+
+commit 433baff775b00c2b72d0d81d792c24617c2ace06
+Author: Jan Schultke <me@eisenwave.net>
+Date: Sun Aug 20 20:56:34 2023 +0200
+
+ [tuple.swap] Improve 'call x with y' wording (#6478)
+
+commit 1c22d62180901069128b21daa2773d40566bd983
+Author: Jan Schultke <me@eisenwave.net>
+Date: Mon Aug 21 08:31:10 2023 +0200
+
+ [lex.phases] Add cross-reference to [cpp.include] (#6485)
+
+commit a54e71ed55a590214f2f33f4b1b900263a5f0b0d
+Author: Eelis van der Weegen <eelis@eelis.net>
+Date: Fri Aug 25 18:05:32 2023 +0200
+
+ [rand.device] Remove stray \textit.
+
+ Fixes #6513.
+
+commit 9a0b5d767ed6ef038adc129856c0c0623f552abe
+Author: Jan Schultke <me@eisenwave.net>
+Date: Mon Aug 28 14:51:28 2023 +0200
+
+ [vector.data],[array.members] Clarify boolean condition (#6526)
+
+commit 8845a3778dbbd078c83a66ac09ae07e6357ec3e5
+Author: Eisenwave <me@eisenwave.net>
+Date: Mon Aug 28 15:33:11 2023 +0200
+
+ [expr.call] add further forward references
+
+commit 837d6c979124200f1e06bc582079a60767c2756b
+Author: Daniel Krügler <daniel.kruegler@gmail.com>
+Date: Sat Aug 26 18:35:55 2023 +0200
+
+ [atomics] Reword preconditions on memory_order values in a positive form
+
+commit 55b87300ce414fc5aa761838f217a957c797e9bf
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Aug 29 13:12:09 2023 +0100
+
+ [format.string.std] Fix example
+
+commit 61c089e934c1df406580eeb488dd5cee0900a7b1
+Author: A. Jiang <de34@live.cn>
+Date: Sat Jul 29 01:36:15 2023 +0800
+
+ [intro.object] Fix alignment in example
+
+ Makes the storage in the example properly aligned,
+ and explicitly states size assumption.
+
+commit 90d56dbe810e707d90322a3d16256e122e915eca
+Author: Eisenwave <me@eisenwave.net>
+Date: Sat Aug 19 15:51:27 2023 +0200
+
+ [expr.sizeof] turn identifier into a grammarterm
+
+commit f52ffc9054913f3f9a4c5dc6973f6c5c3e7f1096
+Author: Jan Schultke <me@eisenwave.net>
+Date: Wed Aug 30 08:56:33 2023 +0200
+
+ [class.access.general] Fix improper \keyword{private} (#6532)
+
+commit d02a12a70c53974442f3e3ca4a75227783ea39d7
+Author: Jan Schultke <me@eisenwave.net>
+Date: Wed Aug 30 19:54:36 2023 +0200
+
+ [lex.string] Mark "narrow string literal" as a definition (#6533)
+
+commit 31154dccdbe33aadb91d43cc03884f2d1aa5dbc0
+Author: Jan Schultke <me@eisenwave.net>
+Date: Sat Sep 2 09:08:17 2023 +0200
+
+ [class.local] Add comma after introductory phrase (#6545)
+
+commit f9d08b09ffd8f68a32cbb480d54ab517e425d519
+Author: Joshua Berne <berne@notadragon.com>
+Date: Sat Sep 2 12:56:57 2023 -0400
+
+ [diff.cpp20.thread] Add hyphen for "ill-formed" (#6550)
+
+commit 9130806ceb4a9476153eb7544b4509b713cce3e0
+Author: Eisenwave <me@eisenwave.net>
+Date: Wed Aug 30 14:01:06 2023 +0200
+
+ [fs.path.member] fix empty() == true
+
+commit ae4ae54b293c28d782902b955af8abae5229fc6d
+Author: Eisenwave <me@eisenwave.net>
+Date: Wed Aug 30 14:01:49 2023 +0200
+
+ [fs.path.modifiers] fix empty() == true
+
+commit ab4185710a64b303e6d302ac43c543849d79c5a8
+Author: Eisenwave <me@eisenwave.net>
+Date: Wed Aug 30 14:06:30 2023 +0200
+
+ [fs.filesystem.error.members] fix missing 'is true'
+
+commit 86b18720b37dadefe6c753ac2aec478b8f87593d
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Sep 5 16:19:25 2023 -0400
+
+ [basic.types.general] Apply Oxford comma consistently (#6554)
+
+commit 16c8ce5db2173a098a91e552dcfa3544c67e544f
+Author: Eelis <github.com@contacts.eelis.net>
+Date: Fri Sep 8 08:05:36 2023 +0200
+
+ [mdspan.submdspan.extents] Format equations as math (#6530)
+
+commit 3bdb5e7b2b947ecd9fbb42029899ec098b51c51c
+Author: Casey Carter <Casey@Carter.net>
+Date: Wed Sep 13 00:24:17 2023 -0700
+
+ [mdspan.layout.stride.cons] Fix cross-reference (#6565)
+
+commit 536653b854e293af569156864ea6aa407c90e011
+Author: Casey Carter <Casey@Carter.net>
+Date: Mon Sep 11 10:36:39 2023 -0700
+
+ [mdspan.extents.cons] require conversions to index_type to be nonnegative
+
+ "nonnegative" is meaningless for a value of some arbitrary type which we've only required to be convertible to the integral type `index_type`, so this wording clearly intends to constrain the result of the conversion.
+
+commit 5c7841b1530dc02dbf7feacd5e154b777632dc36
+Author: Casey Carter <Casey@Carter.net>
+Date: Mon Sep 11 16:56:47 2023 -0700
+
+ [mdspan.layout.stride.cons] Convert to integral type before comparing to 0
+
+ `s[i]` is an lvalue of a type that we can only convert to `index_type`; clearly the wording intends that the result of the conversion should be `> 0`.
+
+commit 24659bd716808538fb7066103a396e785e4f0099
+Author: Casey Carter <Casey@Carter.net>
+Date: Mon Sep 11 16:59:56 2023 -0700
+
+ [mdspan.layout.stride.expo] Convert to integral type to perform math
+
+ [mdspan.layout.stride.cons] uses either a span or array of a type which we can only convert to `index_type` as the second argument to the exposition-only `REQUIRED-SPAN-SIZE`. We must perform that conversion before doing math with the result.
+
+commit 81c3897d34ccd32d4ccdbe3c74091ba1db458533
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Wed Oct 4 00:22:33 2023 +0800
+
+ [const.iterators.ops] Add missing \pnum and replace returns with effects (#6581)
+
+commit 34cf81ebc821377eb3969002e4669bf5e08f479f
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Wed Oct 4 02:59:42 2023 +0800
+
+ [common.iter.const] Add missing period for Returns (#6584)
+
+commit 22537613dd844670ee9fb9d5afcf19f89c26fd26
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Sep 26 07:21:52 2023 +0200
+
+ [temp.over.link] Fix phrasing and cross-reference introduced by P1787R6
+
+commit 1398617dfd99dd3383e801abee6ce58629439f3a
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed Oct 4 17:48:32 2023 +0200
+
+ [tab:headers.cpp] Add <hazard_pointer> (#6586)
+
+commit 78635c91ac910e9c0953e1784eec648a214eb5ad
+Author: Casey Carter <Casey@Carter.net>
+Date: Wed Oct 4 14:44:18 2023 -0700
+
+ [string.cons] Remove erroneous paragraph break (#6587)
+
+commit a2e820424e089806191a40d43df2360906902d86
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Sep 19 13:36:52 2023 +0100
+
+ [range.utility.conv.to] Add terminating condition for first bullet
+
+ We currently fail to say what happens if the first bullet is true, but
+ then none of its sub-bullets is true.
+
+commit 9369ba13509cd5d2c9e862b7ad02f109c204a585
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Sep 19 16:19:50 2023 +0100
+
+ [version.syn] Put feature test macros in alphabetical order
+
+commit 1430209dbf6edda0827207166770c4d964cf0598
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Oct 6 15:53:39 2023 +0200
+
+ [time.format] Make reference to ISO 8601 more precise
+
+ Fixes ISO/CS 003 (C++23 DIS).
+
+commit 7ed9cbfef44d15b798af83223f5d3b62927652a5
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Oct 6 15:14:44 2023 +0200
+
+ [intro.refs] Fix title of ISO/IEC 9899:2018
+
+ Fixes ISO/CS 004 (C++23 DIS).
+
+commit 258290ecc9d6e4d615b29173fd520df1f66a3292
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Oct 6 01:21:01 2023 +0200
+
+ [annex] Fix table numbering in annexes
+
+ Fixes ISO/CS 029 (C++23 DIS).
+
+commit c39f5b014540820b4ea2061805a92c417e43ca0d
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Oct 6 14:59:03 2023 +0200
+
+ [lex.name] Add cross-reference to Annex E
+
+ Fixes ISO/CS 030 (C++23 DIS).
+
+commit b5d6409bf5132d653bc13a3ce8f76c556d5d6fc9
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Oct 7 22:50:53 2023 +0200
+
+ [defns.component] Remove unwarranted italics
+
+ Fixes ISO/CS 018 (C++23 DIS).
+
+commit 722bd4f167badc5bb5dddde9b0d00f91c2ef1644
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Oct 6 13:24:16 2023 +0200
+
+ [util.smartptr.shared.cmp] Fix missing right parenthesis
+
+ Fixes NB JP 025 (C++23 DIS).
+
+commit 24b090f5c63bf99d4cdcea8989d885f2d23c00e7
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Oct 6 13:20:03 2023 +0200
+
+ [unique.ptr.runtime.modifiers] Fix placement of 'constexpr'
+
+ Fixes NB JP 024 (C++23 DIS).
+
+commit 400521547f60196f6dfa7857bdcc907698991df8
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Oct 7 11:11:15 2023 +0200
+
+ [expr.const] Amend comments in example
+
+ Fixes NB JP 023 (C++23 DIS).
+
+commit 812e64a65699bb01203fbedcc7d9d5ea004a5007
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Oct 7 22:32:16 2023 +0200
+
+ [expr.prim.lambda.general] Add example for parsing ambiguity
+
+ Fixes NB JP 021 (C++23 DIS).
+
+commit bd7f9a9e640bfcd204cabecf1cc4953b7138554e
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Oct 7 10:38:29 2023 +0200
+
+ [intro.scope] Clarify 'they'
+
+ Fixes ISO/CS 034 (C++23 DIS).
+
+commit dc597fa561a795c100a36f46376d6ddd0cf93a31
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Oct 9 12:02:19 2023 -0400
+
+ [expr.prim.lambda.closure] Insert an extra \pnum (#6594)
+
+commit d81c17120e5a527f779b965ba8fd1ce66cfc24ef
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Oct 9 12:03:25 2023 -0400
+
+ [obj.lifetime] Dehyphenate trivially-copyable (#6592)
+
+commit d29b1fc1c22018b1a83cee910ebdbb4520d2c960
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sun Oct 8 09:52:42 2023 +0200
+
+ [lex.charset] Add reference to the Unicode Standard
+
+commit e128de19470877fbf8f0335b8c0e2a1700f2e320
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sun Oct 8 11:52:06 2023 +0200
+
+ [lex.charset] Clarify normative reference to Unicode for UTF-x
+
+ Fixes ISO/CS 008 (C++23 DIS).
+
+commit 4d603c640dd47c71f84bbce55416302efab8b298
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Oct 10 23:55:22 2023 +0100
+
+ [intro.defs] Remove inappropriate paragraph.
+
+ Only specific, fixed wording is allowed in Clause 3.
+
+ Fixes ISO/CS 009 (C++23 DIS).
+
+commit 7d4fa2432b58a2ef6a2062812ec00ccde4443acf
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed Oct 11 01:04:35 2023 +0200
+
+ [intro.defs] Remove unused definitions
+
+ The terms "arbitrary-positional stream", "repositional stream",
+ and "iostream class templates" are removed.
+
+ Fixes ISO/CS 011 and ISO/CS 16 (C++23 DIS).
+
+commit 4c76193e3d310ea5a18679ab86a54074fe1635e9
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 11 00:14:53 2023 +0100
+
+ [defns.impl.limits] Use singular
+
+ Fixes ISO/CS 015 (C++23 DIS).
+
+commit f672ecf38d2aec6ccf184d1a36bc4e83809afab0
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 11 00:46:29 2023 +0100
+
+ [std] Replace "C Standard" with "ISO/IEC 9899:2018".
+
+ Fixes ISO/CS 035 (C++23 DIS).
+
+commit 2d6182932954732f71a28d90ec1f1b23838ccc67
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 11 01:13:46 2023 +0100
+
+ [intro.{r,d}efs] Make "C standard library" a defined term
+
+ Partially fixes ISO/CS-002 (C++23 DIS).
+
+commit 4676f765f696774807688c3adfdc2eb03905a827
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sun Oct 8 12:30:18 2023 +0200
+
+ [type.traits] Add references to tables
+
+ Fixes ISO/CS 001 (C++23 DIS).
+
+commit 583391e28f34d6e0a17f67f77e04ba4f924c1d13
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sat Oct 14 20:42:50 2023 +0100
+
+ [intro.defs, dcl.init.list] Move definition of direct-non-list-init
+
+ Partially fixes ISO/CS-11 (C++23 DIS).
+
+commit 4a8e84ede8a927a7ebe7fa16a086041db437d57c
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sat Oct 14 20:58:52 2023 +0100
+
+ [xrefdelta] Remove mention of removals that are now already in C++23
+
+
+
diff --git a/papers/n4965.md b/papers/n4965.md
new file mode 100644
index 0000000000..fabff56da6
--- /dev/null
+++ b/papers/n4965.md
@@ -0,0 +1,515 @@
+# N4965 Editors' Report -- Programming Languages -- C++
+
+Date: 2023-10-15
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: `cxxeditor@gmail.com`
+
+## Acknowledgements
+
+Thanks to all those who have
+[submitted editorial issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
+and to those who have provided pull requests with fixes.
+
+## New papers
+
+ * [N4964](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4964.pdf) is the
+ current working draft for C++26. It replaces
+ [N4958](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4958.pdf).
+ * N4965 is this Editors' Report.
+
+## Comments on the Draft International Standard
+
+This report includes a snapshot of our dispositions on the Draft International Standard (DIS)
+ballot comments for C++23 from national bodies and the ISO secretariat. Some of them only apply
+to the published standard document and not the working draft, and the corresponding edits do not
+appear in the working draft commit history. All comments on the ballot were editorial.
+
+* **ISO/CS 01:** Accepted. We added references to the tables.
+* **ISO/CS 02:** _in progress_
+* **ISO/CS 03:** Accepted. We are now referring to a specific element, and keeping the dated reference.
+* **ISO/CS 04:** Accepted.
+* **ISO/CS 05:** Rejected: We do not understand the justification "Since there is no specific element referenced this reference shall be undated." The Drafting Directives seem to make a clear case for when undated (10.4) and dated (10.5) references are appropriate, and we firmly fall into the case where an undated reference is inappropriate ("if it will be possible to use all future changes of the referenced document" is defintely not the case). Reference to a specific element does not seem to be required in order to permit the use of a dated reference. Even the House Style seems to permit dated references when necessary: "When referring to the whole document, use an undated document number unless it is necessary that the user refers to a specific edition".
+* **ISO/CS 06:** Rejected: Moot by comment 05.
+* **ISO/CS 07:** Rejected: Moot by comment 05.
+* **ISO/CS 08:** Accepted. We reworded the reference to the Unicode standard to make the normative nature more obvious.
+* **ISO/CS 09:** Accepted.
+* **ISO/CS 10:** Rejected: We find domains valuable here, since the terms often sound like plain English words, but have rather domain-specific meaning, and the domain establishes important context to aid understandability.
+* **ISO/CS 11:** Accepted with modifications: four unused definitions are removed. The remaining term, "unspecified behavior" is retained, since it captures a variety of patterns which are not lexically spelled "behavior" but are neatly covered by this umbrella term.
+* **ISO/CS 12:** Accepted with modifications: we have italicized the cross-references. However, for the formal grammar terms that we display in italic sans font, please see the discussion on comment 32.
+* **ISO/CS 13:** Rejected: The token "CE" is not an acronym, but a meta variable (like "x" or "y". It is typeset distinctly. The name is evocative of its use.
+* **ISO/CS 14:** Accepted.
+* **ISO/CS 15:** Accepted.
+* **ISO/CS 16:** Rejected: The wording is correct as written. However, this is also mooted by comment 11, which deletes the wording in question.
+* **ISO/CS 17:** Accepted.
+* **ISO/CS 18:** Accepted.
+* **ISO/CS 19:** Accepted.
+* **CA 20:** n/a, comment was filed erroneously
+* **JP 21:** Accepted. We added an example.
+* **JP 22:** Rejected: No consensus for change; any attributes of a lambda-declarator are considered to be attached to the synthesized function call operator or operator template (i.e. the member function of the closure type), not the closure type itself.
+* **JP 23:** Accepted with modifications: The example is written as intended. The comments in the example have been amended to clarify the exposition.
+* **JP 24:** Accepted.
+* **JP 25:** Accepted.
+* **JP 26:** Rejected: No concensus for change; the example deliberately introduces a facility to aid comprehension.
+* **JP 27:** Rejected: No concensus for change; the example deliberately introduces a facility to aid comprehension.
+* **JP 28:** Rejected: No concensus for change; the example deliberately introduces a facility to aid comprehension.
+* **ISO/CS 29:** Accepted.
+* **ISO/CS 30:** Accepted. We added a note that refers to the annex.
+* **ISO/CS 31:** Accepted. We had previously used foreword wording from an older document.
+* **ISO/CS 32:** Rejected (to be discussed), along with comment 12.
+* **ISO/CS 33:** Rejected: We have an approved SC22 ballot to permit the use of paragraph numbers. (We also have a proposal for the JDMT to add such a permission to the Drafting Directives.)
+* **ISO/CS 34:** Accepted. Reworded to clarify.
+* **ISO/CS 35:** Accepted.
+* **ISO/CS 36:** Accepted the notes and tables captioning changes. Rejected the UK English spelling: The document defines many terms that must be spelled the same way by conforming implementations and by users of those implementations, and these terms use US English spelling. It would be confusing for the document text to use UK English spelling when describing these terms. (This is the same disposition as for a similar comment on the DIS ballot of 14882:2017.)
+* **ISO/CS 37:** _in progress_
+* **ISO/CS 38:** Accepted with modifications: We will review the presentation of cross-references in Clause 3. However, the use of italics in Clause 3 is not a regular "emphasis/definition" in body font, but rather a grammar production, which we typeset distinctly. Please also see the discussion regarding comment 32.
+* **ISO/CS 39:** _in progress_
+* **ISO/CS 40:** Accepted. The logic that processed the notes was erroneous and failed to handle subclauses with more than 9 notes; this has been fixed.
+
+## Editorial changes
+
+There have not been any motions from WG21 since the last working draft. This
+revision incorporates all the changes resulting from the DIS ballot comments for
+C++23, in as far as they apply to the current working draft, as well as other
+editorial changes.
+
+### Minor editorial changes
+
+A log of editorial fixes made to the working draft since N4958 is below. This
+list excludes changes that do not affect the body text or only affect whitespace
+or typeface. For a complete list including such changes (or for the actual
+deltas applied by these changes), consult the
+[draft sources on GitHub](https://github.com/cplusplus/draft/compare/n4958...n4964).
+
+ commit a4b1ffd9e65188ae19c29dffd2db42cb1558cee2
+ Author: Jan Schultke Date: 2023-12-18
+ +Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
Email: cxxeditor@gmail.com
Thanks to all those who have submitted editorial +issues +and to those who have provided pull requests with fixes, +and special thanks to Johel Ernesto Guerrero Peña for providing in-depth review +of many of the draft motion applications.
+ +All motions were applied cleanly, and the following additional changes applied +for the sake of integration:
+ +**this
to *val
, and
+P2407R5
+changed value()
to **this
. This has been reconciled by changing the
+latter to *val
, too.__cpp_lib_freestanding_numeric
, also defined in the <numeric>
header.The feature test macro __cpp_lib_span
has been modified both LWG Poll 3 and
+LWG Poll 10, and is now set to a common, updated value (202311L
).
The linear algebra paper P1673R13 moved by LWG Poll 19 adds a substantial amount +of material, and numerous minor issues were discovered during application, many +of which have been fixed immediately, and some will be addressed in future +editorial work. One particular issue, which is not new and also affects the +random number and special maths functions, is how to relate variables in code +and mathematical variables in a mathematical expression.
+ +CWG Poll 1: Accept as a Defect Report and apply the proposed resolution of all issues in +P3046R0 +(Core Language Working Group "ready" Issues for the November, 2023 meeting) to the C++ Working Paper.
+ +CWG Poll 2: Accept as a Defect Report and apply the changes in +P2308R1 +(Template parameter initialization) to the C++ Working Paper.
+ +CWG Poll 3: Apply the changes in +P2662R3 +(Pack Indexing) to the C++ Working Paper.
+ +CWG Poll 4: Apply the changes in +P2864R2 +(Remove Deprecated Arithmetic Conversion on Enumerations From C++26) to the C++ Working Paper.
+ +CWG Poll 5 was withdrawn.
+ +LWG Poll 1: Apply the changes for all Ready and Tentatively Ready issues in +P3040R0 +(C++ Standard Library Issues to be moved in Kona, Nov. 2023) to the C++ working paper.
+ +LWG Poll 2: Apply the changes in +P0543R3 +(Saturation arithmetic) to the C++ working paper.
+ +LWG Poll 3: Apply the changes in +P2407R5 +(Freestanding Library: Partial Classes) to the C++ working paper.
+ +LWG Poll 4: Apply the changes in +P2546R5 +(Debugging Support) to the C++ working paper.
+ +LWG Poll 5: Accept as a Defect Report and apply the changes in +P2905R2 +(Runtime format strings) to the C++ working paper.
+ +LWG Poll 6: Apply the changes in +P2918R2 +(Runtime format strings II) to the C++ working paper.
+ +LWG Poll 7: Accept as a Defect Report and apply the changes in +P2909R4 +(Fix formatting of code units as integers (Dude, where's my char?)) to the C++ working paper.
+ +LWG Poll 8: Apply the changes in
+P0952R2
+(A new specification for std::generate_canonical
) to the C++ working paper.
LWG Poll 9: Apply the changes in
+P2447R6
+(std::span
over an initializer list) to the C++ working paper.
LWG Poll 10: Apply the changes in
+P2821R5
+(span.at()
) to the C++ working paper.
LWG Poll 11: Apply the changes in
+P2868R3
+(Remove Deprecated std::allocator
Typedef From C++26) to the C++ working paper.
LWG Poll 12: Apply the changes in
+P2870R3
+(Remove basic_string::reserve()
From C++26) to the C++ working paper.
LWG Poll 13: Apply the changes in +P2871R3 +(Remove Deprecated Unicode Conversion Facets from C++26) to the C++ working paper.
+ +LWG Poll 14: Apply the changes in
+P2819R2
+(Add tuple protocol to complex
) to the C++ working paper.
LWG Poll 15: Apply the changes in
+P2937R0
+(Freestanding: Remove strtok
) to the C++ working paper.
LWG Poll 16: Apply the changes in
+P2833R2
+(Freestanding Library: inout
expected
span
) to the C++ working paper.
LWG Poll 17: Accept as a Defect Report and apply the changes in
+P2836R1
+(std::basic_const_iterator
should follow its underlying type's convertibility) to the C++ working paper.
LWG Poll 18: Apply the changes in
+P2264R7
+(Make assert()
macro user friendly for C and C++) to the C++ working paper.
LWG Poll 19: Apply the changes in +P1673R13 +(A free function linear algebra interface based on the BLAS) to the C++ working paper.
+ +This report includes our final dispositions on the Draft International Standard (DIS) +ballot comments for C++23 from national bodies and the ISO secretariat. Some of them only apply +to the published standard document and not the working draft, and the corresponding edits do not +appear in the working draft commit history. All comments on the ballot were editorial.
+ +A number of editorial changes were made in response to requests from the ISO +secretariat during the publication of C++23. We list just a few noteworthy ones.
+ +A log of editorial fixes made to the working draft since N4964 is below. This +list excludes changes that do not affect the body text or only affect whitespace +or typeface. For a complete list including such changes (or for the actual +deltas applied by these changes), consult the +draft sources on GitHub.
+ +commit a27ede64fef7fda551d480e5a1cf1b9a73832574
+Author: S. B. Tam <cpplearner@outlook.com>
+Date: Tue Oct 24 20:55:27 2023 +0800
+
+ [span.cons] Add `std::` for `data(arr)` (#6632)
+
+commit 84c526ebbda74553bf935f35f5594b8d5591bce5
+Author: Casey Carter <Casey@Carter.net>
+Date: Mon Oct 30 14:22:57 2023 -0700
+
+ [format.formatter.spec] Add missing include to example (#6636)
+
+ The example code refers to `std::string` directly so it should `#include<string>`.
+
+commit 4a6f2e3f4791c44b8c8f32a75d0bebac4a7b6a9e
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Nov 2 00:53:04 2023 +0100
+
+ [intro.refs] Move nicknames for standards to relevant subclauses
+
+commit dc6eed02986d9c3c6827c710adb577ba0809f939
+Author: Krystian Stasiowski <sdkrystian@gmail.com>
+Date: Tue Nov 7 04:32:19 2023 -0500
+
+ [dcl.dcl, over.best.ics, temp.param, class.union.anon] Remove mentions of "storage class" (#3906)
+
+commit 17c09925b2423c596196d3f88a61ff7b4052ef7a
+Author: Krystian Stasiowski <sdkrystian@gmail.com>
+Date: Tue Nov 7 01:16:28 2023 -0500
+
+ [class.conv.fct] Fix reference to 'ref-qualifier-seq'
+
+commit 90720a35b0c3d65488d9dc9ecea682c271f43d52
+Author: A. Jiang <de34@live.cn>
+Date: Mon Oct 30 09:34:01 2023 +0800
+
+ [queue.syn] Show `formatter` specializations in the synopsis
+
+commit e43aa89a4882f8080fb10c843cdb25c9740b65c7
+Author: A. Jiang <de34@live.cn>
+Date: Mon Oct 30 09:36:24 2023 +0800
+
+ [stack.syn] Show the `formatter` specialization in the synopsis
+
+commit 80a8748fd401cfceee804bc96d2bfc518726d2e7
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Thu Oct 12 18:24:21 2023 -0400
+
+ [class.copy.assign] Remove a superfluous note.
+
+ Alternatively we could have added the word "non-object"; or changed
+ it to say "An overloaded assignment operator must be a member function";
+ but it doesn't seem like it needs to be here at all.
+
+commit c9c69dc54052badeb9b80458027371438d886763
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Thu Oct 12 18:58:39 2023 -0400
+
+ [class.copy.assign] Add some missing "non-object"s
+
+commit 2b5fc2936f12f73e975dbb9f34d3790fe0aa708f
+Author: Matt Bentley <mattreecebentley@gmail.com>
+Date: Wed Nov 8 14:56:22 2023 +1300
+
+ [sequence.reqmts] Remove misleading, oversimplified informative text
+
+commit 11334c71244a046f0c29b01dfd79b35f6fea8cc4
+Author: Eisenwave <me@eisenwave.net>
+Date: Fri Sep 1 09:29:01 2023 +0200
+
+ [class.copy.elision] improve reference and replace informal term
+
+commit 4feefb62e0419bb52c678389163729959785d44a
+Author: Jan Schultke <me@eisenwave.net>
+Date: Wed Nov 8 02:59:01 2023 +0100
+
+ [mem.res.pool.options] Change "field" to "member" (#6479)
+
+commit a700e3b87b00d2673b3cded0a61201d09dfc051a
+Author: S. B. Tam <cpplearner@outlook.com>
+Date: Wed Nov 8 10:01:46 2023 +0800
+
+ [version.syn] Bump value of __cpp_lib_constexpr_complex (#6421)
+
+ P1383R2 "More constexpr for <cmath> and <complex>" modifies two headers;
+ both __cpp_lib_constexpr_cmath and __cpp_lib_constexpr_complex should be updated.
+
+ This aligns with existing practice in SD6.
+
+commit e9fb04e1c1e67bfb07bf3c61145b9d63a0f0adcf
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Tue Sep 27 15:36:08 2022 -0400
+
+ [dcl.enum] Enumerators don't have "initializers"
+
+commit bc3cb41a36dfff0d2358f4e294be9636590e680e
+Author: Krystian Stasiowski <sdkrystian@gmail.com>
+Date: Tue Nov 7 21:08:15 2023 -0500
+
+ [dcl.name] Turn informative wording into note (#3964)
+
+commit 82b2ba6f6245e717cb002a9a836117a918aab36a
+Author: Patrick Johnston <gcupcakekid@gmail.com>
+Date: Wed Nov 8 02:10:58 2023 +0000
+
+ [streambuf.general] Remove incorrect "abstract"
+
+ The referenced class template `basic_streambuf` is not abstract.
+
+commit bbaa4a497e03d944fc38279db4d8c47eed7831d9
+Author: Jan Schultke <me@eisenwave.net>
+Date: Thu Oct 12 20:51:57 2023 +0200
+
+ [basic.lval] turn reference paragraph into note
+
+commit a03b8b70d6666b67d27c801b68d41683e987e929
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Thu Oct 5 15:27:29 2023 -0400
+
+ [temp.param] Introduce term to xref structural type
+
+ The current cross-references to [temp.param] appear confusing,
+ as the structural type definition is buried a couple of pages
+ below. Also, this change looks clearer in the source.
+
+commit 71ee18ab8cd9efca0d8afa1f6e639cb02610a52b
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Nov 7 16:18:40 2023 -1000
+
+ [basic.types.general] Introduce term to xref implicit-lifetime type (#6591)
+
+commit 21454c7ebf67a1a723b61c32901a842c684e6b94
+Author: Language Lawyer <language.lawyer@gmail.com>
+Date: Wed Aug 23 01:35:22 2023 +0500
+
+ [intro.races] Make reading atomic objects nondeterministic
+
+commit df26017a6bfd74d794345ea9313eae1efacbf7c9
+Author: Jan Schultke <me@eisenwave.net>
+Date: Wed Nov 8 03:31:10 2023 +0100
+
+ [diff.dcl] Replace 'field initializers' with 'member initializers' (#6482)
+
+commit cc69fc0dd6b1a2fdc834bade578acb84cc7d2cfa
+Author: A. Jiang <de34@live.cn>
+Date: Wed Nov 8 10:54:52 2023 +0800
+
+ [intro.races] Remove inappropriate uses of "shall" (#6457)
+
+commit 60e280391a06b8d27f778a56310b0827109623aa
+Author: Eisenwave <me@eisenwave.net>
+Date: Thu Aug 31 00:19:24 2023 +0200
+
+ [cmath.syn] fix misaligned parameter lists
+
+commit 646bfb2a060e3c7f490f6c4672ee93a0cbaf6d0d
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Nov 8 05:59:28 2023 -1000
+
+ [container.alloc.reqmts] Better xrefs for allocator-aware containers
+
+ There are now more allocator-aware containers in the standard
+ than when this subclause was first written, so ensure we have
+ call outs to all relevent subclauses.
+
+ The current wording for 'basic_stacktrace' also shows how
+ containers can properly call out the allocator-aware container
+ requirements, now that they have their own, titled subclause.
+
+commit 62e33ca8a0a55764227e6a67c1f554783ffefe40
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Thu Nov 9 00:01:38 2023 +0800
+
+ [time.zone.leap.overview] Fix example (#6383)
+
+commit 07ae51af31587ac533b1b39c95777ecb725dcab0
+Author: A. Jiang <de34@live.cn>
+Date: Wed Jan 25 18:22:53 2023 +0800
+
+ [expr.prim.req.general] Correct the IFNDR example
+
+commit f3059744c84f561f8ead4c5d117bc1160c43b7e2
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Wed Nov 8 23:52:44 2023 +0000
+
+ [defns.character.container] Improve note to entry (#6644)
+
+commit 8b38857b22f6518a41e506e4c9b2e9a1792a0fbd
+Author: A. Jiang <de34@live.cn>
+Date: Tue Oct 10 09:40:20 2023 +0800
+
+ [iterator.requirements.general] Clarify non-forward iterator
+
+commit fbb1a6ebbd1f78e644df2dbcb3ce31250410779e
+Author: onihusube <44743040+onihusube@users.noreply.github.com>
+Date: Fri Nov 10 08:36:12 2023 +0900
+
+ [execpol.unseq] Fix missing \itemdescr (#5931)
+
+commit 10e2799f5d524dd941d424dfd08927c77a6b87f1
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Fri Feb 17 10:47:28 2023 -0500
+
+ [pairs.pair] Consistent wording for assignment
+
+ Apply a consistent pattern to how we specify assigning members in assignment operators.
+
+commit 78300aa38c23f1356dca8e786205e5aaf7769d01
+Author: Barry Revzin <barry.revzin@gmail.com>
+Date: Thu Nov 9 14:45:17 2023 -1000
+
+ [class.compare] Don't introduce `V` for the return value (#6035)
+
+ In both cases, I'm not sure introducing `V` helps much - just requires name lookup for `V`. If we just say "the return value" in every case, I think that's clearer.
+
+commit 838cb0649b1f4061e960772aee3563cedb20b108
+Author: Michael Florian Hava <mfh@live.at>
+Date: Thu Nov 9 13:51:58 2023 -1000
+
+ [basic.extended.fp] Replaced usage of 'mantissa' with 'significand'
+ according to SO/IEC/IEEE 60559:2008
+
+commit ce5ef1b5334f1fc756d40e40ec300257b0ff99d9
+Author: Michael Florian Hava <mfh@live.at>
+Date: Thu Nov 9 13:57:32 2023 -1000
+
+ [numeric.limits.members] Replaced usage of 'mantissa' with 'significand' according to
+ SO/IEC/IEEE 60559:2008
+
+commit 3e1f377a9dc3bece7acd2dddb7237065504db65c
+Author: Brian Bi <bbi5291@gmail.com>
+Date: Thu Nov 9 16:00:22 2023 -1000
+
+ [macros, styles] Add \hypertarget to headings (#6516)
+
+ This allows forming URLs with a stable label as a fragment and
+ have PDF viewers jump to the corresponding (sub)clause.
+
+ For example: std.pdf#basic.life
+
+commit 60f7bb72cdd36e9d359fa7aea84a5b836079a0ed
+Author: Eisenwave <me@eisenwave.net>
+Date: Thu Jul 6 13:41:56 2023 +0200
+
+ [namespace.std] convert (a) and (b) notation to items
+
+commit f48f316c42c6cb67058d9f9106852154497b4516
+Author: Jan Schultke <me@eisenwave.net>
+Date: Fri Nov 10 06:57:17 2023 +0100
+
+ [atomics.order] Use "recommended practice" (#6380)
+
+commit 1ec1d9e6fa98734b3edf20f6c2217a4482f78103
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Fri Nov 10 16:59:21 2023 +0800
+
+ [meta.{unary.prop.query,trans.arr] Use `static_assert` instead of `assert` in example
+
+commit bd8f4540720e52dab9187a62c5598e735aeacfdd
+Author: Eisenwave <me@eisenwave.net>
+Date: Sat Aug 19 15:57:39 2023 +0200
+
+ [expr.sizeof] use constexpr member in example
+
+commit b1f922a126dcda78acb4bae055843e7a7321fe1d
+Author: Eisenwave <me@eisenwave.net>
+Date: Wed Aug 23 13:42:39 2023 +0200
+
+ [basic.def.odr] Fix hyphenation of "{copy,move} assignment"
+
+commit 54e465a17adfcba56a57ff2fefe43ec898725efb
+Author: Eisenwave <me@eisenwave.net>
+Date: Wed Aug 23 13:43:46 2023 +0200
+
+ [res.on.arguments] Fix hyphenation of "move assignment"
+
+commit 3c5b5b0c58d0440233d992e1a0791a449936f203
+Author: Eisenwave <me@eisenwave.net>
+Date: Wed Aug 23 13:44:40 2023 +0200
+
+ [futures.{unique,shared}.future] Fix hyphenation of "{copy,move} assignment"
+
+commit 9483cb7cf6973689ad563d30778d8da2dff42a8d
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Wed Nov 8 22:57:57 2023 +0000
+
+ [string.capacity] Remove parentheses from "reserve()"
+
+ It's very confusing to talk about `reserve()` when describing a call to
+ `reserve(size_type)`, given that the overload `reserve()` also exists.
+
+commit 2a9f28670a0df6e239d9b335bdb014f20f577732
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Mon Jul 24 16:19:01 2023 +0000
+
+ [dcl.meaning.general] Use 'declarator-id' instead of 'name'
+
+commit d8b72f0ceb36b3537ef576ab216d588642e332ab
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Tue Jul 25 18:26:03 2023 +0000
+
+ [module.global.frag] Simplify wording
+
+ Also make variable order consistent across bullets.
+
+commit f0c172c5604b47c3ecc7b64669aad660df403624
+Author: Oliver Rosten <oliver.rosten@gmail.com>
+Date: Fri Nov 10 18:12:06 2023 +0000
+
+ [algorithms] Change stable label "mismatch" to "alg.mismatch" (#6653)
+
+commit d97603a90d2fcfeec2caf4371ca9e6c8f562842a
+Author: A. Jiang <de34@live.cn>
+Date: Sat Nov 11 03:21:17 2023 +0800
+
+ [forward.iterators] Use "Cpp17" requirement (#6612)
+
+commit f474227b69d10350999a5fc63503725421a89954
+Author: Geng Cheng <xmcgcg@qq.com>
+Date: Sat Nov 11 10:25:39 2023 +0800
+
+ [stringstream.general] Add missing template argument "Allocator" (#6560)
+
+commit f5fdfe453e5a1e0370f2cb28bfc2dfeecab6370e
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Nov 8 15:12:16 2023 -1000
+
+ [diff.cpp20.library] Add missing new headers for C++23
+
+commit 38dfe3db0f08bd09a2b445ba82e83f7caae28d94
+Author: A. Jiang <de34@live.cn>
+Date: Thu Nov 9 11:00:44 2023 +0800
+
+ [dcl.init.ref] Clarify "related type"
+
+ "Related type" is not a term, "reference-related type" is clearer.
+
+commit 979983929bb592c02c9ae3e52f1c676dd5ae06fe
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Tue Nov 14 02:27:01 2023 +0800
+
+ [range.cartesian.view] Don't name unused template parameter (#6177)
+
+commit ecbeb5ad4e4c0ac1d0cdb5e8dd01daab8df8d62e
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Nov 14 14:27:27 2023 -0500
+
+ [diff.cpp23.library] Entry for new headers in C++26 (#6648)
+
+commit eb7f0bcbff2af109643089ef36dfe67040a27f4a
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Mon Nov 13 01:12:50 2023 -1000
+
+ [intro.defs, macros] Add cross-references among definitions
+
+ Fixes ISO/CS 017 (C++23 DIS).
+
+commit 706880e4ed855ae76d503c70adfb0015bbfb3df0
+Author: Lewis Baker <lewissbaker@users.noreply.github.com>
+Date: Thu Nov 16 10:36:25 2023 +1030
+
+ [allocator.requirements.general] Fix missing ellipsis (#6695)
+
+commit 5c0103c0a656cbcd725780388b0879e992a1b21a
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu Nov 16 15:38:47 2023 +0000
+
+ [stacktrace.format], [stacktrace.basic.hash] change rSec3 to rSec2
+
+ These should not be nested below std::basic_stacktrace because they
+ apply to both std::stacktrace_entry and std::basic_stacktrace.
+
+commit a6ad6083ab75901cb41b5bc8d034c0b322433457
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Dec 5 23:42:23 2023 +0000
+
+ [std, styles] Adjust table captions as per ISO request
+
+ ISO has asked for captions to be bold and table numbers to be
+ separated by a dash.
+
+commit f519ea4aa97592703ba5bbe9164242d946723721
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Dec 7 01:00:53 2023 +0100
+
+ [intro.refs, time.format] Update references from ISO 8601:2004 to ISO 8601-1:2019 (#6720)
+
+commit 37956fb3685c2c279bd6b4b701964b20913d0c79
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Dec 6 19:01:29 2023 +0000
+
+ [syntax] Change "italic" to "italic, sans-serif"
+
+ We changed the grammar non-terminal font to sans-serif,
+ so we should update the description.
+
+commit 4eed7a0f1e44c45554f8a210af34fd6e1ea19596
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Dec 7 22:13:35 2023 +0100
+
+ [intro.abstract] Actually use the phrase 'unspecified/undefined behavior'
+
+ Fixes ISO/CS 011 (C++23 DIS).
+
+commit f8a6138da1e431779ac43a893faa32f3f0cad7d0
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Thu Dec 7 12:45:11 2023 +0000
+
+ [intro.defs] Fix introductory text according to ISO rules.
+
+ In principle, "symbols and abbreviated terms" can be listed in a
+ standard, and can be listed in a separate clause or in a combined
+ clause 3 "Terms, definitions, symbols and abbreviated terms", we do
+ not actually need symbol definitions. In any case, the introductory
+ text would never mention "symbols".
+
+commit 9961cd4f16aca645c77d6927526ea71f635a2932
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Thu Dec 7 00:01:48 2023 +0000
+
+ [introduction] A minimal "Introduction" clause
+
+ This clause explains our conventions regarding stable labels and
+ choice of fonts.
+
+commit 9041b27206388fecd03073bb913185ac738c6dca
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Mon Dec 18 00:57:45 2023 +0000
+
+ [optional.monaic] Restore wording effected by LWG3973.
+
+ Both LWG3973 (Motion 1) and P2407R5 (Motion 3) modified this wording:
+ LWG3973 changes "value()" to "*val" to address ADL concerns, and
+ P2407R5 changed "value()" to "**this" to be freestanding. In light of
+ the former, the latter should also use "*val".
+
+ Independently, additional problems have been discovered with LWG3973,
+ but those will be addressed by a future LWG issue.
+
+commit 2b1867a3404562c4261722e0a913cbcbf5a0a476
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sun Dec 17 23:10:44 2023 +0000
+
+ [version.syn] New feature test macro __cpp_lib_freestanding_numeric
+
+ This macro indicates that freestanding support for "saturation
+ arithmetic" is available, which was added in motion LWG-2 (via
+ P0543R3). This reverts the previous change
+ 148e03a16d53ff8cffd219384df37efad5fd386d, which I had made subsequent
+ to motion LWG-3 (P2407R5), on advice of LWG. A separate macro is
+ preferable to mixing both headers under "algorithm".
+
+commit fa54f9e7306b3d0abb21a82b5cc951711c96161f
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Wed Dec 13 11:03:18 2023 +0000
+
+ [range.access.general] Use consistent "In addition to being available ..." form
+
+ Elsewhere we say "the header" or "any of the headers", e.g. [meta.trans.other],
+ [tuple.helper], etc.
+
+commit 8c611593555b93a45a13543ad265d8cfaf646932
+Author: Cassio Neri <cassio.neri@gmail.com>
+Date: Mon Nov 27 19:47:29 2023 +0000
+
+ [expected.general] Fix description of expected<T, E> (issue #6714.)
+
+commit 12565ed5ea083761b25df3c8325989f95fa04898
+Author: Po-yao Chang <poyaoc97@gmail.com>
+Date: Wed Nov 22 23:02:49 2023 +0800
+
+ [class.eq] Fix the return value of a defaulted == operator function
+
+
+
diff --git a/papers/n4972.md b/papers/n4972.md
new file mode 100644
index 0000000000..ed66878372
--- /dev/null
+++ b/papers/n4972.md
@@ -0,0 +1,699 @@
+# N4972 Editors' Report -- Programming Languages -- C++
+
+Date: 2023-12-18
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: `cxxeditor@gmail.com`
+
+## Acknowledgements
+
+Thanks to all those who have [submitted editorial
+issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
+and to those who have provided pull requests with fixes,
+and special thanks to Johel Ernesto Guerrero Peña for providing in-depth review
+of many of the draft motion applications.
+
+## New papers
+
+ * [N4971](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4971.pdf) is the
+ current working draft for C++26. It replaces
+ [N4964](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4964.pdf).
+ * N4972 is this Editors' Report.
+
+## Motions incorporated into working draft
+
+### Notes on motions
+
+All motions were applied cleanly, and the following additional changes applied
+for the sake of integration:
+
+* LWG Polls 1 and 3 both modified [optional.monadic]:
+ [LWG-3973](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p3040r0.html#3973)
+ changed `**this` to `*val`, and
+ [P2407R5](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2407r5.html)
+ changed `value()` to `**this`. This has been reconciled by changing the
+ latter to `*val`, too.
+* LWG Poll 2 created a freestanding facility (saturation arithmetic) but did
+ not define a freestanding feature test macro. We added the macro
+ `__cpp_lib_freestanding_numeric`, also defined in the `