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

2020-03-31
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

Special thanks to Marshall Clow for providing LaTeX sources for the LWG "Mandating" papers.

Special thanks to Johel Ernesto Guerrero Peña for reviewing the edits for many of the motions and catching numerous issues, and to Krystian Stasiowski for providing many pull requests to improve the consistency and precision of the standard wording.

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

New papers

The contents of N4860 and N4861 are identical except for the cover sheet, page headers and footers, and except that N4861 does not contain an index of cross references from ISO C++ 2017.

Papers incorporated into working draft

Core working group polls

CWG poll 1: NB comment resolutions for 7 NB comments applied:

CWG poll 2: P1779R3 "ABI isolation for member functions", resolving 1 NB comment:

CWG poll 3: P1857R3 "Modules dependency discovery", resolving 11 NB comments: with changes; see below

CWG poll 4: P0593R6 "Implicit creation of objects for low-level object manipulation", resolving 1 NB comment: (DR)

CWG poll 5: P1957R2 "Converting from T* to bool should be considered narrowing", resolving 1 LWG issue and 1 NB comment: (DR)

CWG poll 6: P2104R0 "Disallow changing concept values", resolving 1 NB comment:

CWG poll 7: P2107R0 "Copy semantics of coroutine parameters", resolving 1 CWG issue and 1 NB comment:

CWG poll 8: P2092R0 "Disambiguating nested-requirements"

CWG poll 9: Core issue resolutions for 3 issues in "ready" status, resolving 4 issues: (DR)

CWG poll 10: P2109R0 "Disallow export import foo outside of module interface", resolving 1 NB comment:

CWG poll 11: P2082R1 "Fixing CTAD for aggregates"

CWG poll 12: NB comment resolution, resolving 2 NB comments:

CWG poll 13: P2115R0 "Merging of multiple definitions for unnamed unscoped enumerations", resolving 1 NB comment:

CWG poll 14: P1815R2 "Translation-unit-local entities", resolving 3 NB comments:

CWG poll 15: P2095R0 "Resolve lambda init-capture pack grammar", resolving 1 issue: with changes; see below

CWG poll 16: P2002R1 "Defaulted comparison specification cleanups"

CWG poll 17: P2085R0 "Consistent defaulted comparisons"

CWG poll 18: P1908R1 "Reserving attribute namespaces for future use"

CWG poll 19: P1937R2 "Fixing inconsistencies between constexpr and consteval functions"

Library working group polls

LWG poll 1 applies to the Library Fundamentals TS

LWG poll 2: Library issue resolutions for 43 issues in "Ready" and "Tentatively Ready" status applied, resolving 26 NB comments:

LWG poll 3: Library issue resolutions for 65 issues in "Immediate" status applied, resolving 8 NB comments:

LWG poll 4: P2045R1 "Missing Mandates: for the standard library"

LWG poll 5: P1460R1 "Mandating the Standard Library: Clause 20 - Utilities library" with changes; see below

LWG poll 6: NB comment resolution for 1 comment applied, also resolving 1 issue:

LWG poll 7: NB comment resolution for 5 comments applied, also resolving 1 issue:

LWG poll 8: P1981R0 "Rename leap to leap_second", resolving 1 NB comment:

LWG poll 9: P1982R0 "Rename link to time_zone_link", resolving 1 NB comment:

LWG poll 10: P2101R0 "'Models' subsumes 'satisfies'", resolving 1 issue and 2 NB comments:

LWG poll 11: P1115R3 "Improving the return value of erase-like algorithms, part 2: free erase[_if]", resolving 2 NB comments:

LWG poll 12: P2102R0 "Make 'implicit expression variations' more explicit", resolving 1 NB comment:

LWG poll 13: P1994R1 "elements_view needs its own sentinel", resolving 1 issue:

LWG poll 14: P1868R2 "🦄 width: clarifying units of width and precision in std::format", resolving 1 issue and 1 NB comment:

LWG poll 15: P1956R1 "On the names of low-level bit manipulation functions", resolving 5 NB comment:

LWG poll 16: P1976R2 "Fixed-size span construction from dynamic range", resolving 1 NB comment:

LWG poll 17: P1964R2 "Wording for boolean-testable", resolving 4 NB comments:

LWG poll 18: P2091R0 "Issues with range access customization point objects", resolving 3 issues and 1 NB comment:

LWG poll 19: P0586R2 "Safe integral comparisons", resolving 1 NB comment: with changes; see below

LWG poll 20: P1831R1 "Deprecating volatile: library", resolving 3 NB comments: with changes; see below

LWG poll 21: P1973R1 "Rename _default_init functions", resolving 1 NB comment: with changes; see below

LWG poll 22: P1243R4 "Rangify new algorithms", resolving 3 NB comments:

LWG poll 23: NB comment resolutions for 2 NB comments:

LWG poll 24: P1739R4 "Avoid template bloat for safe_ranges in combination with "subrange-y" view adaptors", resolving 2 NB comments:

LWG poll 25: P2116R0 "Remove tuple-like protocol support from fixed-extent span", resolving 1 issue:

LWG poll 26: P1970R2 "Consistency for size functions: add ranges::ssize", resolving 1 NB comment:

Notable changes to papers as polled

CWG poll 3

Replaced reference to non-existent grammar production import-directive with the intended grammar production pp-import.

CWG poll 15

The location of the ellipsis in the quoted grammar in [expr.prim.lambda.capture]p2 didn't match the grammar production being quoted, and was relocated to the intended position.

LWG poll 3

The example added by LWG3262 did not take into account that the chrono-specs in a chrono-format-spec are required to start with a % character, so the - inserted for a negative duration is always at the start of the field. Consultation with LWG indicates that the result of this rule interaction is desirable, so the example has been updated to match.

LWG poll 5

This paper replaced Requires: with Mandates: in the tuple(tuple&&) constructor. The resolution of LWG issue 2899 (from 2019-08 LWG motion 1) already replaced Requires: with Constraints:. The change in this paper was not applied, as it would violate the intent established in LWG 2899 that the is_move_constructible trait can detect the move-constructibility of tuple.

LWG poll 19

As requested by the poll, the feature test macro added by this paper was changed from __cpp_lib_cmp_equal to __cpp_lib_integer_comparison_functions.

LWG poll 20

This paper suggested adding a Constraints: clause to atomic_init, but also adding wording that would remove those constraints as a deprecated feature. However, atomic_init has itself been deprecated since the wording was created. The result is that all calls to the function are deprecated, but calls that violate the Constraints: are deprecated in two different ways. Therefore the Constraints: have no effect, and have been removed.

LWG poll 21

This paper renamed a feature test macro but didn't suggest bumping its number to the date of the rename. After consultation with SG10, the macro's version has been increased to 202002L.

Disposition of editorial NB comments on C++ 2020 CD1

Listed below are disposition for all comments that were filed as editorial in the ISO 14882 CD (2019) NB comments and not resolved in N4842. For the disposition of comments resolved in N4842, see the corresponding Editors' Report, N4843.

JP 218: Accepted

JP 219: Accepted

GB 225: Accepted

US 327: Accepted

US 328: Accepted

Notable editorial changes

Value of __cplusplus

The value of the __cplusplus macro has been increased to 202002L for C++20.

"Recommended practice" sections

Some wording that was previously expressing normative encouragement by way of notes has been replaced with "Recommended practice" sections, following the example of the C standard.

Fixed misapplication of part of P0896R4

Due to a copy-paste error, the default constructor of front_insert_iterator was inadvertently changed to a non-default constructor when P0896R4 was applied by 2018-11 LWG Motion 25. This has been corrected.

Fixed misapplication of part of P1878R1

P1878R1, applied by 2019-11 LWG Motion 9, requested that the concept writable be globally renamed to indirectly_writable. The rename missed some instances that were added by other papers also moved at the 2019-11 meeting. This has been corrected.

Fixed misapplication of part of P0815R0

The application of the resolution of LWG2950, applied as part of P0815R0 by 2017-11 LWG Motion 4, inadvertently removed the b = from the specification of operator>>=(byte& b, IntType shift). This has been corrected.

Section labels

The section [language.support] has been renamed to [support] in order to prevent the section heading being broken across two lines.

Some missing entries in the "Cross references from ISO C++ 17" appendix have been added; all section labels present in C++17 but not in C++20 are now listed.

Requires: element

As a result of the various "Mandating" papers, the Requires: element is unused outside of Annex D, so the description of that element has been moved there too.

Minor editorial fixes

A log of editorial fixes made to the working draft since N4849 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 235e9a0cf66a997d05d068903ea5aeebc2e8e82f
Author: Casey Carter <Casey@Carter.net>
Date:   Wed Jan 15 08:27:29 2020 -0800

    [span.overview] Correct typo (#3633)

    Fixes #3632.

commit 1c0171894b791258539854d98fa5b157b8d6822b
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Wed Jan 22 07:48:32 2020 -0400

    [optional.optional, optional.ctor] Fix constexpr/explicit position (#3644)

commit d29ae50e1d39d56e54e142b13737d627709d39dc
Author: Casey Carter <Casey@Carter.net>
Date:   Wed Jan 22 08:19:13 2020 -0800

    [expr.prim.req.nested] Add missing semicolon to example

commit 9b6c64fabdb05432ecdd238900ca03ee63c33cf1
Author: Andrzej Krzemieński <akrzemi1@gmail.com>
Date:   Fri Jan 24 00:30:17 2020 +0100

    [temp.constr.op] Fix missing parentheses in example (#3643)

commit 22a182262f25f9fe79d8ff7a4e1d1460002bf9cd
Author: Casey Carter <Casey@Carter.net>
Date:   Fri Jan 24 09:49:58 2020 -0800

    [lib] Do not use "for some" to mean "for an arbitrary" (#3146)

commit 76e7c18a1255a42c94cb3073de47969dc17549f1
Author: Casey Carter <Casey@Carter.net>
Date:   Mon Oct 21 12:20:13 2019 -0700

    [ranges] Rename make-unsigned-like to to-unsigned-like

    Resolves #3300.

commit bf7a213db29cbd3f7c8f21798a1e6552d161594b
Author: Casey Carter <Casey@Carter.net>
Date:   Mon Oct 21 12:24:10 2019 -0700

    [ranges] make-unsigned-like-t is an exposition-only alias template

    ...instead of an exposition-only macro. In other words, it's used as `make-unsigned-like-t<meow>` instead of `make-unsigned-like-t(meow)`.

commit 90ded44703e48b32401fc766337d3e0bf0a8eaca
Author: Casey Carter <Casey@Carter.net>
Date:   Mon Oct 21 12:29:09 2019 -0700

    [ranges.syn] to-unsigned-like operates on expressions, not objects

commit 85e5aeb00ae69803a3ff10f96387d151af654f9c
Author: Daveed Vandevoorde <daveed@vandevoorde.com>
Date:   Tue Jan 28 14:35:02 2020 -0500

    [temp.constr.normal] Remove extraneous parentheses on concept use (#3651)

commit 61952121cc594d4d290bfb17b0ea95d50c6ed534
Author: Daveed Vandevoorde <daveed@vandevoorde.com>
Date:   Wed Jan 29 16:34:44 2020 -0500

    [temp.constr.normal] Confusing identifier used in explanation (#3652)

commit 694d84cae2e5496f59102f3eb7f386925be199dd
Author: pppalka <ppalka007@gmail.com>
Date:   Wed Feb 5 16:11:04 2020 -0500

    [range.istream.iterator] Fix bad reference to member name (#3661)

    The description of basic_istream_view::iterator::operator*() refers to a
    nonexistent data member value_ of basic_istream_view instead of the data
    member object_.

commit cbbbbc53b68c18a611bf75c5e626ad2c6aa56a3c
Author: pppalka <ppalka007@gmail.com>
Date:   Wed Feb 5 17:27:51 2020 -0500

    [range.join.sentinel], [range.split.view] Fix typos (#3656)

commit 634695586ebe9060f20a4b104aaefd9db9237f75
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Mon Feb 10 21:21:33 2020 +0100

    [depr.c.headers] Rename heading to just "C headers".

    The term "C headers" is just a label for a certain part of the C++ standard library; there is no deeper connection to the C language.

commit 0354125f1cdfef949d80053528c4a1a4f74b1dea
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Mon Feb 10 21:54:51 2020 +0100

    [temp.func.order] Fix comment to refer to correct overload resolution result.

    #1a is a fiction invented by partial ordering. The callee is #1 from which #1a was generated.

commit fe46a2b9142c8f3e931806f0433a13d5a8478100
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Mon Feb 10 23:19:00 2020 +0100

    Update value of __cplusplus to 202002L

commit 977961d675f77c0874b10a3f834984e7576cacfb
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Mon Feb 10 23:59:08 2020 +0100

    [dcl.fct] Fix reference to temp.fct.

    This reference was originally spelled "17.6.5" in the wording paper P1141R2,
    where it was relative to the Concepts TS, and the error slipped through.
    During motion application, we spotted the error, but not the cause, and
    picked temp.over.link as a "best-fit" replacement, when in fact the correct
    reference is temp.fct.

commit d668fd6d52f39aab030628185f5f1b747837f62a
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Fri Feb 14 10:51:20 2020 +0100

    [conv.rank] Change "size" to "width" in conversion rank relation (#3675)

    "size" has no defined meaning here; CWG confirmed that this is intended to be interpreted as "width".

commit 7918bc2a036e71fca76468f341c8302a676be580
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Tue Feb 11 16:12:21 2020 +0100

    [cmp, comparisons] Move description of compare_three_way.

    Moves the definition and specification of class compare_three_way from
    [cmp, 17.11] to [comparisons, 20.14.7]. Also adds a declaration of this
    class to the synopsis of <functional> and removes a paragraph that says
    (now redundantly) that the class is available also via inclusion of
    <functional>.

    This is a partial response to NB GB 175 (C++20 CD).

commit 43876c3008180b7e6b398bc0320baf7d06ac9d7f
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Jan 13 20:46:47 2020 +0100

    [dcl.attr] Introduce 'Recommended practice' paragraphs.

commit 78de92453c9c58450ac0574529ad9a4673786124
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun Feb 23 15:19:09 2020 +0100

    [temp.func.order] Add bullets to clarify long sentence.

commit 887d0f58a6a2f15617084bac462d730a23001571
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Feb 25 17:44:13 2020 -0800

    [basic.def.odr] Clarify that translation units lacking a
    private-module-fragment are definition domains.

commit f32471ed53b621309fca9b1a75341bd9b9f6ede6
Author: Dawn Perchik <dperchik@embarcadero.com>
Date:   Fri Feb 21 12:49:20 2020 -0800

    [expr.prim.lambda.capture]/p2 Fix P2095R0 wording: move "...opt" after "identifier"

commit 090d7d8c96ec5e6371e087fd3f1d4455a6dbb7bd
Author: Dawn Perchik <dperchik@embarcadero.com>
Date:   Fri Feb 21 13:39:40 2020 -0800

    [allocator.uses.construction] Give a name to generic lambda type
    parameter to allow idiomatic use of std::forward.

commit 193040646cc01368e8c20b4600452046e8eaf660
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Feb 24 07:54:11 2020 +0100

    [algorithms.requirements] Fix non-sensical English for NoThrowForwardIterator

commit 2eec680c4bfde4ec961041a71f5de95c59c8a4e8
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Wed Feb 26 00:34:24 2020 +0100

    [uninitialized.move,uninitialized.copy] Use \countedrange where applicable.

commit 14fd38fd5ed2cfebe608b2ed2c7d1f00d88a9baf
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Wed Feb 26 00:40:25 2020 +0100

    [specialized.algorithms] Whitespace and punctuation tweaks.

    - Hyphenate 'potentially-overlapping subobject'.
    - Add whitespace in range.

commit eff97945e2e8148d6fb204a96db7b6ba6845fd49
Author: Dawn Perchik <dperchik@embarcadero.com>
Date:   Sun Feb 23 19:44:27 2020 -0800

    [range.elements.sentinel] Fix template-head for elements_view::sentinel added by P1994R1

commit cfd03b579bba7247bc826ed4a00fbf64c603d5bf
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Mon Mar 2 16:10:05 2020 -0800

    [format.string.std] Put code point ranges in numerical order and collapse two adjacent code points into a range.

commit 9ce9b23148af2f744ef6707713839aa550f44999
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Mon Mar 2 16:41:36 2020 -0800

    [intro.ack] Add Unicode to the list of registered trademarks we mention.

commit 8dc23664d32a21c89eaeacd8ecd6cc675b1bcc4a
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Mon Mar 2 17:31:45 2020 -0800

    [span.sub], [span.objectrep] Use direct-list-initialization in span
    construction to compensate for changes in P1976R2.

commit 39a1f591610040c0c53ed741ecbee52543c7ce47
Author: Dawn Perchik <dperchik@embarcadero.com>
Date:   Sun Feb 23 12:25:17 2020 -0800

    [range.prim.size] Change "make-unsigned-like" to "to-unsigned-like" as per #3311

commit 8b5636fe7379cf4f1a4a0eb3eee32d9574b93a8a
Author: Dawn Perchik <dperchik@embarcadero.com>
Date:   Sun Feb 23 12:46:23 2020 -0800

    [ranges] Fix issues with wording of P2091R0 as suggested in #3752

    [range.prim.data] Fix typo "expresssion-equivalent"
    [range.access.rend] Fix cases where "rbegin" should be "rend"
    [range.prim.size] Fix "E" to be "t" in "expression-equivalent to" expressions

commit 202bef9db425c5d51c8b0aced9fb5c65778e914f
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Mar 3 12:53:38 2020 -0800

    [atomics] Remove redundant (and wrong in several places) qualification
    of is_always_lock_free.

commit a63805dc0719bebdc065b63498613b9c742f2bc2
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Mar 3 12:56:49 2020 -0800

    [atomics.types.float] Remove meaningless A:: qualification.

commit f3825d77e61b7140c2fbd9b8ef3e11b3bda35e46
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 13:25:33 2020 -0800

    [atomics.types.operations] Remove inaccurate introductory note
    concerning 'volatile'.

    Fixes #3816.

commit e8121bf5223690fddb459ab45d1fa474dda1134a
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 13:27:10 2020 -0800

    [version.syn] Bump value of __cpp_lib_smart_ptr_for_overwrite to 202002L
    to match the adoption date of the paper that introduced it.

    Fixes #3817.

commit 65e3f2d3cdcb076d452c33cce0dd22ab05e65451
Author: Dawn Perchik <dperchik@embarcadero.com>
Date:   Wed Feb 19 15:41:14 2020 -0800

    [cpp.pre][cpp.module][cpp.import] Fix neither-nor wording to include verbs after the "nor" and add punctuation.

commit 1fb2610634d54893eee344451cd517b964ea9815
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Feb 25 14:39:19 2020 -0800

    [cpp.pre] Improve phrasing of restrictions around defining
    module/import/export as macros before encountering a module/import
    directive.

commit f4512779aef04905e5238ac9630073cb7c892412
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Feb 25 13:26:08 2020 -0800

    [lex.pptoken] Update English description of preprocessing-token to match
    the updated grammar.

commit ef53989b095cc68960fdf4f6e91586c2cc976a91
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Feb 25 14:19:35 2020 -0800

    [cpp.pre] Avoid awkward phrasing "the last token in the sequence is the
    first token in the sequence [...]".

commit 2aa4d39cddf0b3bd38138c1cf16ee2e852734162
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Feb 25 14:25:54 2020 -0800

    [cpp.pre] Reorder grammar before paragraph 1.

    Avoids a grammar description immediately following an example.

commit 0b2916563f378fd44d6f0d62080042f6c360e440
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Feb 25 14:27:54 2020 -0800

    [cpp.pre] Rearrange grammar into topological order.

commit 3405cbec344e2be32ff80816d24bcad48e3f29e6
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Feb 25 14:32:00 2020 -0800

    [cpp.pre] Clarify that the rule for conditionally-supported-declarations
    resolves a parse ambiguity rather than determining program validity.

commit 19e6a5982e3d5f1837d7415c918628018ca70af3
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Feb 25 15:29:20 2020 -0800

    [lex.key] Add a proper grammar production for 'keyword'.

    Move export-keyword, import-keyword, and module-keyword out of our table
    of keyword identifiers (where they don't fit) and make them directly be
    grammar productions for keyword instead.

commit ff98c30ce690ef375c73c0a9cf8555e8a774eefe
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 13:41:48 2020 -0800

    [util.smartptr.atomic] Add example from Matthew Butler.

commit e15a52a4ab45ceed8ce5731558df1c84a4e47c7f
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 13:44:35 2020 -0800

    [temp.constr.atomic] Rephrase to make the meaning of "the same
    *expression*" more obvious.

commit 1eaf966e08f82b327a6ecf2d12a8e207d79c2916
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 13:47:42 2020 -0800

    [format.string.std] Clarify that "extended grapheme clusters" is defined
    by UAX #29, but "estimated widths" is not.

commit 02fe22bb9aaae190949ab4df53213d6f931eb827
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 13:50:28 2020 -0800

    [expr.const] Remove example that was made incorrect by P1937R2.

    Fixes #3792.

commit 1119ab4d9560ca1007a7588b41d3151d2c579c44
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 13:54:00 2020 -0800

    [time.format] Fix description of - insertion and examples.

     * Place :% in correct order in example.
     * Ensure that format specifier is at start of format-specs as required
       by the grammar.
     * Clarify that 'leftmost' means 'initial', and doesn't mean the final
       format specifier in an RTL locale.

    Fixes #3810.

commit 65784102a44ea16d590145e9468c9bd9d9254dc4
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 14:03:18 2020 -0800

    [std] Replace undefined term "automatic object" with "object with automatic storage duration"

    Similarly, replace "static object" with "object with static storage duration".

commit a4589f234e216cb1c0bfd329e1f35d3a3334bc29
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 14:06:34 2020 -0800

    [temp.pre] Define "templated" not "templated entity" so that we can refer to "templated classes" and "templated functions".

commit b1343bc461d0a9b03926f1251c419447c8bb57fb
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 14:20:09 2020 -0800

    [expr.comma] Remove vestigial wording describing "temporary expression"s

    This term was replaced by machinery in [class.temporary], which properly handles this case.

commit a7fc3f39067eeed59b089e9fdf4f2d53d91d9637
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Jan 17 21:01:27 2020 +0100

    [except.spec] Avoid reference to undeclared identifier in example.

commit 3e9bb331467a32e757e218391f28f1190b80607b
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Fri Jan 17 21:08:48 2020 +0100

    [basic.fundamental] Clarify that in C, padding bits may cause traps.

commit 8ad04ca4a3dfc35ae0096e14ce32acd2424c0d26
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 14:29:10 2020 -0800

    [dcl.constexpr] Add a note explaining that the result of a constexpr function can vary based on the result of is_constant_evaluated().

commit 8d587443a9f09fb040f8620b994ebeb1ea94fa49
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 14:43:16 2020 -0800

    [dcl.init] Add sub-bullets to description of class value-initialization.

commit bd4c6deae766fc81388a1cb15e97af8a90784a75
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Wed Mar 4 22:46:31 2020 +0000

    [swappable.requirements] Add missing \pnum to example and remove stray paragraph breaks around notes.

commit f7647912cde34959694a128beb1be7f56225c18b
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 15:00:43 2020 -0800

    [class.mem] Add explicit-specialization to member-declaration grammar.

    This is an obvious oversight in the wording changes for CWG 727, whose purpose was to permit explicit specializations as member declarations.

commit 6639bda6999ee917b6e653bb0971cb29b6606f2e
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Mon Feb 24 18:19:44 2020 -0800

    [utilities] Cleanups after application of P1460R1.

     * Fix some cases where the library descriptive elements were not in the
       right order.
     * Remove redundant && in second argument of is_constructible_v to match
       similar changes made by P1460R1.

commit ce2e915455a2f297fff73b5788bc38b5b0841713
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Mon Feb 24 19:29:04 2020 -0800

    [basic.life] Add variable names for the old and new object in the
    definition of "transparently replaceable" and simplify the exposition a
    little.

commit de25ccdaeda47a5719c9fa6bea1669ad85160d25
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 15:39:34 2020 -0800

    [extern.types] Strike footnote listing C stdlib types

    This footnote seemed like it was trying to exhaustively list all types imported from the C stdlib, but it was incomplete. Most notably, it was missing the types from `<stdint.h>`. Removing rather than fixing since the list is of questionable value and would be likely to become stale again.

commit 86d9ba406195fd8e0b0fb72723c5258b6cd422f1
Author: Krystian Stasiowski <sdkrystian@gmail.com>
Date:   Wed Feb 5 02:15:42 2020 -0500

    [basic.types] Change "(possibly cv-qualified)  void" to cv void

commit 6de55fc7095bedb3aa9bc1f381767c5a6646eb1d
Author: Krystian Stasiowski <sdkrystian@gmail.com>
Date:   Wed Feb 5 02:36:54 2020 -0500

    [over.match.copy] Change "reference to (possibly cv-qualified) T" to "reference to cv2 T"

commit 0886da388e11a5777e761df5538bbf84e98847e7
Author: Krystian Stasiowski <sdkrystian@gmail.com>
Date:   Wed Feb 5 02:41:47 2020 -0500

    [dcl.init.list] Change "possibly cv-qualified" to cv

commit 4570e3aacba6cff4add7f9acea652504b1604f2a
Author: Krystian Stasiowski <sdkrystian@gmail.com>
Date:   Wed Feb 5 03:36:22 2020 -0500

    [class.copy.ctor] Change "optionally cv-qualified" to cv

commit a9a1e5faa0b805ea8ce8a961789caad5b5c3bb0e
Author: Krystian Stasiowski <sdkrystian@gmail.com>
Date:   Wed Feb 5 03:37:44 2020 -0500

    [dcl.init] Remove unused definition of a variable

commit f611368d43b76cb0054c22cbe8cb987a18314e08
Author: Krystian Stasiowski <sdkrystian@gmail.com>
Date:   Thu Feb 6 15:08:29 2020 -0500

    [temp.param] Change "optionally cv-qualified" to "possibly cv-qualified"

commit d1d7769ab58636200e47f1365c61bbde85d8e287
Author: Alisdair Meredith <alisdairm@me.com>
Date:   Thu Feb 6 03:32:23 2020 -0500

    [diff.cpp17.iterators] Added compatibility note on iterator_traits

    The specialization of iterator_traits for pointers 'T*' in C++20 is now
    constrained by 'is_object_v<T>' and so no longer applies to pointers to
    function, or to void.

commit 1fda54c697dedd973459f67a552b79fd74dd47cb
Author: Casey Carter <Casey@Carter.net>
Date:   Sat Feb 15 14:56:12 2020 +0100

    [functional.syn] Correct text in cross-reference comment

commit af6e2d4da60d27cd230f321652868bf118deb001
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Feb 22 09:31:04 2020 +0100

    [concept.swappable,iterator.cust] Fix phrasing 'with no diagnostic required'

commit 51364a8a7fed97dae305b5264b5204429ac71f6a
Author: Davis Herring <herring@lanl.gov>
Date:   Thu Aug 15 11:45:44 2019 -0600

    [expr.type] Add "cv-combined" cross-reference

    It was moved to [conv.qual]

commit 75f00f111ca0650542b2112c98496663870e416a
Author: Davis Herring <herring@lanl.gov>
Date:   Fri Nov 1 17:45:15 2019 -0600

    [class] Remove misleading [expr.ass] reference

commit 6db1c3cbb9f056ad6b41a3f3e44bdeddaa526063
Author: Davis Herring <herring@lanl.gov>
Date:   Tue Feb 25 14:52:59 2020 -0700

    [rand.util.canonical] Remove self-cross-reference

commit 1f1c6eac3efc314be2f2a91c15d84f197a3f818a
Author: Dan Raviv <dan.raviv@gmail.com>
Date:   Tue Feb 11 14:38:30 2020 +0100

    [basic.pre] Improve consistency in list

commit 63da1a59b0f932bee3f0a5b60286f97bd0c51f02
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Mar 4 15:59:19 2020 -0800

    [rand.util.canonical] Convert normative duplication into a note.

commit 344e9d2180f03eb667fa2cbe6127b82f13017b42
Author: Frank Birbacher <frank.birbacher@gmail.com>
Date:   Fri Feb 14 20:55:30 2020 +0100

    [stmt.return.coroutine] Use notion of "enclosing" for "return"

commit 9cdb5763c5449bc1f94cfee6a75cff820060d3d5
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Mar 5 21:25:03 2020 +0100

    [temp.explicit] Add missing comma (#3822)

commit 12620243dea3c4dd6881f9a1eab39a776b20727a
Author: Casey Carter <Casey@Carter.net>
Date:   Fri Mar 6 09:58:51 2020 -0800

    [range.prim.cdata] Properly qualify ranges::cdata (#3793)

commit 417053a6c695e69dc8b2be3ba690ae3e5eff0964
Author: Casey Carter <Casey@Carter.net>
Date:   Thu Mar 5 11:33:33 2020 -0800

    [front.insert.iterator] Correct mis-incorporation of P0896R4

    What should be a defaulted default constructor is instead an ill-formed defaulted non-default constructor. This appears to be copy pasta from the original merge of P0896R4 in e85af9533ab6ab0f0b101ac61fc01ba47c406503.

commit 8197fe6fce017d4929817541a5ffcdc9a6080242
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Jan 11 11:58:25 2020 +0100

    [over.oper] Clarify handling of individual operators.

commit 9a408b17e1f20dad977b83deffe041f3d83b91b5
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Jan 11 12:04:54 2020 +0100

    [over] Use \keyword{operator} markup.

    Also use "cv1 T1" to concisely express that T1 is cv-unqualified.

commit 9bf27483a8ac7603d70810ed0373338494820d71
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Jan 13 22:34:49 2020 +0100

    [over.oper] Clarify that operator functions must declare one of the allowed operators.

    Also turn explanatory material into a note.

commit 2092becfe2fed97d95257efb78199f917cd0aa09
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Jan 16 23:30:59 2020 +0100

    [over.literal] Move out of [over.oper].

commit 00b66a1b8bd9389811ab81d0528ad09ad1960455
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Fri Mar 6 15:40:33 2020 -0800

    [over.oper] Consistently separate rewritten forms out from the running
    text.

    [over.ref] Convert "->" to code font in rewritten form.

commit 309f0afcb75d644cc52590cee2198a1f5626a19b
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Feb 19 17:58:34 2020 -0800

    [diff] Consistently format name of prior standards.

commit df2f32725d6481b900e0b0f32fca51fceeb7ecfd
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Feb 19 18:01:44 2020 -0800

    [diff.cpp17.basic] Fix example added by P0593R6.

    Pseudo-destructors weren't permitted in constant expressions before
    C++20.

    Fixes #3742.

commit b4f66cf75f74f752f082ec495309cf36ef63be77
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Wed Feb 19 18:07:54 2020 -0800

    [basic.life] Update out-of-date wording to mention that
    pseudo-destructors end the lifetime of an object.

    Fixes #3743.

commit e1292d9747f16114b5ba83e82358552474902aa3
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Feb 25 15:53:20 2020 -0800

    [intro.object] Remove note unhelpfully pointing out that C++ has types.

commit b79babd1f932cf4db11eb9e05713c015ce4855c7
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Thu Feb 27 19:01:45 2020 -0400

    [any.synop,any.class,any.nonmembers] Format pack conventionally

commit 98e736fac115efe282d635ab2b793cb89998c55a
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Jan 25 13:13:12 2020 +0100

    [lex.icon,lex.fcon] Rework description to avoid redundancies.

    Also use the grammar non-terminals integer-literal and
    floating-point-literal throughout the standard.

commit cd3c0765aecfaf0167b4a9c88ad152a10b803e29
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sat Mar 7 08:11:25 2020 +0100

    [algorithms] Rename concept 'writable' to 'indirectly_writable'.

    Missed edits from application of P1878R1 (2019-11 LWG Motion 9).

commit 18788a7812efc1e23a29b360fc7d98ad8b9a92e9
Author: Kerdek <Kerdek@users.noreply.github.com>
Date:   Sat Mar 7 13:38:40 2020 -0500

    [expr.ref] Fix terminology in description of access of non-static data members

    Objects have subjects, not members.

commit 1e18d4cbf57fcd6a88452c1b54748980c88c5b6a
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Wed Feb 26 22:11:30 2020 -0400

    [allocator.members] Replace SIZE_MAX with numeric_limits<size_t>::max()

commit 052b91a8e145bb5e01ae9b6bd307fb490c201cef
Author: Hubert Tong <hstong@ca.ibm.com>
Date:   Tue Mar 3 12:25:48 2020 -0500

    [class.friend] Add cross-reference for the namespace of the friend

    The cross-reference for "linkage of the namespace of which it is a
    member" is useful for determining the linkage if the namespace is known;
    however, there was no cross-reference to assist with determining the
    namespace.

    A cross-reference to [namespace.memdef] is added.

commit 24d517bc210a6e5f032da92785126c5fe77c36f3
Author: Alisdair Meredith <alisdairm@me.com>
Date:   Sat Mar 7 13:49:33 2020 -0500

    [util.smartptr.atomic] Apply conventional order to members of atomic smart pointers

    There is a consistent ordering of declarations for members
    of std::atomc specializations, other than for the atomic
    smart pointers.  This patch reorders the declarations to
    follow that convention.

commit 8fc95077300d2691f4c5c25fcfd7b15e8987cc67
Author: Krystian Stasiowski <sdkrystian@gmail.com>
Date:   Mon Feb 17 21:03:16 2020 -0500

    [basic.type.qualifier] Remove redundant wording

commit e3fa5b5d10decc7b99ca37cc05dcddb2dee845a5
Author: timsong-cpp <rs2740@gmail.com>
Date:   Sat Mar 7 22:05:38 2020 +0100

    [concept.constructible] is-default-initializable is not a concept (#3834)

commit 34fcf8b77d33940ae564384ccb9264a6a52589c9
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun Mar 8 22:41:22 2020 +0100

    [module.interface] Fix typo. (#3840)

commit 645a1e4ff7d1ef1ad3ce527e758f9a350b1b6702
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Mar 9 08:49:30 2020 +0100

    [algorithms.general] Add [specialized.algorithms] to summary table. (#3838)

commit 188de05527a9ea59ad7cf4f3a294a8356a4400f3
Author: timsong-cpp <rs2740@gmail.com>
Date:   Tue Mar 10 08:30:41 2020 +0100

    [time.zone.zonedtime.overview] Fix typo (#3846)

commit bcfa94647bf461766ba76fc4513aa75f4dc36394
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Tue Mar 10 19:44:05 2020 +0000

    [range.split.outer,range.split.inner] Fix misuses of current_ (#3849)

    This restores references to the 'current' placeholder.

commit f195f2300c212e7485f05606b28afa58a91c47f2
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Tue Mar 10 23:01:57 2020 +0100

    [expr.prim.req,temp.concept] Add std:: qualification for library concepts

    used in core language clauses.

commit 0559394e1c43f0595ff04868d809d289496e3ae4
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Tue Mar 10 22:50:28 2020 +0100

    [basic,support] Correctly use 'startup' and 'start of program'

commit 146c98453bf6292186a9020f0598ae03e050aae3
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Tue Mar 10 22:38:58 2020 +0100

    [support] Renamed from [language.support].

commit 6025a8825ee068093064919274a1286a3ceb8df1
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Tue Mar 10 21:55:16 2020 +0100

    [depr.conversions] Rename snake_case template parameters to CamelCase.

commit c5be3ccf5cd5635ba3847acce70de64bf72a9ae9
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun Mar 8 22:43:03 2020 +0100

    [over.oper] Make statement about non-overloadable operators a note.

commit 4f0377b81e2b470d2d141c3ab6758957a74b21fa
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Tue Mar 10 22:35:07 2020 +0100

    [range.take.while.sentinel,range.elements.iterator] Rename exposition-only base-t to Base.

commit 829b921bdc8be954fc3680088ffc38dc1d4d106a
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Tue Mar 10 21:45:45 2020 +0100

    [res.on.requires] Move description of 'Requires' element to Annex D

commit cb02e1103df3f0c8744ca6620ec02e0ca5bc41a6
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Tue Mar 10 21:33:52 2020 +0100

    [contents] Some standard library functions are not defined.

commit 52e653f6211326beeceb2e68bda8a12abcb9e062
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Tue Mar 10 21:26:45 2020 +0100

    [span.deduct] Rename template parameter 'End' to 'EndOrSize'

    because it also covers the size_type constructor of span.

commit 611fda7e0caad0977ba40a836f9eaa1e30904ae7
Author: Krystian Stasiowski <sdkrystian@gmail.com>
Date:   Sun Mar 8 18:39:15 2020 -0400

    [class] [over] Redundant specification of ignoring move special members

commit 37deb529b19609e2494626af5d8bdf25f3833ab3
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Sun Mar 8 22:16:48 2020 +0100

    [module.interface] Remove redundant bullet for exported declaration.

commit aaf725a9363213124afd7edf7494b88ac77728e6
Author: Alisdair Meredith <alisdairm@me.com>
Date:   Sat Mar 7 12:10:07 2020 -0500

    [atomics] Consistent use of enum class memory_order

    Since the application of P0439R0, the library wording has been partially
    updated to use the new scoped enumaration values whenever memory order
    constants are required, and partially retains use of the inline
    constants supplied for back compatibility.

    This patch conistently uses the memory_order::enumerators, retaining
    the old name only for their declaration, the index, and for Annex C
    wording on C++17 compatibility, which /should/ use the old spelling.

commit f61e49e572f53e91ff6ffee2842dc8cfcd32f9d3
Author: timsong-cpp <rs2740@gmail.com>
Date:   Wed Mar 11 18:43:11 2020 +0100

    [support.types.byteops] Fix misapplication of LWG2950 (#3863)

commit 7d54b05c80c0907e97a3b49bd905f91ed3d8a186
Author: timsong-cpp <rs2740@gmail.com>
Date:   Tue Mar 10 23:46:14 2020 -0500

    [module.unit] module-declarations no longer contain \tcode{export}

commit 14eb15322b7b2ef1be249d6ce7ce447123504237
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Tue Mar 10 22:23:35 2020 +0100

    [range.access] Introduce 'reified object' to simplify the descriptions.

commit 65158c0bdc7705f41f0dbcc102dd456cba6ad496
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Mon Mar 9 08:47:31 2020 +0100

    [class.mfct] consteval member functions are also inline.

commit f471be1e24be13549e375af62e05b2b22ff17e12
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Wed Mar 11 22:45:27 2020 +0100

    [depr.atomics] Use enum class memory_order

commit 9c30324fc1347757075f2631eb3a99df6c916560
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Mar 12 02:11:37 2020 +0100

    [lex.ccon,lex.string] Remove redundant repetition of the grammar.

    Also use the grammar non-terminals character-literal and
    string-literal throughout the standard.

commit 74a9547bf3910d68f5c8a07a5625444d58354ee2
Author: timsong-cpp <rs2740@gmail.com>
Date:   Wed Mar 11 19:37:03 2020 -0500

    [support.types.byteops] remove redundant static_cast to unsigned char

    These casts are redundant after CWG2338.

commit 85121a254c5f013af41a305ad008586a595b208e
Author: Casey Carter <Casey@Carter.net>
Date:   Tue Feb 18 21:41:23 2020 -0800

    [ranges] Correct outer template-heads to match primary template constraints

commit ac3fceec6107d67ed69535583ad83e35da9de218
Author: Casey Carter <Casey@Carter.net>
Date:   Tue Feb 18 21:47:29 2020 -0800

    [range.elements.view] Add cross-reference to elements_view::iterator

commit b83f0203f473289f2252c0c5489f7226c1abdeb4
Author: Alisdair Meredith <alisdairm@me.com>
Date:   Thu Mar 12 17:15:52 2020 -0400

    [support.dynamic] Improve cross-referencing for dynamic memory subclauses

    Update several cross-references to subclause 17.6 with more precise
    references to subclauses nested one level deeper.  For the synopsis
    of the header, added a couple of banner comments with cross-references
    too.

commit 3139172b410bd975d29e3074c137542ce2b64467
Author: Krystian Stasiowski <sdkrystian@gmail.com>
Date:   Fri Mar 6 14:52:18 2020 -0500

    [basic], [expr] Fix incorrect cross-references to [conv.ptr] for null pointer values

commit 56c88a59e31413f94203e6a4f5dc961e84dd79de
Author: Daveed Vandevoorde <daveed@vandevoorde.com>
Date:   Thu Mar 12 17:45:52 2020 -0400

    [expr.const] Add article to bullet start, to parallel the other bullets.

commit 61763ed574e73949323008b8c8479c793408ea06
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Mar 12 23:06:46 2020 +0100

    [allocator.requirements] Fix punctuation in tables.

commit 31a1a94d409ceb0c699849af807364142bcd8026
Author: Casey Carter <Casey@Carter.net>
Date:   Fri Feb 21 11:05:40 2020 -0800

    [alg.clamp] Reword for clarity

    Define `comp` and `proj` for the overloads with no such parameters and spell out the meaning of the handwavy "is no greater than" and "is less than".

commit b7c0d7130f6a28e42f5f7252248ec29b7fee17fa
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Fri Feb 21 12:13:22 2020 +0000

    [ostream] Fix poor grammar to be consistent with [istream]

    Also fix grammar in [istream], [istream.extractors] and
    [ostream.inserters] to refer to "*the* error state", and use "is set in"
    when talking about a bitmask element being set in a value of a bitmask
    type.

    Fixes #3333

commit 948775f73bfc51fec14d6b6fb200a88d199c6f1a
Author: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
Date:   Mon Dec 30 18:20:11 2019 -0400

    [range.req.general, range.sized] Fix and improve description

commit b6d9e27e75b10cfb0a5f0a99343cce3697042c21
Author: JF Bastien <jfbastien@apple.com>
Date:   Thu Mar 12 17:39:44 2020 -0700

    [depr.volatile] Add examples of deprecated constructs

commit 1866b054b98ad872fd50a017a99502398f8cc96a
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Fri Mar 13 17:13:23 2020 -0700

    [diff] Reverse order of subclauses and add "in addition to those listed
    above" to each introductory sentence after the first.

    Fixes #537.

commit b2e7b06b5855bc43d92bde86c0fd716f4a847b22
Author: Thomas Köppe <tkoeppe@google.com>
Date:   Tue Mar 17 01:25:07 2020 +0000

    [depr.strstreambuf] Remove extraneous parenthesis and excessive linebreaks

commit 6c6e08479d7f83b33134e8d52049fddc120d25bb
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date:   Thu Mar 12 22:46:22 2020 +0100

    [alg.replace] Clarify which value gets assigned depending on E.

commit 25f6538adb1b2a9cfaca257137befa8aabcf879f
Author: Davis Herring <herring@lanl.gov>
Date:   Mon Mar 16 23:55:18 2020 -0600

    [tuple.cnstr] Remove (redundant) && per P1460R1

commit cc4b3a7aca374d76ec11b870a353bd47ce53d803
Author: Davis Herring <herring@lanl.gov>
Date:   Tue Mar 17 00:06:50 2020 -0600

    [bitset.cons] Remove () per P1460R1

commit d34fb9a542c3a9873e49e53a8a86eccfdd336109
Author: Casey Carter <Casey@Carter.net>
Date:   Tue Mar 17 15:41:38 2020 -0700

    [version.syn] Fix mis-ordering of __cpp_lib_{bind_front, bit_cast}

commit 0391d1f1ffe3fab1e6052b9c61ddefae13083637
Author: Davis Herring <herring@lanl.gov>
Date:   Mon Mar 2 14:51:57 2020 -0700

    [temp.inst] Make note more precisely describe when function (template) constraints are checked.

commit aa92bdb2b29af48820f0e0a45c85e4533fd5ed01
Author: Davis Herring <herring@lanl.gov>
Date:   Mon Mar 2 16:25:59 2020 -0700

    [lex.pptoken] Fix note grammar

commit 1c20e8179aba5bbb61c4644ab840677deff470fa
Author: Davis Herring <herring@lanl.gov>
Date:   Mon Mar 2 18:00:34 2020 -0700

    [diff.cpp17.lex] Harmonize example comments

commit 906dacd0b6424689537abb7349fdad0c83d1c62c
Author: Davis Herring <herring@lanl.gov>
Date:   Fri Mar 13 17:56:23 2020 -0600

    [temp.func.order] Clarify that optional parameters count

    Move note to avoid confusion

commit fad3cd32b97f61cc5d1e1a7e49fac4eaeacf5c89
Author: Davis Herring <herring@lanl.gov>
Date:   Mon Mar 16 12:47:28 2020 -0600

    [module.private.frag] Add missing inline cross reference

commit 36ac6c50b197b5d1c1fea8d0a2faf15f07bbfab2
Author: Davis Herring <herring@lanl.gov>
Date:   Mon Mar 16 13:55:16 2020 -0600

    [class.compare.default] Trim pedagogical <=>/== note

commit 1208fce3fa53ce9107068b6ef9c57c9f65532037
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Mar 17 17:08:45 2020 -0700

    [cpp.pre] Simplify global module fragment restriction

commit 8bc2a1a4bb38b4f0e9de09bd0ac3d6d0565a1f79
Author: Davis Herring <herring@lanl.gov>
Date:   Mon Mar 2 17:47:07 2020 -0700

    [cpp.pre] Simplify macro restrictions

commit 263597b8755d815fcfc894cde8047be72d7d0b1b
Author: Davis Herring <herring@lanl.gov>
Date:   Mon Mar 2 18:11:47 2020 -0700

    [intro.object] Avoid implying multiple sets of implicit objects

commit 515da67958cf95d803f8b8a117dbb16c5bc152f2
Author: Davis Herring <herring@lanl.gov>
Date:   Fri Mar 13 14:00:32 2020 -0600

    [temp.over.link] Clarify type-constraint equivalence requirement

commit 49cb1f0e5c769ad1589555b0a79f8e3cb576a575
Author: Davis Herring <herring@lanl.gov>
Date:   Fri Mar 13 14:10:25 2020 -0600

    [temp.func.order] Use English for deducible template parameters

commit 7f7eecb699b304ae6f67b290554ef253e0048869
Author: Davis Herring <herring@lanl.gov>
Date:   Fri Mar 13 17:59:45 2020 -0600

    [basic.def.odr] Remove vestigial comma

commit 604f0962c027b52aff0edbfae2cbcf43a52863cc
Author: Davis Herring <herring@lanl.gov>
Date:   Fri Mar 13 18:01:06 2020 -0600

    [basic.def.odr] Clarify cohorts of unnamed enum definitions

commit cb6658e192e99038bb6138f959f311e96203835f
Author: Davis Herring <herring@lanl.gov>
Date:   Fri Mar 13 18:10:53 2020 -0600

    [basic.def.odr] Remove redundant "of D"

commit 656b9ec8ba52b6c926d5ceffa186b93317307669
Author: Davis Herring <herring@lanl.gov>
Date:   Mon Mar 16 13:02:26 2020 -0600

    [temp.variadic] A capture has only one relevant ellipsis

commit 7b96c0ecd0542ac5a53ac63c52e6d75bdbdee83f
Author: Davis Herring <herring@lanl.gov>
Date:   Mon Mar 16 14:39:49 2020 -0600

    [dcl.attr.grammar] Fix parallelism

commit a6f9f98a4270b79da91de633a0dfcd919c3bb587
Author: Davis Herring <herring@lanl.gov>
Date:   Mon Mar 16 14:40:31 2020 -0600

    [dcl.attr.grammar] Simplify std:: for attributes

commit 33cdcf1ff118c6dc5513bf48e351f5ee723eca48
Author: Davis Herring <herring@lanl.gov>
Date:   Tue Mar 24 12:32:13 2020 -0600

    [module.import] Clarify interface dependency definition

commit 81eaf24933acff460376d40602dbfa33af1131f8
Author: Davis Herring <herring@lanl.gov>
Date:   Fri Mar 20 10:21:33 2020 -0600

    [lib] Fix ;s in itemdecls

    One was missed from P1983R0

commit 7feffc4cfde21241a4734c5d9cf554a2d14b7fe2
Author: Davis Herring <herring@lanl.gov>
Date:   Tue Mar 24 08:51:16 2020 -0600

    [concepts.equality] Fix grammar for P2102R0

commit 10f2bf5f7c1c222d41fb57085f7ddf0e0362d835
Author: Davis Herring <herring@lanl.gov>
Date:   Tue Mar 24 11:24:58 2020 -0600

    [stmt.expr] Fix cross reference

commit a48408f12ad8d25fa99214748853ddcbba299634
Author: Davis Herring <herring@lanl.gov>
Date:   Tue Mar 24 14:47:15 2020 -0600

    [concept.booleantestable] Use tie before cross references

commit 4b34a8a2e32268de7aba8f091af1282e45b8744f
Author: Davis Herring <herring@lanl.gov>
Date:   Tue Mar 24 14:47:22 2020 -0600

    [concept.booleantestable] Provide value category to deduction

commit db4208f1ebdad13b99ad1a8b34f051d0fa92039e
Author: Davis Herring <herring@lanl.gov>
Date:   Wed Mar 25 22:19:37 2020 -0600

    [module.reach] Remove impossible private-module-fragment case

commit 30f37e0027b06a233b4d572ed3c8d577a3a11a7d
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Thu Mar 26 17:47:07 2020 -0700

    [intro.object] Fix hyphenation.

commit 69d331ff4d7ba651da8b1f998f74fedaca0c9aa4
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Thu Mar 26 17:47:33 2020 -0700

    [temp.func.order] Fix hyphenation.

commit 5e01d592a2276bd48c16bf199b8f3c38f57e41a9
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Thu Mar 26 17:47:48 2020 -0700

    [temp.variadic] Make xref more precise.

commit 2fa3e8c8cea3ab90e04f459568b06f91ebd5b233
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Thu Mar 26 19:27:37 2020 -0700

    [expr.prim.literal] Rephrase slightly to avoid 'which' sounding
    restrictive.

commit 4f2f5811d4d4f45679e0a09e2cf105f9535db8c6
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Thu Mar 26 19:32:25 2020 -0700

    [class.copy.elision] Make wording more parallel by removing redundant wording.

commit 224ad02b418f104ddebdc41c3267fddfbe2c4542
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Mar 31 11:52:37 2020 -0700

    [time.zone.db.tzdb] Say where we look for time_zones, and avoid
    readability problem with 'If a time_zone tz is found' phrasing.

    Fixes #3892.