Skip to content

Files

1590 lines (1065 loc) · 62.9 KB

n4843.md

File metadata and controls

1590 lines (1065 loc) · 62.9 KB

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

2019-11-27
Richard Smith (editor) (Google Inc)
Thomas Köppe (co-editor) (Google DeepMind)
Jens Maurer (co-editor)
Dawn Perchik (co-editor) (Bright Side Computing, LLC)
<[email protected]>

Acknowledgements

Special thanks to Marshall Clow, Jeff Garland, and Daniel Sunderland 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.

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

New papers

  • N4842 is the committee draft for C++20. It replaces N4835.
  • N4843 is this Editors' Report.

Motions incorporated into working draft

Core working group motions

CWG motion 1: Core issue resolutions for 4 issues in "ready" status applied: (DR)

  • 2280 Matching a usual deallocation function with placement new
  • 2382 Array allocation overhead for non-allocating placement new
  • 2416 Explicit specializations vs constexpr and consteval
  • 2441 Inline function parameters

CWG motion 2: Core issue resolutions for 18 issues in "tentatively ready" status applied, resolving 19 issues: (DR)

  • 1621 Member initializers in anonymous unions
  • 2126 Lifetime-extended temporaries in constant expressions
  • 2282 Consistency with mismatched aligned/non-over-aligned allocation/deallocation functions
  • 2347 Passing short scoped enumerations to ellipsis
  • 2374 Overly permissive specification of enum direct-list-initialization
  • 2399 Unclear referent of “expression” in assignment-expression
  • 2419 Loss of generality treating pointers to objects as one-element arrays
  • 2422 Incorrect grammar for deduction-guide
  • 2424 constexpr initialization requirements for variant members
  • 2426 Reference to destructor that cannot be invoked
  • 2427 Deprecation of volatile operands and unevaluated contexts
  • 2429 Initialization of thread_local variables referenced by lambdas
  • 2430 Completeness of return and parameter types of member functions
  • 2431 Full-expressions and temporaries bound to references
  • 2432 Return types for defaulted <=>
  • 2433 Variable templates in the ODR
  • 2437 Conversion of std::strong_ordering in a defaulted operator<=>
  • 2439 Undefined term in definition of "usable in constant expressions" resolved by CWG 2126
  • 2442 Incorrect requirement for default arguments

CWG motion 3: Core NB comment resolutions, resolving 17 NB comments:

  • NB RU 007: Relax pointer value / aliasing rules
  • NB US 019: Update ISO 9899 document reference from C11 to C17
  • NB US 020: Update ISO 9899 document reference from C11 to C17
  • NB CA 038: Consider trailing requires-clauses for function identity
  • NB US 042: Relax pointer value / aliasing rules in P1971R1 this is incorrectly listed as US047
  • NB CZ 044: Allow constexpr construct_at / destroy_at for automatic storage duration
  • NB US 052: Non-executed return statements in coroutines
  • NB US 053: Mandate the return type for return_void and return_value to be void
  • NB US 065: Apply Coroutines TS issue 24 from P0664R8
  • NB GB 079: Add example for private-module-fragment with editorial changes; see below
  • NB US 087: Header unit imports cannot be cyclic, either
  • NB US 095: Equivalence of requires-clauses
  • NB US 109: Non-templates may also have associated constraints
  • NB CA 110: Associated constraints for non-template functions
  • NB US 111: Constraint normalization and negation
  • NB US 132: Macros from the command-line not exported by header units
  • NB US 367: Instead of header inclusion, also permit header unit import
  • NB CA 378: Remove constrained non-template functions

CWG motion 4: P1972R0 "US105 Check satisfaction of constraints for non-templates when forming pointer to function", resolving 1 NB comment:

  • NB US 105: Check satisfaction of constraints for non-templates when forming pointer to function

CWG motion 5: P1975R0 "Fixing the wording of parenthesized aggregate-initialization"

CWG motion 6: P1874R1 "Dynamic initialization order of non-local variables in modules", resolving 1 NB comment:

  • NB US 082: Define order of initialization for globals in modules

CWG motion 7: P1946R0 "Allow defaulting comparisons by value"

CWG motion 8: P1907R1 "Inconsistencies with non-type template parameters", resolving 5 NB comments: with changes; see below

  • NB US 092: Array members should have strong structural equality
  • NB US 093: Move definition of "strong structural equality" near its use in [temp.param]
  • NB US 100: Reference types should not have strong structural equality
  • NB US 102: Allow non-type template parameters of floating-point type
  • NB US 114: Class types as non-type template arguments

CWG motion 9: P1979R0 "Resolution to US086", resolving 1 NB comment:

  • NB US 086: Treatment of non-exported imports

CWG motion 10: P1980R0 "Declaration matching for non-dependent requires-clauses", resolving 2 NB comments:

  • NB US 095: Equivalence of requires-clauses
  • NB CA 096: Declaration matching for non-dependent requires-clauses

Library working group motions

Issues

LWG motion 1: Library issue resolutions for 27 issues in "Ready" and "Tentatively Ready" status, resolving 3 NB comments:

  • 3070 path::lexically_relative causes surprising results if a filename can also be a root-name
  • 3103 Errors in taking subview of span should be ill-formed where possible
  • 3149 default_constructible should require default initialization
  • 3190 std::allocator::allocate sometimes returns too little storage
  • 3218 Modifier for %d parse flag does not match POSIX and format specification
  • 3221 Result of year_month arithmetic with months is ambiguous
  • 3222 P0574R1 introduced preconditions on non-existent parameters
  • 3224 zoned_time constructor from TimeZonePtr does not specify initialization of tp_
  • 3225 zoned_time converting constructor shall not be noexcept
  • 3230 Format specifier %y/%Y is missing locale alternative versions
  • 3231 year_month_day_last::day specification does not cover !ok() values
  • 3232 Inconsistency in zoned_time deduction guides
  • 3235 parse manipulator without abbreviation is not callable
  • 3241 chrono-spec grammar ambiguity in [time.format]
  • 3244 Constraints for Source in [fs.path.req] insufficiently constrainty
  • 3245 Unnecessary restriction on %p parse specifier
  • 3246 What are the constraints on the template parameter of basic_format_arg?
  • 3253 basic_syncbuf::basic_syncbuf() should not be explicit
  • 3256 Feature testing macro for constexpr algorithms
  • 3257 Missing feature testing macro update from P0858
  • 3259 The definition of constexpr iterators should be adjusted
  • 3266 to_chars(bool) should be deleted
  • 3272 %I%p should parse/format duration since midnight
  • 3273 Specify weekday_indexed to range of [0, 7]
  • 3274 Missing feature test macro for <span>
  • 3276 Class split_view::outer_iterator::value_type should inherit from view_interface
  • 3277 Pre-increment on prvalues is not a requirement of weakly_incrementable
  • NB GB 166: Feature-test macro for span resolved by LWG 3274
  • NB US 261: Pre-increment on an rvalue iterator resolved by LWG 3277
  • NB US 297: split_view::iterator::value_type should inherit from view_interface resolved by LWG 3276

Papers

LWG motion 2: P1855R0 "Make <compare> freestanding", resolving 6 NB comments:

  • NB RU 009: Make <compare> a freestanding header
  • NB FI 010: Make <compare> a freestanding header
  • NB US 158: Ensure <coroutine> can be used as a freestanding header despite including <compare>
  • NB US 159: Make <compare> a freestanding header
  • NB GB 160: Make <compare> a freestanding header
  • NB PL 161: Make <compare> a freestanding header

LWG motion 3: P1690R1 "Refinement proposal for P0919 heterogeneous lookup for unordered containers", resolving 4 NB comments:

  • NB US 235: Heterogenous lookup using Hash::transparent_key_equal is problematic
  • NB US 236: Novel heterogenous lookup is problematic
  • NB PL 237: Novel heterogenous hash lookup is problematic
  • NB US 238: Heterogenous lookup using Hash::transparent_key_equal is problematic

LWG motion 4: P1872R0 "span should have size_type, not index_type", resolving 3 NB comments:

  • NB FR 240: Rename span::index_type to span::size_type
  • NB PL 248: Rename span::index_type to span::size_type
  • NB US 245: Rename span::index_type to span::size_type

LWG motion 5: P1965R0 "Hidden friends", resolving 1 LWG issue and 1 NB comment:

  • 3239 Hidden friends should be specified more narrowly
  • NB DE 165: Regular unqualified lookup of functions specified as friends

LWG motion 6: P1716R3 "ranges comparison algorithms are over-constrained", resolving 4 NB comments:

  • NB GB 183: Adopt P1716
  • NB US 267: Ranges compare algorithms are over-constrained
  • NB US 306: Relax constraints on ranges comparison algorithms
  • NB PL 312: Fix constraints on ranges comparison algorithms

LWG motion 7: P1869R1 "Rename condition_variable_any interruptible wait methods", resolving 1 NB comment:

  • NB PL 363: wait_until has misleading naming

LWG motion 8: P1961R0 "Harmonizing the definitions of total order for pointers", resolving 2 NB comments:

  • NB US 176: Harmonize definitions of total order for pointers
  • NB US 220: Harmonize definitions of total order for pointers

LWG motion 9: P1878R1 "Constraining readable types", resolving 1 LWG issue and 3 NB comments:

  • 3279 shared_ptr<int>& does not not satisfy readable
  • NB US 263: Make shared_ptr<int>& satisfy readable
  • NB US 264: Problems with readable concept
  • NB US 268: iter_swap should be callable with rvalue iterators

LWG motion 10: P1871R1 "Concept traits should be named after concepts", resolving 1 NB comment:

  • NB US 257: Avoid double negatives for ranges opt-in variable templates

LWG motion 11: P1456R1 "Move-only views", resolving 2 NB comments: with changes; see below

  • NB GB 277: Conflict of istream_view and view requirements
  • NB FR 281: Copyability of view

LWG motion 12: P1391R4 "Range constructor for std::string_view", resolving 1 NB comment:

  • NB US 232: Make string_view constructible from contiguous character ranges

LWG motion 13: P1394R4 "Range constructor for std::span", resolving 3 NB comments:

  • NB US 233: Integrate span constructors with range concepts
  • NB US 246: span should be constructible from a contiguous range
  • NB PL 251: span should be constructible from a contiguous range

LWG motion 14 was withdrawn.

LWG motion 15: P1862R1 "Ranges adaptors for non-copyable iterators"

LWG motions 11 and 15 together resolve 1 NB comment:

  • NB GB 270: Collateral damage with move-only input iterators

LWG motions 11-15 together resolve 2 NB comments:

  • NB US 272: API improvements for ranges
  • NB DE 288: Overspecification of return types of view adaptors

LWG motion 16: P1870R1 "forwarding-range<T> is too subtle", resolving 2 NB comments: with changes; see below

  • NB US 279: Use variable template opt-in for forwarding-range
  • NB GB 280: Rename forwarding-range to avoid near-clash with forward_range

LWG motion 17: P1865R1 "Add max() to latch and barrier", resolving 1 NB comment:

  • NB US 365: For latch and barrier, do not require full range of ptrdiff_t

LWG motion 18: P1960R0 "NB comment changes reviewed by SG1", resolving 5 NB comments:

  • NB US 355: Make atomic_ref<T>::notify_one and atomic_ref<T>::notify_all const
  • NB US 356: Make atomic_ref<T>::is_lock_free type-specific, not object-specifc
  • NB US 358: Make atomic_ref<float>::operator= const
  • NB US 359: Incorrect return value in specification of atomic increment / decrement
  • NB US 364: Clarify spurious failure for try_acquire

LWG motion 19: P1902R1 "Missing feature-test macros 2017-2019", resolving 6 NB comments: with changes; see below

  • NB FI 015: Missing feature-testing macros
  • NB GB 146: Add a feature-test macro for concepts
  • NB GB 147: Add a feature-test macro for consteval
  • NB US 150: Add feature-test macro for "familiar template syntax for generic lambdas"
  • NB US 167: Feature-test macro for non-member ssize()
  • NB DE 168: Feature-test macros for constexpr

LWG motion 20: P0883R2 "Fixing atomic initialization", resolving 1 LWG issue and 4 NB comments:

  • 2334 atomic's default constructor requires "uninitialized" state even for types with non-trivial default-constructor
  • NB RU 006: Adopt P0883 (value-initialize atomics by default)
  • NB DE 018: Value-initialize atomics by default
  • NB US 351: Value-initialize atomics by default
  • NB CA 353: Value-initialize atomics by default

LWG motion 21: P1959R0 "Remove std::weak_equality and std::strong_equality", resolving 2 NB comments:

  • NB US 170: Remove strong_equality and weak_equality
  • NB CA 173: Remove weak_equality

LWG motion 22: P1892R1 "Extended locale-specific presentation specifiers for std::format", resolving 1 NB comment:

  • NB GB 226: Make locale-dependent formats for std::format() congruent with default formatting

LWG motion 23: P1645R1 "constexpr for <numeric> algorithms", resolving 1 NB comment:

  • NB US 320: Make numeric algorithms constexpr

Mandating

LWG motion 24: P1718R2 "Mandating the standard library: Clause 25 - Algorithms library"

LWG motion 25: P1719R2 "Mandating the standard library: Clause 26 - Numerics library"

LWG motion 26: P1686R2 "Mandating the standard library: Clause 27 - Time library"

LWG motion 27: P1720R2 "Mandating the standard library: Clause 28 - Localization library"

LWG motion 28: P1721R2 "Mandating the standard library: Clause 29 - Input/Output library"

LWG motion 29: P1722R2 "Mandating the standard library: Clause 30 - Regular Expression library"

LWG motion 30: P1723R2 "Mandating the standard library: Clause 31 - Atomics library"

LWG motion 31: P1622R3 "Mandating the standard library: Clause 32 - Thread support library"

Notable changes to papers as moved

CWG motion 3

The note added as part of the resolution of NB GB 079 was reworded editorially, as described below in the list of editorial NB comment resolutions.

CWG motion 8

The following feature test macro changes were made for this paper, after consultation with SG10:

The feature test macro __cpp_nontype_template_parameter_class has been removed to indicate that the feature added by P0732R2 is no longer present in the same form.

The value of the feature test macro __cpp_nontype_template_args has been increased to 201911L to indicate support for P1907R1.

LWG motion 11

The description of this paper specifies that:

each such base() member [of a range adaptor, that returns a copy of the underlying view] be replaced to by two overloads: a const-qualified overload that requires the type of the underlying view to model CopyConstructible, and a &&-qualified overload that extracts the underlying view from the adaptor

but the wording changes omitted explicit editing instructions to make these changes to the take_while_view, drop_view, drop_while_view and elements_view range adaptors, which were added by P1035R7 (2019-07 LWG Motion 23), after R0 of this paper was authored.

Consistent with the proposal in the paper, and after consulting the paper authors and the LWG chair, the corresponding changes were also applied to the additional range adaptors listed above.

LWG motion 16

This paper removed the exposition-only concept range-impl, inlining it into its only remaining user, the range concept. However, two uses of range-impl were left behind. These have been updated and suitably adjusted to refer to range instead.

LWG motion 13 (P1394R4) added a couple of new uses of the exposition-only concept forwarding-range, which was removed by this paper. These uses have been replaced with safe_range.

LWG motion 19

Did not add the macro __cpp_lib_atomic_ref. This macro already existed with the specified value.

Did not change the value of the __cpp_lib_chrono macro. The requested new value of this macro (201803L) is actually lower than the current value (201907L, not 201611L as listed in P1902R1). The chair of SG10 has confirmed that the request to change this macro's value is an error. The pre-existing, higher value is retained.

Did not change the value of the __cpp_lib_ranges macro. The requested new value of this macro (201907L) is lower than the value 201911L introduced by P1716R3 (LWG motion 6).

Disposition of editorial NB comments on C++ 2020 CD1

Listed below are draft disposition for all comments that were filed as editorial in the ISO 14882 CD (2019) NB comments. Except where otherwise noted, these dispositions only represent the current viewpoint of the Project Editor.

US 021: Accepted, fixed in 50e55ce9.

  • Split index entries to "block (execution)" and "block (statement)".
  • Also added the statement form to Clause 3, Terms and Definitions.

GB 022: Accepted with modifications, fixed in 8cc6bd34.

  • The relevant change had already been made to [using.headers], but this corresponding change was missed.

  • Modified resolution: Added a cross-reference to [using.headers] instead of the suggested cross-reference to [headers].

JP 023: Accepted, fixed in 868934f7.

JP 030: No consensus for change.

  • The text immediately following the grammar makes it clear that both lowercase p and uppercase P are permitted.

US 031: No consensus for change.

  • The example appears to be valid as-is; adding != 0 does not appear to serve any purpose.

GB 032: Accepted, fixed in 84a1cd53.

US 037: No consensus for change.

  • The proposed change is not editorial. Forwarded to SG2 for consideration and rejected.

FR 039: Accepted with modifications, fixed in 68a6dfef.

  • Filed as technical; SG2 concluded the wording is confusing, already does what the comment requests (except that ADL also finds friend declarations in a class in the same conditions under which member lookup would find member declarations in the class). Recategorized as editorial to clarify the wording.

  • Modified resolution: Definition of "interface" (of a module) inlined into its only use (and removed), making it clear that [basic.lookup.argdep]/4.4 only finds exported declarations.

JP 045: Accepted, fixed in d401794f.

  • This fixes a misapplication of the resolution of CWG 2381.

US 047: Accepted with modifications, fixed in 785f689d.

  • Modified resolution: Instead of removing the redundant sentence, it was converted into a note and moved after the following sentence of which it is a consequence.

US 052: Accepted, fixed by P1971R0 (CWG motion 3).

  • The proposed change is not editorial. Forwarded to CWG for consideration and accepted.

JP 057: Accepted, fixed in a06b7a49.

GB 078: Accepted, fixed in e3bb2eba.

  • Italicized references to digits that intended to refer to the grammar production.
  • Also made some nearby editorial improvements: added cross-references and fixed an adjacent grammar issue ("is" / "are") in [diff.cpp14.library].

GB 079: Accepted, fixed by P1971R0 (CWG motion 3).

  • Forwarded to SG2 for consideration. Accepted and example added by CWG.
  • Added note prior to example editorially revised after consultation with CWG.

US 085: No consensus for change.

  • Per the description in [module.import], translation units are imported, modules are not. The wording appears to be correct as-is.

US 088: Accepted with modifications, fixed in d382ea4e.

  • Modified resolution: Instead of either of the proposed renamings, renamed [module.global] to [module.global.frag] and renamed [cpp.glob.frag] to [cpp.global.frag].

GB 089: Accepted, fixed in fa42d5a6.

US 099: Accepted, fixed in 9b0502bf.

US 106: No consensus for change.

  • Forwarded to CWG for consideration and rejected.

US 108: Accepted, fixed in 2f42a930.

US 153: No consensus for change.

  • Forwarded to LWG for consideration; rejected by LEWG.

US 154: Duplicate of US 153.

GB 155: Accepted, fixed in 98e57ff5.

  • LWG concurs with this direction

JP 177: Accepted, fixed in 8be40ff0.

  • Replaces a reference to ISO/IEC/IEEE 60599 with a reference to the intended ISO/IEC/IEEE 60559.
  • IEC 60599 is "Mineral oil-filled electrical equipment in service -- guidance on the interpretation of dissolved and free gases analysis"
  • ISO/IEC/IEEE 60559 is "Information Technology - Microprocessor Systems -- Floating-Point Arithmetic"

GB 200: No consensus for change.

  • The example already includes all combinations of const/non-const LHS and RHS, as described by paragraph 6. The suggested combinations b == d and a == c are both identical to a == d. (Note that only a and c are used on the LHS, and only b and d are used on the RHS.)

US 216: Accepted, fixed in dfcc4691.

  • LWG concurs with this direction

JP 218: Unresolved, reassigned to LWG

  • Forwarded to LWG for consideration; LWG issue 3310 opened to track this comment.

JP 219: Unresolved, reassigned to LWG

  • Forwarded to LWG for consideration; LWG issue 3310 opened to track this comment.

GB 225: Unresolved, reassigned to LWG

  • Proposed change is not editorial. Forwarded to LWG for consideration. LWG issue 3327 opened to track this comment.

US 242: No consensus for change.

  • Organizationally, it seems more consistent to list span near the sequence containers, just as we list string_view near `string.

  • Forwarded to LWG for consideration and rejected.

US 258: Accepted, fixed in f36f871c.

GB 280: Accepted, fixed by P1870R1 (LWG motion 16).

  • Forwarded to LEWG to select a better name or reject, LEWG selected safe_range as a replacement non-exposition-only concept name.

US 295: Accepted with modifications, fixed in 53f0651e.

  • Instead of proposed change, incorporated the leading "If ref_is_glvalue is true" into the bullets and removed the bullet nesting to clarify the meaning of the "Otherwise"s.

JP 314: Accepted with modifications, fixed in 136312cf.

  • This is not an ISO "Terms and Definitions" Clause, so the rules for such a Clause do not apply.
  • Modified resolution: Renamed subclause from "Terms and Definitions" to "Preamble" to make it clear that this is not an ISO "Terms and Definitions" Clause. Also moved [algorithms.parallel] paragraph 1 into this subclause to avoid a hanging paragraph.

JP 319: Accepted, fixed in 5ac298cc.

US 325: No consensus for change.

  • We do not wish to perform this reorganization at this stage, but will reconsider the organization of the standard library clauses for a future standard.

US 327: Unresolved, reassigned to LEWG

  • The proposed change is not editorial. Forwarded to LEWG for consideration.
  • Duplicate of PL 326, which may be addressed by P1956.

US 328: Unresolved, reassigned to LEWG

  • The proposed change is not editorial. Forwarded to LEWG for consideration.
  • Duplicate of PL 326, which may be addressed by P1956.

US 330: No consensus for change.

  • The wording to which this comment is objecting was removed by P1355R2, which was adopted by 2019-07 LWG Motion 2.

JP 338: Accepted, fixed in 742f1086.

JP 339: Accepted, fixed in 25a08918.

JP 340: Accepted, fixed in f88f6747.

JP 341: Accepted, fixed in d545c37d.

JP 343: Accepted, fixed in 9252441e.

JP 348: Accepted, fixed in 01dea5f5.

  • Per [iosfwd.syn]p1, the duplication of default template arguments between <iosfwd> and <syncstream> does not prevent a translation unit including both.
  • An LWG issue will be opened to consider whether we should require more of the iostreams headers to include <iosfwd>; currently only <ios> and <iostream> are guaranteed to provide the forward declarations. Similarly LWG should consider whether <istream> and <ostream> should be guaranteed to include <ios>.

JP 349: Accepted, fixed in adcf12ea.

  • See JP 348.

JP 350: Accepted, fixed in 53b429c9.

  • See JP 348.

US 357: Accepted with modifications, fixed in af747d64.

  • Modified resolution: A different revised wording was chosen for the notes: "The specialization atomic<bool> uses the primary template."

US 359: Accepted, fixed by P1960R0 (LWG motion 18).

  • Forwarded to SG1 for consideration and accepted by LWG.

JP 362: Accepted with modifications, fixed in 195d5bab.

  • Modified resolution: In addition to adding the missing [[nodiscard]], also added the missing static and int from the synopsis.

CA 366: Accepted, fixed in eaf23727.

JP 373: Accepted with modifications, fixed in 41058d90.

  • Modified resolution: In addition to requested changes, also added cross-reference to [temp.pre] for the requires-clause grammar production.

JP 374: Accepted, fixed in dbc3d6a5.

JP 376: Accepted, fixed in 8b5c768e.

Late comments

CH 02: Accepted, fixed in 5ee93fd7.

Notable editorial changes

Typeface

The typeface used for grammar productions has been changed from italic to a slanted sans-serif font in order to distinguish grammar productions from defined terms. Many other options have been considered, but this option provided the most visually appealing outcome.

Please inform the editors if you discover any places where the wrong typeface is used for a grammar production or other italicized term.

Section moves

Moved [temp.deduct.guide] under [temp.class], alongside the description of members of class templates.

Moved [range.istream] under [range.factories]. basic_istream_view is a range factory not a range adaptor.

Section label changes

  • [module.global] -> [module.global.frag]
  • [cpp.glob.frag] -> [cpp.global.frag]

Minor editorial fixes

A log of editorial fixes made to the working draft since N4835 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 8a4e51ea8270705e747383c7e7d0513228d94e94
Author: Jens Maurer <[email protected]>
Date:   Thu Oct 10 22:49:36 2019 +0200

    [basic.lval] Adjust cross-reference in the note. (#3288)

commit 6af984eaa62b63e60dd34d6a609807a85f4c8d36
Author: Jens Maurer <[email protected]>
Date:   Thu Oct 10 22:30:19 2019 +0200

    [over.binary] Define 'comparison operator function' and related terms
    
    and use them consistently.

commit 29c5bda6e44e3742109f6f2af415caa8c198619c
Author: Casey Carter <[email protected]>
Date:   Fri Oct 11 14:13:29 2019 -0700

    [set.symmetric.difference] Strike duplicated sentence from paragraph 2 (#3293)

commit 5ac298cc18601a4da82a25f9ed3c3dd8e24021d9
Author: Casey Carter <[email protected]>
Date:   Fri Oct 11 14:14:33 2019 -0700

    [alg.min.max] Correct errors in paragraph 22 (#3292)
    
    ...from incorporation of P0896R4.

commit 767f7a885ef28e9a1c66d1b90cb344296eefebc4
Author: Jonathan Wakely <[email protected]>
Date:   Sat Oct 12 08:26:49 2019 +0100

    [readable.traits] Add template argument list to constrained specialization (#3294)

commit bfff83e94a1d66abcd90b813a4c0d31c1e637cf9
Author: Jonathan Wakely <[email protected]>
Date:   Wed Oct 16 20:14:54 2019 +0100

    [range.subrange.access] Fix typo (#3299)

commit f741def78c391a329bc694733c4fb8626457886e
Author: Jonathan Wakely <[email protected]>
Date:   Wed Oct 16 20:16:27 2019 +0100

    [iterator.concept.winc] Fix "extended integral type" (#3301)
    
    The term defined in [basic.fundamental] is "extended integer type".

commit 723b75c03633b43c8c1dbe3b75d2e8f70a2f8fe0
Author: Jens Maurer <[email protected]>
Date:   Wed Oct 16 21:46:29 2019 +0200

    [class.dtor] Remove incorrect note about trivial vs. constexpr. (#3249)

commit 242354653b6d8412c9ab5a9fd6e47eb3805e0e93
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 18 22:04:27 2019 +0200

    [time.cal.ymd.overview] Typo fix: comma at end of sentence. (#3304)

commit 5a31c73501ef440d7f1e8414a8e59c64778f0433
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 18 22:29:19 2019 +0200

    [time.zone.db.tzdb] Add missing '\pnum'. (#3305)

commit 271360753f2a5b8f7701a007ebb1f240d95cccea
Author: Richard Smith <[email protected]>
Date:   Sat Oct 19 18:19:37 2019 -0700

    [cmp.alg] Correct weak_ordering::equal to the intended
    weak_ordering::equivalent.
    
    Also add some missing formatting.

commit 9af3fc206fb538760af373b78d49f9658a0eeec8
Author: Thomas Köppe <[email protected]>
Date:   Mon Oct 21 21:06:07 2019 +0100

    [basic.scope.class] Reinstate a qualification that was lost in 0e26279b88c3b8b0a09babdeec8418d383f07419.
    
    Without the introductory sentence that was deleted by that commit, we need to say explicitly that we are talking about a declaration _in a class_.

commit 22725b81fd2afc383aa793a740776024c33457a8
Author: Krystian Stasiowski <[email protected]>
Date:   Tue Oct 22 04:46:48 2019 -0400

    [class.access] Allocation order of data members is described in [expr.rel] (#3316)

commit e4b690b6bafc31681b97b7d301e4ab25f881a185
Author: Krystian Stasiowski <[email protected]>
Date:   Tue Oct 22 04:48:20 2019 -0400

    [stmt.dcl] Vacuous initialization is defined in [basic.life] (#3314)

commit 9f23d5cdd291492980bbd3a4cea6650a600c87f9
Author: Casey Carter <[email protected]>
Date:   Thu Oct 24 00:19:56 2019 -0700

    [multimap.modifiers] "Mandates" should be "Constraints" (#3322)
    
    Fixes an editorial error merging P1463R1.

commit 868934f7330c1444d09451a50fac224e9ed2eb62
Author: Jens Maurer <[email protected]>
Date:   Sat Oct 26 21:56:52 2019 +0200

    [intro.structure] 'Note n to entry' is also a note.
    
    Fixes NB JP 23 (C++20 CD)

commit 84a1cd53841535b72b798a7349cfc914b26eae91
Author: Jens Maurer <[email protected]>
Date:   Sat Oct 26 21:16:11 2019 +0200

    [basic.lookup.argdep] Add missing namespace qualification in example.
    
    Fixes NB GB 032 (C++20 CD)

commit d401794faf9b136c7f85aa109afdd6d03a767c9a
Author: Jens Maurer <[email protected]>
Date:   Sat Oct 26 21:10:51 2019 +0200

    [expr.type] Fix typo when using 'reference-related'.
    
    Fixes NB JP 045 (C++20 CD)

commit fa42d5a6e20abe9e8aab3276202d4f23b31b782e
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 25 22:04:25 2019 +0200

    [module.reach] Clearly separate translation units in example.
    
    Fixes NB GB 089 (C++20 CD)

commit 9b0502bf56cbfe4fe2b8407d1e2367613213080b
Author: Jens Maurer <[email protected]>
Date:   Sat Oct 26 15:58:21 2019 +0200

    [temp.param] Strike redundant normative sentence.
    
    Non-type template parameters of non-reference non-class type are
    prvalues, thus the usual reference initialization rules
    create a temporary.
    
    Fixes NB US099 (C++20 CD)

commit 8be40ff0693d5a09310c25a5fff6c14dcfc89717
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 25 21:56:34 2019 +0200

    [cmp.alg] Fix typo for 'ISO/IEC/IEEE 60559'.
    
    Fixes NB JP 177 (C++20 CD)

commit f36f871c3bc780c13a5ba5ef2b7952c45d6d4cf5
Author: Jens Maurer <[email protected]>
Date:   Sat Oct 26 15:42:02 2019 +0200

    [iterator.requirements.general] Define 'reachable from' to avoid confusion
    
    with 'reachable' used finding declarations in modules.
    
    Fixes NB US 258 (C++20 CD)

commit 742f108675594d0c116eda7faa75ebf9637dbee2
Author: Jens Maurer <[email protected]>
Date:   Sat Oct 26 10:51:40 2019 +0200

    [time.cal.day.nonmembers] Fix return type of operator""d
    
    Fixes NB JP 338 (C++20 CD)

commit 9252441e422b601301c20c93d6117f07d0e1128c
Author: Jens Maurer <[email protected]>
Date:   Sat Oct 26 10:52:56 2019 +0200

    [time.cal.year.nonmembers] Fix return type of operator""y
    
    Fixes NB JP 343 (C++20 CD)

commit d545c37d9306fe70d41ed24f93dc36b2728d0383
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 25 21:44:43 2019 +0200

    [time.cal.month.members] Remove nested-name-specifier from declaration.
    
    Fixes NB JP 341 (C++20 CD)

commit 25a089189834ab99c3150ff5fb2b3eb342d8a0e4
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 25 21:45:45 2019 +0200

    [time.cal.month.members] Remove nested-name-specifier from declaration.
    
    Fixes NB JP 339 (C++20 CD)

commit f88f6747eb11504bd8a811576a5375f86bf815cd
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 25 21:46:33 2019 +0200

    [time.cal.month.members] Remove nested-name-specifier from declaration.
    
    Fixes NB JP 340 (C++20 CD)

commit 53b429c9fd826876c80b150d913986c815d69932
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 25 21:23:00 2019 +0200

    [syncstream.osyncstream.overview] Add default template arguments for 'basic_osyncstream'.
    
    Fixes NB JP 350 (C++20 CD)

commit adcf12ea4385a1e2fb122b078a36c38d956b57be
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 25 21:25:34 2019 +0200

    [syncstream.syncbuf.overview]  Add default template arguments for 'basic_syncbuf'.
    
    Fixes NB JP 349 (C++20 CD)

commit 01dea5f57681a079b6da91b872fe0ce68d261c5f
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 25 21:27:50 2019 +0200

    [syncstream.syn] Add default template arguments
    
    in the header synopsis for 'basic_syncbuf' and 'basic_osyncstream'.
    
    Fixes NB JP 348 (C++20 CD)

commit 41058d905c1b232ee574f318f0ba9c8b747eaaac
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 25 21:06:30 2019 +0200

    [diff.cpp17.lex] Add cross-references for 'requires' keyword.
    
    Fixes NB JP 373 (C++20 CD)

commit dbc3d6a57cbf3e3c281d77c5492ffdc418a42658
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 25 20:48:56 2019 +0200

    [xrefdelta] Fix typo for 'fmtflags'.
    
    Fixes NB NL 374 (C++20 CD)

commit 8b5c768e3fdcd5fbd99bdb501ca3a48e710737c3
Author: Jens Maurer <[email protected]>
Date:   Fri Oct 25 20:54:29 2019 +0200

    [depr.impldec] Fix cross-reference for 'deleted function'.
    
    Fixes NB JP 376 (C++20 CD)

commit b421913edbb17ba66c1dc57caf5264a19cbb7668
Author: Thomas Köppe <[email protected]>
Date:   Mon Oct 28 18:56:14 2019 +0000

    [ios.members.static] Add "static" to declaration

commit a06b7a497ef2950c07144e97ae0d5919c2dca5d9
Author: Jens Maurer <[email protected]>
Date:   Tue Oct 29 12:31:36 2019 +0100

    [dcl.list.init] Make spacing around & declarator operator locally consistent. (#3353)
    
    Fixes NB JP 057 (C++20 CD)

commit d382ea4e94f9d2d99bb08936d13f5a90772a292e
Author: Jens Maurer <[email protected]>
Date:   Tue Oct 29 12:32:05 2019 +0100

    [module.global,cpp.glob.frag] Rename labels to ...global.frag. (#3351)
    
    That is, rename [module.global] to [module.global.frag]
    and [cpp.glob.frag] to [cpp.global.frag].
    
    Fixes NB US 088 (C++20 CD)

commit 136312cffd9014daa49afe907d2da45d3dd5dfe8
Author: Jens Maurer <[email protected]>
Date:   Tue Oct 29 12:32:44 2019 +0100

    [algorithms.parallel.defns] Rename to 'Preamble' (#3350)
    
    and avoid hanging paragraph in [algorithms.parallel]
    by moving it here.
    
    Fixes NB JP 314 (C++20 CD)

commit 195d5bab790c05c5f049c490b0af28fe1b94c22d
Author: Jens Maurer <[email protected]>
Date:   Tue Oct 29 12:36:56 2019 +0100

    [thread.jthread.static] Repeat '[[nodiscard]]' from synopsis. (#3326)
    
    Fixes NB JP 362 (C++20 CD)

commit af747d6426c77527c681a5d8dd9cb0a4d66cfbf0
Author: Jens Maurer <[email protected]>
Date:   Sat Oct 26 11:12:26 2019 +0200

    [atomics.ref.int,atomics.types.int] Clarify notes on atomic/_ref<bool> specializations.
    
    Fixes NB US 357 (C++20 CD)

commit 785f689d314f45719ee7036b3d7420d7ed7b5ab2
Author: Jens Maurer <[email protected]>
Date:   Sat Oct 26 20:41:34 2019 +0200

    [expr.prim.id.unqual] Excise redundant special case for the type
    
    of the template parameter object.
    
    Fixes NB US 047 (C++20 CD)

commit 2f42a9303a61a498294a21ce73e6513ec43be011
Author: Jens Maurer <[email protected]>
Date:   Sat Oct 26 21:05:37 2019 +0200

    [temp.constr.decl] Missing case when constraints are associated with a declaration.
    
    Fixes NB US 108 (C++20 CD)

commit 50e55ce976e2c3ce02340dd034ea2f0c373f0f53
Author: Jens Maurer <[email protected]>
Date:   Sat Oct 26 22:34:52 2019 +0200

    [defns.block.stmt] Add definition of block as a compound statement.
    
    Also clean up index entries to differentiate
    'to block execution' from 'compound statement'.
    
    Fixes NB US 021 (C++20 CD)

commit e3bb2eba678062aa433e49758fd5c1f99c2760a6
Author: Jens Maurer <[email protected]>
Date:   Sun Oct 27 21:03:12 2019 +0100

    [namespace.future,diff.cpp14.library] Properly refer to grammar 'digit'
    
    when defining reserved namespace names.
    
    Fixes NB GB 078 (C++20 CD)

commit 8cc6bd34b1075d9e1ad4e8226fcffd56084a9396
Author: Jens Maurer <[email protected]>
Date:   Thu Oct 31 01:08:46 2019 +0100

    [intro.compliance] The standard library also offers header units.
    
    Fixes NB GB 022 (C++20 CD)

commit f563f13c549f85a227d33100b17118acd2fae22b
Author: Casey Carter <[email protected]>
Date:   Wed Oct 30 17:53:51 2019 -0700

    [range.join.iterator] Remove spurious paragraph number. (#3358)

commit 53f0651e981ac5a1b22eedc16e0c3ba54a585f08
Author: Jens Maurer <[email protected]>
Date:   Thu Oct 31 02:01:42 2019 +0100

    [range.join.iterator] Clarify if ... otherwise ladder.
    
    Fixes NB US 295 (C++20 CD)

commit 673d504e1b61c1a392aa9dea8318e66fb08744ae
Author: Jens Maurer <[email protected]>
Date:   Fri Nov 1 08:26:28 2019 +0100

    [class.copy.assign] Remove semicolon in 'of the form' phrase.
    
    This improves consistency with other such phrases.
    
    Fixes late comment CH 02.

commit 42eddb8cedc876bf0df4f9f7e0c28febec38454d
Author: Richard Smith <[email protected]>
Date:   Mon Oct 21 11:46:26 2019 -0700

    [lex.key] Don't use a colon to introduce a floating table.
    
    This table floated off to a different page, so the colon pointed
    nowhere.

commit 2bb2cd92adf5f73f62c502a595528c52321852f8
Author: Nikita Kniazev <[email protected]>
Date:   Mon Nov 4 22:50:05 2019 +0300

    [basic.types] Replace macro constant with constexpr variable

commit ee2879195da176ab31a841b8c5c833730d55b756
Author: Sebastian <[email protected]>
Date:   Tue Nov 5 11:23:55 2019 -0500

    [thread.jthread.class] close namespace in synopsis

commit f8a564a086d539202f8811a0fe004eda6dc0ddbc
Author: Akira Takahashi <[email protected]>
Date:   Thu Nov 7 17:44:07 2019 +0900

    [time.cal.day.nonmembers] Add missing closing brace to p6 (operator-)

commit cff2b503ae97fa83529cb274fe12043510e0f1e9
Author: Thomas Köppe <[email protected]>
Date:   Fri Nov 8 21:01:46 2019 +0000

    [conv.rank] Fix cross-reference to expr.arith.conv (#3384)

commit 68a6dfef6e0880c33193f68a5c035efc8cdf3e09
Author: Jens Maurer <[email protected]>
Date:   Fri Nov 8 23:14:49 2019 +0100

    [basic.lookup.argdep] Inline the definition of 'interface'.
    
    Fixes NB FR 039 (C++20 CD)

commit 98e57ff591d2bd1d258074e06d51fe1cb3e7279d
Author: Thomas Köppe <[email protected]>
Date:   Fri Nov 8 21:57:42 2019 +0000

    [macros, structure.specifications] Rename "Expects:"/"Ensures:" to "Preconditions:"/"Postconditions:"
    
    Also adjust a few hyphenation hints where needed.
    
    Fixes NB GB 155 (C++20 CD)

commit dfcc469164f05145aa029a3d33a0ab8721ad0d2f
Author: Thomas Köppe <[email protected]>
Date:   Fri Nov 8 22:16:00 2019 +0000

    [util.smartpr.atomic] Moves subclause from "Utilities" to "Atomics".
    
    Also renames several headings from "Atomic specializations ..." to
    "Partial specializations ...", and adds a cross reference to [smartptr].
    
    Fixes NB US 216 (C++20 CD)

commit 4d1e9eb84636960724a5553101d578bc1683e702
Author: S. B. Tam <[email protected]>
Date:   Mon Nov 11 18:20:16 2019 +0800

    [structure.specifications] Rename remaining "Expects"/"Ensures" to "Preconditions"/"Postconditions"

commit 7b08a8bac497cc297a38c925bc87a64dc79bde32
Author: Casey Carter <[email protected]>
Date:   Tue Nov 12 11:24:18 2019 -0800

    [iterator.concept.writable] Correct repeated word. (#3369)

commit 81f1d689f51fe823d7f6faa659f03b2d787aebf6
Author: Casey Carter <[email protected]>
Date:   Tue Nov 12 11:25:47 2019 -0800

    [range.filter.overview] Avoid double-negative. (#3355)

commit a6f1f0000d274b406900a462297160f6de3a6d55
Author: Richard Smith <[email protected]>
Date:   Tue Nov 19 14:46:46 2019 -0800

    [temp.expl.spec] There is no such thing as a "consteval property".
    Rephrase to use the correct term "immediate function".

commit 2ea2858eda939494fce400ea265965cce6b84e1e
Author: Richard Smith <[email protected]>
Date:   Tue Nov 19 14:51:00 2019 -0800

    [dcl.inline] Move note that 'inline' doesn't affect linkage somewhere
    more suitable.

commit 7e730f899be7336a1d0c87a24a53167be7f834d6
Author: Richard Smith <[email protected]>
Date:   Tue Nov 19 15:58:44 2019 -0800

    [basic.compound] [numeric.ops.midpoint] Unify terminology used to
    identify array elements.
    
    [expr.add] [expr.rel] [expr.eq] [numeric.ops.midpoint] Remove unused
    name "x" from footnote.

commit e9a3d1ddf21212a160c3b57aeec57acf8fe84c97
Author: Richard Smith <[email protected]>
Date:   Tue Nov 19 17:32:07 2019 -0800

    [expr.const] Fix wording confusion over "is a core constant expression"
    versus "does not disqualify some other expression from being a core
    constant expression".

commit 19148dbc8e3a92148a5fb28bee62994998743605
Author: Richard Smith <[email protected]>
Date:   Tue Nov 19 19:39:09 2019 -0800

    [module.private.frag] Fix description of the private module fragment in
    the note, and update the example to match a revised version from Nathan
    Sidwell.

commit 88b87a2f54e44501d84385d1f07d6cdc6b3f4857
Author: Dawn Perchik <[email protected]>
Date:   Mon Nov 18 14:34:28 2019 -0800

    [temp.constr.op] Reword comment in example added for US111 as suggested by Casey

commit 818e377c13b4b2cc80b292310aba2430538f0d56
Author: Richard Smith <[email protected]>
Date:   Wed Nov 20 12:44:00 2019 -0800

    [temp.constr.op] Stop talking about the programmer's intent being
    unclear in a note; instead merely clarify the language's response
    to the various options available to the programmer.

commit b369c9229f9b3223c967ab00ccb1e54eafec6a7a
Author: Richard Smith <[email protected]>
Date:   Wed Nov 20 13:37:07 2019 -0800

    [over.over] Extract the non-template function case from the description
    of the target type and rearrange so that it better parallels the
    function template specialization case.

commit 6ec7eb80fcf30c44632bba59826e4f26c53688ee
Author: Richard Smith <[email protected]>
Date:   Tue Nov 12 19:11:20 2019 -0800

    [temp.param] [temp.arg.nontype] Update examples and redundant duplicated
    wording to match P1907R1.

commit 0c61ad109ef8847f9bcaea4cb725537fda0ba99d
Author: Richard Smith <[email protected]>
Date:   Fri Nov 15 16:57:10 2019 -0800

    [cpp.predefined] Bump value of __cpp_nontype_template_args to 201911L
    for P1907R1, and remove __cpp_nontype_template_parameter_class to
    indicate that the feature added by P0732R2 is no longer present in that
    form.

commit 7bf810a07f8223b57a0ab1d7eb5d9e82e99cdef7
Author: Richard Smith <[email protected]>
Date:   Wed Nov 13 18:12:12 2019 -0800

    [concept.equivalencerelation] Rename to [concept.equiv].

commit dde89d6d2a478b18351a4ba94a0523417fe05996
Author: Jens Maurer <[email protected]>
Date:   Wed Nov 13 22:15:27 2019 +0100

    [range.cmp] Avoid introducing unused 'P'

commit 1dd384aad27415a1415ad9e81273141ce73a7ce2
Author: Richard Smith <[email protected]>
Date:   Fri Nov 15 16:37:26 2019 -0800

    [range.adaptors] Extend the changes from P1456R1 to also apply to
    take_while_view, drop_view, drop_while_view, and elements_view.
    
    These are covered by the direction proposed in the paper, but were
    inadvertently omitted from the list of things to change in the wording.

commit 6d9db6ae5b3ece80558b95a519d939b58db67623
Author: Richard Smith <[email protected]>
Date:   Wed Nov 20 17:52:31 2019 -0800

    [range.view] Make the requirement for constant-time move operations and
    destruction explicit in the description of when a type models view.

commit de25e23ff5306c69fa74893824d8df7c03197429
Author: Richard Smith <[email protected]>
Date:   Fri Nov 15 16:52:09 2019 -0800

    [string.view] Shorten stable name [string.view.deduction] -> [string.view.deduct]
    
    Also replace commas with periods in lists of constraints.

commit 6c4806f2704b758b8af506e4f24a4a0931cfdcdf
Author: Jens Maurer <[email protected]>
Date:   Thu Nov 14 10:01:08 2019 +0100

    [span.cons] Rephrase constraint on input element type to avoid
    overfull \hbox.

commit 25738f733e5e720fc303effa73da391679750499
Author: Jens Maurer <[email protected]>
Date:   Thu Nov 14 22:22:17 2019 +0100

    [span.cons] Do not attempt to initialize size_ with an iterator.

commit 39665f5324d82b92947d6594a04693e28faf7d81
Author: Dawn Perchik <[email protected]>
Date:   Fri Nov 15 17:44:07 2019 -0800

    [range.range] Fix example to clarify who/what is being specialized for/with/on what.

commit bceff414a33f9ceed3a1823a885067a5d0ba6091
Author: Richard Smith <[email protected]>
Date:   Sat Nov 23 17:57:05 2019 -0800

    [range.range] [span.cons] Update remaining uses of removed
    exposition-only concepts range-impl and forwarding-range with range and
    safe_range as appropriate.

commit e6428e59d58c1c2822c98a15605e2443552a5d35
Author: Dawn Perchik <[email protected]>
Date:   Tue Nov 19 13:32:22 2019 -0800

    [version.syn] Revert __cpp_lib_chrono back to 201907L as directed by @brevzin in #3476.

commit af48b063f9618123d2890796ae9dc95e39fc92f9
Author: Dawn Perchik <[email protected]>
Date:   Fri Nov 15 13:15:36 2019 -0800

    [atomics.types.generic] Added reference to [atomics.types.operations] in synopsis

commit ab483d487983af8c5ee0c2b25b9da40908f1ed9a
Author: Dawn Perchik <[email protected]>
Date:   Sat Nov 16 01:50:56 2019 -0800

    [basic.compound] Fix the wording "A pointer to objects".

commit ad91aa2b2b62305250e7667c53276c794e3eee8d
Author: Dawn Perchik <[email protected]>
Date:   Thu Nov 14 17:10:58 2019 -0800

    [format.string.std] Use bullets to list the effects of the locale-specific form on each arithmetic type.

commit dea4ded28cf7e315b728f3ad31f0af96f9ff58e8
Author: Dawn Perchik <[email protected]>
Date:   Thu Nov 14 17:15:49 2019 -0800

    [format.string.std] Provide a definition for the locale-specific form.

commit d1d3793c1fa08eb4246ac8f218e7a949ae61e28b
Author: Richard Smith <[email protected]>
Date:   Fri Nov 22 20:51:26 2019 -0800

    [format.string.std] 'decimal radix separator' -> 'radix separator'.
    
    The use of the word 'decimal' here is not intended to mean "only base
    10", and so serves only to confuse the reader.

commit 411531100c0d3e922753935f30835e2cfded2ded
Author: Dawn Perchik <[email protected]>
Date:   Thu Nov 14 10:38:32 2019 -0800

    [numeric.ops] Reformat itemdecl declarations to match the <numeric> synopsis.

commit 6c20c2b4cdfc304d58a093e2ce1f49944ac4e8da
Author: Richard Smith <[email protected]>
Date:   Sat Nov 16 01:51:16 2019 +0000

    [rand.util.seedseq] Add cross-reference for "writable".
    
    Co-Authored-By: Johel Ernesto Guerrero Peña <[email protected]>

commit 6ceb2a6b7627d608bd5e4dde5ccd12da70fe20bb
Author: Richard Smith <[email protected]>
Date:   Mon Nov 18 16:29:30 2019 -0800

    [time.clock.cast.fn] Fix inappropriate phrasing of "Mandates:" element.

commit 938c089abd5a0516b18dd965a74a68ebd571b2dc
Author: Johel Ernesto Guerrero Peña <[email protected]>
Date:   Wed Nov 20 12:13:53 2019 -0800

    [thread] Add missing _v's to uses of type traits in Mandates elements.

commit dd294d43f074dd5f218aaa6e216afb1ce512a5ac
Author: Richard Smith <[email protected]>
Date:   Wed Nov 20 12:15:33 2019 -0800

    [thread.req.timing] Remove "note" markers around note.
    
    This change was present in P1622R3 but the markup for the change was
    missing. However, the change was requested by LWG and intended to be
    made by this paper.

commit ff9a0d2ce8ffb31b6a6a7321aaf7d6c2653b2029
Author: Richard Smith <[email protected]>
Date:   Sat Nov 23 21:44:21 2019 -0800

    [atomics.types.operations] Remove uses of deprecated ATOMIC_VAR_INIT
    from examples.

commit fc48c9b846c348a78eae1592d1c0f1aee1336008
Author: Jens Maurer <[email protected]>
Date:   Sun Nov 24 23:04:53 2019 +0100

    [dcl.decl] Avoid double negative.

commit c16eb1cb7b104090f9cc41d6fd31ae5ed7fcb30e
Author: Eelis van der Weegen <[email protected]>
Date:   Sun Nov 24 14:30:28 2019 +0100

    [complex.ops] Remove empty paragraph.

commit abf6868cbdbcbe16fcd699c878e2533cbe4c800a
Author: Krystian Stasiowski <[email protected]>
Date:   Fri Nov 22 16:15:04 2019 -0500

    [temp.local] Change "template-parameter" to "name of a template parameter"

commit 739c4d48ed7a3b7d4f365e344cd178165dee2c2e
Author: Jens Maurer <[email protected]>
Date:   Thu Nov 21 23:36:54 2019 +0100

    [lib] Replace 'this subclause' with numbered subclause references.

commit bffe678f815d3dd241cc71ed5816074b80d2dfff
Author: Jens Maurer <[email protected]>
Date:   Thu Nov 21 21:29:32 2019 +0100

    [lib] Remove 'Constructs an object of type ...' phrases
    
    for constructors; this effect is implied by the
    core language.  Only simple phrases are removed;
    more complex sentence structures are left unchanged.

commit ad5767e6057bb05d8bd185e3bb3bfb18eed87dc0
Author: Jens Maurer <[email protected]>
Date:   Thu Nov 21 00:41:14 2019 +0100

    [dcl.fct.def.coroutine] Use 'encloses' instead of imprecise 'contains'.
    
    The phrase 'the function-body encloses X' is also used
    in [dcl.constexpr].

commit c1c6a1d1a402f421e70faf233256c36d43d05d95
Author: Richard Smith <[email protected]>
Date:   Mon Nov 25 11:46:54 2019 -0800

    [dcl.constexpr] Make cross-reference for "encloses" more precise.

commit 1457b30569d1611af2e12e50ed481673042e0875
Author: Richard Smith <[email protected]>
Date:   Mon Nov 25 12:04:35 2019 -0800

    [dcl.type.elab] Make cross-references for "class" and "union" more precise.

commit 129f699e50e3052ca65da1ff69776fa277f86ef5
Author: Richard Smith <[email protected]>
Date:   Mon Nov 25 12:11:05 2019 -0800

    [class.pre] [class.union] Clean up definition of 'union'.
    
    Move primary definition from [class.pre] to [class.union]. Add note to
    [class.pre] specifying where to look for the meaning of the class-key.
    Move note on aggregate classes from [class.pre] to [class.prop].

commit 02e9b5da556ff8c6476dbb9648e692266cf2bb22
Author: Jens Maurer <[email protected]>
Date:   Wed Nov 20 23:54:35 2019 +0100

    [any.cons,any.assign] Remove redundant postconndition for moves.
    
    [lib.types.movedfrom] already specifies that moved-from
    objects are left in a valid but unspecified state.

commit 19a66878a8c7ba122c06b5b14a43ec206b8f59bd
Author: Jens Maurer <[email protected]>
Date:   Wed Nov 20 21:46:19 2019 +0100

    [temp.deduct.guide] Move into [temp.class].
    
    Deduction guides apply only to class templates, so their
    descriptions should be located in close proximity.

commit 0ef6404655fb0d94b15cab11aef7bb5899d47a78
Author: Jens Maurer <[email protected]>
Date:   Wed Nov 20 23:44:45 2019 +0100

    [temp.concept] Move grammar non-terminal concept-definition here.
    
    Also move concept-name here, both from [temp.pre].

commit 0606c872e07ac3658ad32050d79449a7379c4e70
Author: S. B. Tam <[email protected]>
Date:   Tue Nov 19 17:14:41 2019 +0800

    [time.cal.wdidx.nonmembers] Remove extra "

commit c64f4bd12c57e883bdb32ff69e00f2e3e26ed665
Author: morinmorin <[email protected]>
Date:   Sun Nov 17 12:46:48 2019 +0900

    [concept.regularinvocable] move iref to a better place

commit 2ca40df7253fd4be7e730950e57159584bf7b5f6
Author: Richard Smith <[email protected]>
Date:   Fri Nov 15 17:34:13 2019 -0800

    [defns.access] Clarify definition of "access".
    
    Add cross-linking between the places that introduce accesses and the
    definition of the term, and add a note explaining that we only ever
    access objects of scalar type.

commit 24f3e89e08993598a297ab00af5468ce81a2ec05
Author: Casey Carter <[email protected]>
Date:   Fri Nov 15 17:06:23 2019 -0800

    [range.istream] Relocate under [range.factories]
    
    Resolves #3468.

commit 4bec8476c91d0c731dd19f637e76a34fdc9422fd
Author: Jens Maurer <[email protected]>
Date:   Fri Nov 15 22:08:46 2019 +0100

    [format.arg] Fix parameter type for basic_format_arg constructor.

commit 16972c271e418d2aaf9689e936fa5c61447c17e3
Author: Kerdek <[email protected]>
Date:   Wed Nov 13 22:50:23 2019 -0500

    [basic.life] Use idiomatic wording.
    
    Periods of construction and destruction are not referred to as phases anywhere else.

commit 1586e4b48ca6b787c282c1731e738226068c8de9
Author: Jens Maurer <[email protected]>
Date:   Sun Oct 20 21:57:20 2019 +0200

    [numerics,input.output] Consistently use ios_base::failure.
    
    Do not refer to the inherited member in a derived class.

commit f426cfbdbae8aed86273e3868ce7382e647926c0
Author: Jens Maurer <[email protected]>
Date:   Sat Oct 19 22:17:34 2019 +0200

    [std] Remove 'shall' from notes.
    
    Also update the automatic check script to prevent
    future regressions.

commit d26d3bd5c4fa6e9c2e7ecd2c00c5a6080c9ea4de
Author: Jens Maurer <[email protected]>
Date:   Wed Oct 16 23:27:10 2019 +0200

    [std] Fix cross-references pointing to entire clauses now that we have 'preamble' sections.

commit 02e41833de8737368fe1f31c19dfff468050012e
Author: Richard Smith <[email protected]>
Date:   Mon Nov 25 16:51:27 2019 -0800

    [dcl.type.elab] Clarify that there is no expected correlation between
    using 'class' or 'struct' in a class definition and using the same
    keyword in an elaborated-type-specifier.

commit 225cc43d7d92c7854cdb3726b951f96032e0f48b
Author: Arthur O'Dwyer <[email protected]>
Date:   Mon Sep 16 00:06:39 2019 -0600

    [lib] Replace "shall not X" with "does not X" when it describes library behavior.
    
    In these places we aren't saying "it's UB if X happens"; we're literally
    specifying the behavior of a library function as "X does not happen,
    we promise."
    
    Jonathan Wakely points out that there is still room for the user to cause UB
    by specializing `pair`, `duration`, `function`, etc. such that their specializations
    do X. In that case, the UB happens due to [namespace.std] p2, which requires
    that "the [program-defined] specialization meets the standard library requirements
    for the original template."

commit 035d46b4c40655e5f4f69f77e8c5a1106eab89bd
Author: Jens Maurer <[email protected]>
Date:   Wed Oct 16 21:37:17 2019 +0200

    [time.duration.cast,time.point.cast] Rename subclause to 'Conversions'.
    
    The subclause describes functions beyond
    duration_cast and time_point_cast.

commit 029f630c324dc958b288e8bd2268ae7791a7089c
Author: Richard Smith <[email protected]>
Date:   Mon Mar 11 16:20:44 2019 -0700

    [lex.charset] Fix various issues with the description of UCNs.
    
    Clarify that \U sequences not beginning 00 are ill-formed. Clarify
    handling of code points naming reserved or noncharacter code points.
    Remove unnecessary circumlocution through "short identifiers" by
    directly talking about code points. Use code point values directly
    rather than using C++ 0x notation.
    
    [lex.string] Fix description of what UCNs mean, and convert it to a
    note.

commit b5cd9909ffa2b0a44509aebabac7df8b92385298
Author: Johel Ernesto Guerrero Peña <[email protected]>
Date:   Tue Nov 26 12:25:22 2019 -0400

    [ranges.syn, range.adaptors] Name view template parameter V for consistency (#3514)
    
    P1035 used `R` for such template parameters, introducing an inconsistency.

commit bddd47cb9ded922626b9930b5165af438dcd6c72
Author: Jens Maurer <[email protected]>
Date:   Tue Nov 26 21:01:07 2019 +0100

    [temp.param] Move grammar non-terminal 'type-constraint' here
    
    from [temp.pre].
    Also move the definition of 'immediately-declared
    constraint' and fix all cross-references.

commit 7e4a9fb3da65dbd04843c865e3ae6728063242a0
Author: Jens Maurer <[email protected]>
Date:   Sun Nov 24 23:51:12 2019 +0100

    [over.match.list] Acknowledge [over.ics.list] and clarify text.

commit 782cad5e446a765aee1c674f4a316178185c5c19
Author: Jens Maurer <[email protected]>
Date:   Fri Nov 15 22:02:32 2019 +0100

    [basic.def.odr] Split long-winded bulleted sentence.