N4850 Editors' Report -- Programming Languages -- C++

2020-01-14
Richard Smith (editor) (Google Inc)
Thomas Köppe (co-editor) (Google DeepMind)
Jens Maurer (co-editor)
Dawn Perchik (co-editor) (Bright Side Computing, LLC)
<cxxeditor@gmail.com>

Acknowledgements

Thanks to all those who have submitted editorial issues and to those who have provided pull requests with fixes.

New papers

Notable editorial changes

Only minor editorial changes have been made since N4842.

Minor editorial fixes

A log of editorial fixes made to the working draft since N4842 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 aed2cbc451be619f3788387b02379067ae5fcb9c
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Nov 27 18:01:16 2019 -0800

    [basic.life] Rename "Object and reference lifetime" to simply "Lifetime"

commit 1b0c11b682a907555950430290823371d65bb7c7
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Dec 2 18:24:29 2019 +0100

    [support.srcloc.class] Highlight unspecified properties (#3309)

    of the source_location constructors and copy assignment
    operators.

commit 4dd1859d3bb23893e4fa7499e38367d890323a59
Author: Christopher Di Bella <cjdb.ns@gmail.com>
Date:   Tue Dec 10 14:26:21 2019 +0000

    [iterator.concept.readable] Use ranges::iter_move in indirectly-readable-impl (#3532)

    The exposition-only concept indirectly-readable-impl relies on
    ranges::iter_move, but the text was missing the ranges:: qualifier.

commit b2efb60c2c79f612c6b17784385b33cb47f7b4cf
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Tue Dec 10 15:47:41 2019 +0100

    [class.derived,class.member.lookup] Reference figures in running text. (#3526)

commit 93c581cbcfe7465fb417c9a3a191ce4a02fe9494
Author: Bryce Adelstein Lelbach aka wash <brycelelbach@gmail.com>
Date:   Tue Dec 10 10:27:19 2019 -0800

    [time.syn] Move treat_as_floating_point_v next to treat_as_floating_point. (#3533)

commit 4fccf29bdca0d3e709e330fd9deb1301b14d469b
Author: Bryce Adelstein Lelbach aka wash <brycelelbach@gmail.com>
Date:   Wed Dec 11 11:03:29 2019 -0800

    [functional.syn] Move variable templates next to traits. (#3536)

commit 1c5672447cc6aa4d7f688f0b824d538e2dc00d25
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Thu Dec 12 20:54:18 2019 +0000

    [span.cons] add missing \pnum

    Fixes #3540

commit e01989e83849323ab49089ea18a52ccbac08d90a
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Dec 14 09:28:30 2019 +0100

    [span.cons] Do not suggest that to_address could throw. (#3546)

commit a106d8e89b6bffdc3c89411e1e1850f4f699916f
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Dec 14 11:25:59 2019 +0100

    [alg.partitions] Add missing \pnum. (#3549)

    Also extend the check script to flag missing \pnum in
    library descriptions.
    Limit the checking to library clauses other than [library].

commit 4c6f1e8a51092560b51640461794f2e8ab6bb1a0
Author: Casey Carter <Casey@Carter.net>
Date:   Sat Dec 14 12:42:29 2019 -0800

    [string.view.synop,span.syn,span.cons] enable_/safe_range are defined in std::ranges (#3551)

commit 7989bb445478b41a9fee3539bebffcaa46ba5270
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun Dec 15 23:43:58 2019 +0100

    [ranges] Mark exposition-only names as kebab-case.

commit 89abe001f5cba2775ec1f908eadf765572413fd5
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Dec 19 00:38:11 2019 +0100

    [ranges] Missed markings for exposition-only names. (#3562)

commit 108bb54ad091301591b1926817cfbbf595eec611
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Dec 18 16:12:19 2019 -0800

    [over.match.funcs] Correct comment in example.

    Per the normative wording, excluded functions are not candidates; don't suggest they are candidates by describing them as not being viable.

commit 8166369c5d5ce508d92ec35e72c14c0aa707e486
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun Dec 15 18:34:31 2019 +0100

    [lib] Consistently use ios_base::failbit and ios_base::badbit.

commit d825a2f4c0edbd1610de4dc602f9184dc6262a92
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Tue Dec 31 04:58:59 2019 -0400

    [range.common.view] Declare size after begin/end like in the other views (#3598)

commit 5c5e8f13590a27740bf9d82b8b07c147bb9c82af
Author: Dan Raviv <dan.raviv@gmail.com>
Date:   Thu Jan 2 19:51:16 2020 +0000

    [expr.pre] Change note to use grammatical English (#3601)

commit 45abe6732549540bbde151e16312fcca97d0b7b3
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Sun Jan 5 13:33:57 2020 -0400

    [range.take.while.sentinel] Add missing template parameter (#3604)

    Also add a cross-reference for the declaration of sentinel in [range.take.while].

commit 6e769c32615e4d71b9a67f6fe37fca505c85f69d
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Sun Jan 5 13:56:39 2020 -0400

    [range.istream, range.take.while.sentinel] Harmonize default member initializer (#3605)

    for pointers to use "= nullptr", not value-initialization.

commit 3974bc16a91e0be3b741d3ebbc2eea563c5873c8
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Tue Jan 7 04:06:10 2020 -0400

    [range.elements.iterator] Add missing \expos comment (#3609)

commit 07741c01b2815bbb38b08ed373443dc55f8fc663
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Jan 11 12:47:54 2020 +0100

    [cmath.syn] Turn a consequence into a note.

    Also replace a numbered list with a bulleted one.

commit 4e82f14c3f3cd168c23543f21382fb618b9422bc
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Jan 10 23:21:21 2020 +0100

    [over.oper] Clarify that operator= cannot be overloaded for enumerations.

commit 6816060ed8ee4fec41f642c469deca26552c521c
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Jan 10 23:07:31 2020 +0100

    [locale.codecvt] Do not claim that 'Unicode' is a character encoding.

commit e0ea8f0f88eefdb40bf973bce4ba4c53729705ef
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Jan 10 22:49:24 2020 +0100

    [format.arg] Move 'otherwise' to the start of the bullets.

commit 4d03cd8843189bb7020396f9e2a9a6e37994d75a
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Jan 10 22:43:54 2020 +0100

    [thread.lock.unique.locking] Fix typo in try_lock_for.

commit be996b318df8da69d4c15b498baf4d8137cd041d
Author: Dan Raviv <dan.raviv@gmail.com>
Date:   Mon Jan 13 19:43:34 2020 +0000

    [expr.prim.lambda.closure] Fix wording inaccuracy in note

    A generic lambda has a function call operator template, not a function call operator.

commit 331d1a0a288ccdcb320a334f7c3ff8270ef66145
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Jan 3 00:05:52 2020 +0100

    [iterator.requirements.general,range.counted] Rework notation for counted ranges.

    Introduce a new macro \countedrange.

commit 2950e9fe2e5050b45130081a47d56a5498589304
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Mon Dec 30 18:28:03 2019 -0400

    [iterator.concept.sizedsentinel] Improve description

commit a689a53fa67577528c6d6aa9b257980b2e8c5c83
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun Dec 29 01:04:55 2019 +0100

    [over.built] Avoid confusing term 'promoted arithmetic type'.

commit 2fb11cffd398014d5ebc163bf07f6eee85596862
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Mon Jan 13 12:09:54 2020 -0800

    [over.built] Only unscoped enumeration types are subject to integral promotions

commit 4a222eae3994f60676a3b7b235fda39366f59d6f
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Mon Jan 13 12:12:30 2020 -0800

    [over.built] Convert to singular.

commit fcd5b78c796b25e4028d450fe3fd31f73122f442
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Dec 28 22:11:55 2019 +0100

    [stringbuf] Use phrases from [bitmask.types].

commit a930484135422be1797060b6e819219cb8a628f8
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Dec 28 21:07:20 2019 +0100

    [expr.call] Clarify result of function call vs. return operand.

commit 51f1b73307958683a60f31a20f5b1bfadc5c4fef
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Jan 10 23:34:34 2020 +0100

    [ptr.launder] Fix note and example for std::launder.

    The applicable rules have changed in response to
    NB RU 007, US 042 (C++20 CD).

commit 1a4e37c71836fcb4077b8257dd1feb0bb6e1a33e
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Dec 28 19:12:05 2019 +0100

    [expr.compound] Use sequencing on expressions

    as defined in [intro.execution] as an abbreviation
    for value computations and side effects.

commit 1de6c6168372d83644400e54cb769431a14419c1
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Dec 28 18:45:38 2019 +0100

    [temp.type,temp.over.link] Define and use 'same template-id'.

commit 35641b4877d86ebd454b640bbb82d6127a24b545
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Dec 28 00:33:59 2019 +0100

    [thread.condvarany.intwait] Fix invocation of wait_until.

    P1869R1 Rename condition_variable_any interruptible wait methods
    reordered the parameters of the wait_until function, but
    neglected to adjust the 'Equivalent to' code for wait_for.

commit 3b417555e214a50959fb8d718bf39c9fe14f13a5
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Dec 27 14:13:01 2019 +0100

    [class.static.data] Cleanup description for local/unnamed classes.

commit b973550df3bb9348df1a4f62020a1e2822f5795f
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Dec 26 23:26:36 2019 +0100

    [class.this] Member functions are not cv-qualified.

commit 0a7b3603aa3f5311e784677ae99e8ffbfcb00eef
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Dec 26 23:33:01 2019 +0100

    [class.this] Cleanup verbose and redundant exposition.

commit 2069ec64c66767b0ac349554fb9a02a13989b5d6
Author: Casey Carter <Casey@Carter.net>
Date:   Thu Dec 19 08:33:55 2019 -0800

    [defns.signature] functions never have trailing requires-clauses

    ...after application of P1971R0.

commit 2094aa84d669e8e852d2ed04a4b7183ebb7801a4
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun Dec 15 21:55:04 2019 +0100

    [std] Harmonize comments indicating errors.

commit 9600b0cc37dbb39b8d3fad33fae4638d4f6587c1
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun Dec 15 21:10:48 2019 +0100

    [ranges] Integrate adaptor subclauses into overviews.

commit c71826505953488db2005909113c526ab3760cdf
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Dec 14 01:07:47 2019 +0100

    [cpp.replace] Distribute examples from [cpp.scope]

    where they fit more naturally, omitting some of the
    now-redundant introductory phrases.

commit 32f346c466dd5e45a4ae8fe3a1bf11e275fb08b9
Author: Krystian Stasiowski <sdkrystian@gmail.com>
Date:   Mon Jan 13 20:07:27 2020 -0500

    [temp.spec] Convert description of "specialization" to a proper definition

commit a4bf504f32d2840f74c00836265c6353e3e8ebf6
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Mon Jan 13 21:12:47 2020 -0400

    [algorithms] Split list items conventionally.

commit 9a19e01fed4cf1c13164b1c57eeaee06ccec44f5
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Dec 26 23:06:53 2019 +0100

    [basic.scope.pdecl] Fix example of self-referential initialization.

commit 54dc015ca8d40b7628abf470511e3baac975ae4a
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Jan 11 00:07:00 2020 +0100

    [dcl.fct,expr.ref] Fix description of class member access expressions

    involving non-static member functions.

commit 24bb2a0d3c753420c9196565b1bf2fd3fb596232
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Dec 28 21:41:32 2019 +0100

    [std] Consistently use 'overload set'.

    Define the term in [basic.lookup] and use it throughout.
    Avoid the term 'set of overloaded functions', because it
    is ambiguous with the declaration view in [over.load].
    (An overload set might contain functions from different
    scopes that cannot be overloaded per [over.load].)