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 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

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.

Non-editorial comments

Motions incorporated into working draft

Notes

Core working group polls

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.

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 (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.

Noteworthy editorial changes

Minor editorial changes

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.