N4902 Editors’ Report – Programming Languages – C++

Date: 2021-10-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 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 most of the draft motion applications.

New papers

Motions incorporated into working draft

Core working group polls

CWG poll 1: Accept as Defect Reports all issues except issue 1726 in P2462R0 (Core Language Working Group "ready" Issues for the October, 2021 meeting) and apply the proposed resolutions to the C++ working paper.

CWG poll 2: Apply the changes in P2242R3 (Non-literal variables (and labels and gotos) in constexpr functions) to the C++ working paper.

CWG poll 3: Apply the changes in P0847R7 (Deducing this) to the C++ working paper.

CWG poll 4: Apply the changes in P2316R2 (Consistent character literal encoding) to the C++ working paper.

CWG poll 5: Apply the changes in P2334R1 (Add support for preprocessing directives elifdef and elifndef) to the C++ working paper.

CWG poll 6: Apply the changes in P2246R1 (Character encoding of diagnostic text) to the C++ working paper.

CWG poll 7: Apply the changes in P2360R0 (Extend init-statement to allow alias-declaration) to the C++ working paper.

CWG poll 8: Accept P2036R3 (Change scope of lambda trailing-return-type) as a Defect Report and apply the changes therein to the C++ working paper.

CWG poll 9: Apply the changes in P2128R6 (Multidimensional subscript operator) to the C++ working paper.

CWG poll 10: Apply the changes in P2314R4 (Character sets and encodings) to the C++ working paper.

CWG poll 11 does not affect the Working Draft.

Library working group polls

Poll 1 contains resolutions of library issues. Polls 2–5 are intended as defect reports against C++20. Polls 6–19 apply purely to the Working Draft.

LWG poll 1: Apply the changes for all Tentatively Ready issues in P2450R0 (C++ Standard Library Issues to be moved in Virtual Plenary, Oct. 2021) to the C++ working paper.

LWG poll 2: Apply the changes in P2372R3 (Fixing locale handling in chrono formatters) to the C++ working paper, as a Defect Report for C++20.

LWG poll 3: Apply the changes in P2415R2 (What is a view?) to the C++ working paper, as a Defect Report for C++20.

LWG poll 4: Apply the changes in P2418R2 (Add support for std::generator-like types to std::format) to the C++ working paper, as a Defect Report for C++20.

LWG poll 5: Apply the changes in P2432R1 (fix istream_view) to the C++ working paper, as a Defect Report for C++20.

LWG poll 6: Apply the changes in P0288R9 (move_only_function) to the C++ working paper.

LWG poll 7: Apply the changes in P0798R8 (Monadic operations for std::optional) to the C++ working paper.

LWG poll 8: Apply the changes in P0849R8 (auto(x): decay-copy in the language) to the C++ working paper.

LWG poll 9: Apply the changes in P1072R10 (basic_string::resize_and_overwrite) to the C++ working paper.

LWG poll 10: Apply the changes in P1147R1 (Printing volatile Pointers) to the C++ working paper.

LWG poll 11: Apply the changes in P1272R4 (Byteswapping for fun&&nuf) to the C++ working paper.

LWG poll 12: Apply the changes in P1675R2 (rethrow_exception must be allowed to copy) to the C++ working paper.

LWG poll 13: Apply the changes in P2077R3 (Heterogeneous erasure overloads for associative containers) to the C++ working paper.

LWG poll 14: Apply the changes in P2251R1 (Require span & basic_string_view to be Trivially Copyable) to the C++ working paper.

LWG poll 15: Apply the changes in P2301R1 (Add a pmr alias for std::stacktrace) to the C++ working paper.

LWG poll 16: Apply the changes in P2321R2 (zip) to the C++ working paper.

LWG poll 17: Apply the changes in P2340R1 (Clarifying the status of the “C headers”) to the C++ working paper.

LWG poll 18: Apply the changes in P2393R1 (Cleaning up integer-class types) to the C++ working paper.

LWG poll 19: Apply the changes in P2401R0 (Add a conditional noexcept specification to std::exchange) to the C++ working paper.

Editorial fixes

Changes to motions

Minor editorial changes

A log of editorial fixes made to the working draft since N4885 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 e125ca7c66725801da118fa936e1444b22f8fb23
Author: languagelawyer <38548419+languagelawyer@users.noreply.github.com>
Date:   Tue Apr 6 19:33:07 2021 +0300

    [basic.types.general] Do not mention pointers

commit c2b7ea1b8bf9a8ca9f332b4e4055928772425daa
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun May 30 20:31:16 2021 +0200

    [expr.rel] Clarify function pointer comparisons

commit 6091e264374349c12aa775cd66e5f062d9c7b9e4
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Mon Jun 21 16:36:10 2021 +0100

    [unord.req.general] Replace inappropriate "shall be" with "is".

commit a7ff942fc3d57d35a276ca4aab70f62368466d80
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Mon Jun 21 16:38:43 2021 +0100

    [util.smartptr.shared.const] Replace inappropriate "shall"s.

commit 7d7ddcd4b6cfdc68de25ae360103edfc457081c7
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Jun 19 09:29:20 2021 +0200

    [temp.variadic] Clarify template parameter packs not introduced by pack expansions.

commit 0ab7d5603fcaa7f0783e26428d69c1e677612511
Author: cor3ntin <corentinjabot@gmail.com>
Date:   Tue Jun 22 12:03:26 2021 +0200

    [range.split.overview] Improve string splitting example

    With the adoption of P1989R2, `string_view` is constructible from
    `subrange`. We can use that to simplify the example of string splitting.

    From  pull request #4714.

commit 031526001191d3f5c20dd9b8b14584d98e6ad692
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Feb 5 22:33:34 2021 +0100

    [basic.start.dynamic] Clarify note about templated variables

commit 09744a2c2abe5095a44840f5c9d27fde3650625c
Author: Eelis van der Weegen <eelis@eelis.net>
Date:   Mon Oct 19 13:47:13 2020 +0200

    [input.output.general] Delete note containing [fig:iostreams.streampos].

    Also add a note to [iostreams.limits.pos] to replace the removed figure.

    Fixes #4246.

commit bec4ff5d87b4d258e4d40aae11197ea223689bb0
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Mon Oct 19 14:55:09 2020 +0100

    [stream.types] Move subclause near the start of [iostreams]

    Correct footnote about how uses of streamsize relate to C.

commit b1bb8281bfd32593acb9f355930f18fd19875854
Author: burblebee <dawn@brightsidecomputing.com>
Date:   Tue Jun 22 07:21:22 2021 -0700

    [dcl.fct] Clarify in example which declarations refer to which (#4287)

    Co-authored-by: Dawn Perchik <dperchik@embarcadero.com>

commit dd99020d1cb8276df29994da35cf45c174c28bb7
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Nov 5 22:46:22 2020 +0100

    [dcl.type.auto.deduct] Clarify initializer for placeholder type deduction.

commit 54743884b5a3a486aa3cf16bdf04481f2c3dcfed
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Tue Jun 22 22:07:01 2021 +0100

    [iterator.operations, range.iter.op.distance] Reword "get to".

    It was previously not explicitly stated that input iterators would
    actually be incremented (which invalidates copies). The new wording is
    more explicit about how the distance is measured, and in doing so
    calls out more explicitly that input iterators are indeed incremented.

commit 753c8339e5bb43010d49f57f7020fdc59d899c93
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Thu Jun 24 17:57:48 2021 +0100

    [format] Use \exposid{,nc} for format-arg-store, not \placeholder

commit 85525b1bd58421e4507705f96ee67f217aee4e9e
Author: Krystian Stasiowski <sdkrystian@gmail.com>
Date:   Mon Mar 16 19:16:30 2020 -0400

    [dcl.dcl] Improve note regarding nodeclspec-function-declarations

commit 5fdd7f71e4ba24778943889f658e3ed0620c08b9
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Sat Jun 19 11:04:30 2021 +0100

    [basic.stc.dynamic.general, class, namespace.udecl] Fix ranged index entries

commit 628ded4b8e6cd4b7297f9e04a394f200423ab2d7
Author: S. B. Tam <cpplearner@outlook.com>
Date:   Sat Jun 26 21:11:29 2021 +0800

    [range.split.iterator] Add missing braces in 'Effects' clause (#4721)

commit 44c522011a71e66ca9dc86e1c7e5e33ca7e430f5
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Fri Jul 2 15:48:35 2021 -0400

    [allocator.uses.construction] Add missing closing parentheses (#4729)

    The parentheses were erroneously omitted from
    9ffd955ed17b8482c0b491d3590f3d3986650e7c during the application of LWG3527.

commit 45578ff558206090ebcc06e8b7d2f028add1efb6
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Jul 5 15:26:50 2021 +0200

    [time.clock.cast.{sys,utc}] Shorten introdution of `Duration2` (#4734)

commit 52d9b8e0318d3bbf7efaea422f47a3ccb5c07381
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Fri Jul 9 16:25:52 2021 -0400

    [func.require, func.wrap.func.inv] Use defined term "target object" (#4739)

commit 4bb0543c314c7b302b185245e18e6e0e577b1d72
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Wed Jul 7 23:23:44 2021 +0200

    [thread] Fix and add cross-references in header synopses

commit 1744e9eb44122b1b2772a162ecfb77a9f5406875
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun Jul 18 21:51:00 2021 +0200

    [bit.count] Add missing paragraph number

commit dff9c52d9b8ecb3029edf43b102e74429c321979
Author: hewill <67143766+hewillk@users.noreply.github.com>
Date:   Wed Jul 21 18:34:53 2021 +0800

    [variant.variant.general] Fix typo in "constexpr" (#4765)

commit d6f4d5e9b9186a1bde38dae86013e6cd980f83c0
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Wed Jul 21 12:37:50 2021 +0200

    [expr.delete] Replace 'denote' with 'pointed to'. (#4762)

    This change also introduces a name for the pointed-to object,
    which removes the erstwhile ambiguous antecedent for 'its'.

commit 560c5c80de9090ebefa5c98dfbe6079da359a810
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun Jul 18 21:42:49 2021 +0200

    [expr.static.cast] Admit integral promotion for cast to enumeration type

commit d8a89d19b9faeed94c5f6b34788621c3ae10abaf
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Jul 9 22:12:36 2021 +0200

    [basic.compound] Use quoted-string designation for pointer types

commit 5d544aeb48fdbdc9529b9eb7c77f13c10fa4bc6b
Author: timsong-cpp <rs2740@gmail.com>
Date:   Wed Jul 21 05:47:53 2021 -0500

    [range.nonprop.cache] Clarify emplace-deref for prvalues. (#4732)

    A new note explains that `emplace-deref` requires implementations to
    avoid materialization of the result of `*i` before the initialization.
    This is implied by the normatively expressed requirement in terms of
    an invented initialization of a variable, but is easily overlooked.

commit f4e83097149490c7ff999588ca2cf36d01cbb791
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Thu Jun 24 20:01:16 2021 +0100

    [ostream.formatted.reqmts],[ostream.unformatted] "that object" not "this object"

    Avoid saying "this object" when not talking about `*this`.

commit 6847238dcfa2079bc0c70348a5fd34c07f28fe5c
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Fri Jun 25 09:58:33 2021 +0100

    [input.streams.general],[output.streams.general] describe contents more accurately

    Class templates are not types. Function templates are not function signatures.

commit 711aa64c2625570b865ce5f88edde0b1e5863a1e
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Jul 3 00:02:53 2021 +0200

    [std] Harmonize 'reference binds to an expression' phrasing

commit 5465744691ae7d3fad1b9bd3d0e3c1abb90c9c63
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Wed Jul 21 12:13:55 2021 +0100

    [meta.member] Clarify is_corresponding_member semantics

    The definition of 'common initial sequence' in [class.mem] only applies
    to standard-layout struct types, which excludes unions. There is no
    reason to define is_corresponding_member in terms of standard-layout
    types (which includes unions and scalars and arrays of such types) when
    the common initial sequence is only meaningful for standard-layout
    structs.

commit 27c1be4dc652449215246c807464605c095eb12e
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Dec 14 22:45:03 2020 +0100

    [std] Use grammar typedef-name instead of 'typedef name'.

    The former includes names introduced by alias-declarations,
    the latter (arguably) does not.

commit a6267a3e89ed19e0d0839a4a98aa44de3eed1536
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Dec 14 23:03:11 2020 +0100

    [dcl.typedef] Properly define 'typedef name for linkage purposes'.

commit 3fb7f67287ff01b7b74f0767fdd0f9d7bd1209df
Author: Casey Carter <Casey@Carter.net>
Date:   Thu Jul 22 18:06:57 2021 -0700

    [span.streams.overview] Fix typo in "these" (#4769)

commit 2a23be97d65776c1a1b4da454bc19ddc5420122c
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Tue Jul 27 15:27:49 2021 -0400

    [allocator.requirements.general] Fix typo in table's note (#4782)

commit 7ce2694926c5a835169635fc916297af803ed4ad
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Tue Jul 27 21:24:51 2021 +0200

    [basic.types.general] Fix comment in example

commit 2a587c1570ab19bed81f9095f54eeec0d319f4ce
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Tue Jul 27 11:28:05 2021 -0400

    [tuple.creation] Remove unused introductory notation

commit 7df2b916044b3b47cd708ed1488f1d2fd5f70886
Author: stbergmann <sbergman@redhat.com>
Date:   Tue Aug 3 17:27:34 2021 +0200

    [std] Use $...$ around negative numbers, for proper minus signs (#4790)

commit a4e40b0ada8a15b601566af3f96bf89314e7ef60
Author: Casey Carter <Casey@Carter.net>
Date:   Thu Aug 12 07:50:22 2021 -0700

    [spanbuf.virtuals] Add missing "override" (#4795)

    ... to the declaration of `setbuf` to agree with the class synopsis.

commit b02a8de26b2a19a153516a350b79c55ded8ce5f2
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Tue Aug 17 17:23:32 2021 -0400

    [range.iota.view] Mark exposition-only concepts as such (#4818)

commit ffb5fd38560371bf38757cc8ba75130e7f17398d
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Wed Aug 18 09:41:42 2021 -0400

    [range.dangling] Use "auto" parameter type (#4817)

commit 2f24840565c363d554f99bf74e6e4255a07891c8
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Wed Aug 18 16:27:55 2021 -0400

    [coroutine.traits.primary] Separate parameters by spaces

commit 39399f5f6f2e48d50101769180dea3219679ef60
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Aug 19 22:19:43 2021 +0200

    [cmath.syn] Add 'lerp' to list of differences vs. C (#4806)

commit deec10b978bb05e12b1ad5f586f3e8b21e590306
Author: timsong-cpp <rs2740@gmail.com>
Date:   Thu Aug 19 21:13:31 2021 -0500

    [iostream.format] Use the injected-class-name throughout

    Also remove ill-formed default template arguments in the definition
    of sentry and spell out the return type of arithmetic inserters and
    extractors.

commit f66f72a92c5c9ce108f8b7ceadcafc4c70adae83
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Fri Aug 27 15:50:57 2021 +0100

    [range.istream.view] Repeat default template argument in synopsis (#4836)

commit 2aab403e7e14d3d166006c2e96160a430de5d4e7
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Tue Aug 31 06:30:38 2021 -0400

    [temp.spec.general] Format grammar terms (#4849)

commit d299b77828e86d1ac26ac2ccc081e01b5a22ce4b
Author: plazum <34277374+plazum@users.noreply.github.com>
Date:   Thu Sep 2 13:58:34 2021 +0800

    [forward] Fix typo in example 2 in paragraph 6 (#4858)

    Duplicate declaration of sp1. Change it to sp2 just as that in example 1 above.

commit b5582e513b0c79c439a6d25ec3702a63488f35ba
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Mon Sep 6 07:49:51 2021 -0400

    [basic] Reference more specific subclause [expr.context] (#4866)

commit 462b7d4cd325dec7fa6e44bda2a8da0954affa20
Author: languagelawyer <38548419+languagelawyer@users.noreply.github.com>
Date:   Wed Sep 8 18:54:28 2021 +0300

    [expr.const] Fix reference to integer overflow (#4880)

commit d13ed92b0afe1ca7da4e3783cb4964e43533d3c4
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Aug 14 12:32:28 2021 +0200

    [basic.lookup.unqual] Clarify 'unqualified name'

commit 01818364b75784bf19f2618b4f27afbde72caad2
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Thu Sep 9 11:31:03 2021 -0400

    [expr.typeid] Fix reference to header synopsis (#4883)

commit 598d39c6a8da4c657b20cc8b2c002a8b8f286cb8
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Sep 3 15:27:55 2021 +0200

    [basic.string.general] Adjust declaration of basic_string::npos

    Use constexpr and an explicit conversion to size_type,
    for consistency with basic_string_view.

commit 28aa519b3834a9be0f2c93bc3ab1c60e9305fedf
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Sep 4 12:23:35 2021 +0200

    [expr.ass] Clarify type of assignment-expression

    An expression has a type and a value category.
    This particular compound-expression was missing the
    specification of its (result) type.

commit d6fa2a9a7e52b78b8881a387b64dc1b880bc6ea6
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Mon Sep 13 10:21:47 2021 -0400

    [intro.abstract] Fix reference to point to .general subclause (#4892)

commit 9c018aa764fc1c6f856ffce1e61e80c889a44c6a
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Mon Sep 13 10:22:19 2021 -0400

    [basic.life] Use Oxford comma (#4896)

commit e2e875c3eb1384a70e817f36ca615f8b877f172b
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Mon Sep 13 10:22:59 2021 -0400

    [basic] Reference [basic.types.general] where appropriate (#4895)

commit e29850e886e5626ca09910224c60c3dd340a8937
Author: Richard Smith <richard-github@metafoo.co.uk>
Date:   Wed Sep 15 12:24:58 2021 -0700

    [dcl.spec.auto.general] The placeholder type -> A placeholder type (#4909)

    "The placeholder type" gives the wrong impression that we're talking
    about the case from the previous paragraph. We're not; this is parallel
    to the previous paragraph so should use parallel wording.

commit dc5a7d695b35870650b363b65ef5ae7498abda10
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Thu Sep 16 20:27:04 2021 +0100

    [dcl.init.general] break p7 into two paragraphs (#4912)

commit 5fdfe684b3aa0ab3579160be5cd1ff723879a0aa
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Sep 17 16:31:21 2021 +0200

    [conv.rank] Avoid hinting that 'bool' be a standard integer type. (#4209)

commit ed65b084e8b82af888d43a6dcad9661ddce21820
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Sep 17 16:32:48 2021 +0200

    [stmt.return,dcl.fct.def.coroutine] Avoid use of 'glvalue result' (#4803)

commit b6037fce86b3a64c56ba82ed687802b745083436
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Sep 17 16:34:34 2021 +0200

    [expr.typeid] Require class type to be complete in all cases (#4827)

commit 6e20d2fdbaaad47ec1f89e2ed0b2e823668acfbc
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Sep 18 07:44:53 2021 +0200

    [facet.num.get.virtuals] Fix singular/plural mismatch

commit 584923b8c4a19cb026f51db3ebf4006c387b1e41
Author: Casey Carter <Casey@Carter.net>
Date:   Fri Sep 24 06:53:48 2021 -0700

    [fstream.syn] Fix grammar

    "are only be provided" is not a valid english verb phrase. I'm not sure if
    the intent was "are only provided" or "are only to be provided", but I think
    the first more closely adheres to our style of making existential statements
    about library implementations.

commit 53b8382f25edcad2adc81c17db8f5a45753f6f8c
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Sep 24 00:10:24 2021 +0200

    [dcl.init.aggr] Insert paragraph break to avoid bad \item numbering

commit 75fe60fd58d8cfbb5eb5bd9622004f84e60a0cd9
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Sep 24 00:03:43 2021 +0200

    [optional] Replace bool(x) with x.has_value()

commit 97e949e6067255152859dbd1b5825d3b42c6bfbf
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Sep 2 15:02:42 2021 +0200

    [expr.delete] Clarify constraints on non-array delete

commit a029b12c7baeaeb671a7ace6f231dfe81dce2236
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Aug 30 22:21:05 2021 +0200

    [expr.delete] Clarify treatment of arrays of classes

commit 296f0ed962958db3f9f61ec1bd23092e7c53fa6e
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Sep 24 22:13:40 2021 +0200

    [class.copy.elision] Fix comment in example (#4928)

commit d9bd2a6244375c6189060b511c00867563967436
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Sep 18 08:04:14 2021 +0200

    [class.base.init] Clarify implicitly-defined copy/move constructors

    Those do not have a (grammatical) mem-initializer-list,
    yet they ignore default member initializers.

commit 1e1cb1269679635ef219bb0c0603a1a0d65d754e
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Thu Sep 9 21:55:20 2021 -0400

    [expr.dynamic.cast] Remove apparent condition

    The preceding paragraph already introduces the
    "otherwise" branch for the runtime check whose
    algorithm is explain in this paragraph.

commit 80d937ebc6b00f77046c72236256d5a60781d215
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Jul 19 23:51:39 2021 +0200

    [stmt.dcl] Clarify 'active' variables

    They necessarily have automatic storage duration.

commit a054daf2cd58f1868737c5761f2fe9fdb3627f03
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Aug 12 17:03:29 2021 +0200

    [dcl.init.ref] Avoid 'value of the expression'

    when the properties of the expression are still relevant.
    Also avoid "result of the conversion".

commit 166af4d9e8587268564e78e1412e269ccd7170fc
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Jul 17 22:48:37 2021 +0200

    [expr.new] Clarify result type and value category

    Also move the relevant text to after the syntactic constraints.

commit 7a2e73da0357be63d760fb44311653c55fbac57b
Author: Barry Revzin <barry.revzin@gmail.com>
Date:   Sat Sep 25 14:51:52 2021 -0500

    [swappable.requirements] Change "Requires" to "Preconditions" (#4886)

commit 8114ccdb0ef3b0e308c54aa9a3757e9d6c09528b
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Sat Sep 25 16:14:47 2021 -0400

    [func.search] Fix inconsistencies between boyer_moore searchers (#4873)

commit 3a97ba6e50e4acc2bb42b09c57f986b0eadd38e1
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Sep 27 11:31:09 2021 +0200

    [lib] Rename exposition-only 'no-throw-' concepts to 'nothrow-' (#4942)

    for consistency with nothrow_constructible.

commit 668c82a2eed560c27c1205b0fe03b818bf11487c
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Sep 27 21:52:58 2021 +0200

    [range.dangling] Use ranges::subrange in example (#4946)

commit 17dc5f664da476831c5d6138e9f0cc15ddb6e0bc
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Wed Sep 29 16:37:20 2021 +0100

    [customization.point.object] fix grammar (#4950)

commit b6f5885aa049d9064dab53092cd68425d100fa82
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Sep 30 08:52:38 2021 +0200

    [tuple.apply] Move exposition-only functions to namespace std (#4951)

    and remove superfluous std:: qualification.

commit d82328101bcc70d7cc75929cc185b8f2206561f8
Author: Erich Keane <erich.keane@intel.com>
Date:   Sun Oct 3 06:29:18 2021 -0700

    [expr.prim.id.general] Add missing semicolon in example (#4956)

commit 2360a5960c6edd072e1370bb81f2797f3e80f16c
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Sun Oct 3 09:42:57 2021 -0400

    [stmt.pre] Remove stray cross-reference (#4959)

commit 35577f575883adc8c5b80dee22b6c131240bdec1
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Tue Oct 19 17:16:31 2021 -0400

    [range.lazy.split.outer.value] Fix indexed outer class name

commit 91ab4b4f5ebea4c84304faa4efd9bd86095c0ac0
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Wed Oct 20 17:40:16 2021 -0400

    [lex.{phases,charset,string}] Fix minor misapplications of P2314R4 (#5040)

    Corrects a grammar term plural form, adds missing "R" for raw string literal,
    and deletes a paragraph that was missed in the main commit
    (3505e2ab3fcdf562b3fa3cb76dc417ecaef09648) and adjust index entries.

commit 7d886537b0e2a66aa9778efedf160d43d2a27205
Author: timsong-cpp <rs2740@gmail.com>
Date:   Wed Oct 20 16:42:52 2021 -0500

    [range.join.view] Remove duplicative condition (#4957)

    This function is constrained on `is_reference_v<range_reference_t<const V>>` already,
    so checking it again in the `if constexpr` has no effect.

commit ef2bbe887b4caf15ffdfc4d7ba4a1cca0650b5ac
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun Oct 3 15:39:35 2021 +0200

    [support.types.layout] Avoid implementation guidance in a note

    Turn it into a "recommended practice" section.

commit c2439d348fba54eed22e0a9803f3bca512803b0e
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Sat Sep 25 19:07:09 2021 -0400

    [headers] Fix note about importing library headers

    Importable library headers are not module units,
    because they do not have a module-declaration.

commit e49d044c278a0911a98e9f6d912a3e196b5ebb2f
Author: languagelawyer <38548419+languagelawyer@users.noreply.github.com>
Date:   Thu Oct 21 02:32:58 2021 +0300

    [expr.delete] Remove "result" from expression (#4740)

commit b2264247505861345c6d297d673209b06c67737f
Author: timsong-cpp <rs2740@gmail.com>
Date:   Wed Oct 20 19:14:12 2021 -0500

    [move.iterator] Use the template parameter directly in declaration of base()

commit 21d7303990d31e8d38738d82d5a4b94fd5801b9e
Author: timsong-cpp <rs2740@gmail.com>
Date:   Thu Oct 21 05:27:51 2021 -0500

    [utilities, range.nonprop.cache] Simplify direct-non-list-initalization phrasing (#5042)

    Fixes #5038.

commit cb39ab5883d9c1e74a2841bcdf06b6523ca6228d
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Oct 15 12:47:35 2021 +0200

    [dcl.type.auto.deduct, expr.type.conv] Rearrange description of 'auto' deduction

    This change moves the fact that 'the type shall be auto' from
    [expr.type.conv] to [dcl.type.auto.deduct], and thus avoids repeating
    the mechanism of placeholder deduction.

commit 4bffacc223a5b294be3a2bedc13cfa650fbfd653
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Oct 21 12:51:56 2021 +0200

    [std] Fix cross-references to 'unevaluated operand' (#4941)

    This change adds a new label to the desired paragraph, updates existing references
    to refer to the new label, and adds new references to occurrences of "unevaluated
    operand" that previously did not have one.

commit 49eab1d6898e4c39b4e26b9943ab6af99da486e5
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Tue Oct 19 11:08:35 2021 +0100

    [diff.cpp20.utilities] Improve clarity of long sentence.

    Repeating the "that" pronoun makes it easier to tell where each part
    of the sentence belongs.

commit e72874655094916c118488e867d117c65fb9e754
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Thu Oct 21 12:53:41 2021 +0100

    [container.requirements] Improve punctuation of list items.

    It is still odd to have semicolons in the middle of the first list,
    but at least this change makes the overall punctuation somewhat more correct.

commit ed7cb023d0e172987b6d55f639380cf848f1db50
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Oct 21 15:09:22 2021 +0200

    [basic.def.odr] Introduce label 'term.odr.use' and refer to it

    instead of referring to 'basic.def.odr'.  The latter breaks if we
    ever move the definition of 'odr-use', e.g. to a subclause.

commit 23b36a4af0f95038aca34a471b845a5760a13ec5
Author: Géry Ogam <gery.ogam@gmail.com>
Date:   Thu Oct 21 18:58:42 2021 +0200

    [basic.life] Remove a partial repetition of the end-of-lifetime rules (#4894)

commit f009b5d7e1eeef39d64b999abfb772ef3ecf15c9
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Oct 21 21:41:48 2021 +0200

    [vector.cons] Use math formatting for 'N' for consistency

commit 1acfef5c47862676c5d1401399dd3112f73a161d
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Oct 21 21:32:19 2021 +0200

    [string.io] Rephrase sentry conversion

commit d2ce09da710b47d7135757a9bff26bfa4e557fef
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Oct 21 22:32:34 2021 +0200

    [system.error.syn,locale.facet] Replace 'automatic' by 'implicit' conversion

commit b25fb2ea70ff6fb564a247dfc95438e7e90608e4
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Oct 22 00:18:21 2021 +0200

    [lex.ccon] Clarify antecedent for 'it'

commit a45f88084ff4ae301bbded86107ab540082387f1
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Oct 22 00:14:55 2021 +0200

    [time.format] Avoid non-sentence in bulleted list

commit 12c32b999f85c5b7e3f8f14d7c287d47492533d2
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Fri Oct 22 11:08:35 2021 +0100

    [expr.await] Remove hyphen from "re-thrown" (#5062)

commit 65ec10addf80f6682395904ede48d7a1b5e732ec
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Fri Oct 22 18:08:06 2021 +0100

    [range.view] Move note outside of list.