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>
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.
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.
CWG poll 1: NB comment resolutions for 7 NB comments applied:
import
inside linkage-specificationsCWG 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
module
also a directivemodule
declarations as preprocessing directivesimport
import
as a preprocessing directive vs Modules Tooling TRimport
preprocessingimport
module
declarationsimport
control-line vs pp-balanced-token-sequencemodule
keywordmodule
from #include
or macro expansionCWG 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)
variant
constructionvariant
constructionCWG 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)
auto
in non-generic lambdas resolved by CWG 2447CWG poll 10: P2109R0 "Disallow export import foo
outside of module interface", resolving 1 NB comment:
export import foo
outside of module interfaceCWG 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"
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:
shared_ptr
converting constructorsstop_token
's operator!=
sized_range
and ranges::size
redundantly use disable_sized_range
subrange
is a silent semantic promotion not applied; superseded by LWG3282 (LWG poll 3)random_access_iterator
semantic constraints accidentally promote difference type using unary negatesemiregular
ranges::size
is not required to be valid after a call to ranges::begin
on an input range
iota_view::iterator
has the wrong iterator_category
iota_view
is under-constrainedzoned_time
deduction guides misinterprets string
/char*
basic_regex<>::assign
ssize
overload is underconstrainedkeys
and values
are unspecifiedconstexpr
marker for destroy
/destroy_n
std::polymorphic_allocator
should require [[nodiscard]]
std::allocator<void>().allocate(n)
SIZE_MAX
with numeric_limits<size_t>::max()
join_view::iterator::operator--
is incorrectly constrainedutc_clock
/ utc_timepoint
operator<<
for floating-point durationsspan::{cbegin,cend}
methods produce different results than std::[ranges::]{cbegin,cend}
uninitialized_construct_using_allocator
should use construct_at
has-tuple-element
helper concept needs convertible_to
std::{strong,weak,partial}_order
for pointerstransform_view
enable_view
has false positivestotally_ordered_with
both directly and indirectly requires common_reference_with
<compare>
from most library headerstotally_ordered[_with]
in terms of partially-ordered-with
default_constructible
to default_initializable
pair
and tuple
copy and move constructor have backwards specification__cpp_lib_constexpr_complex
for P0415R1lexicographical_compare_three_way
ranges::enable_safe_range
should not be constrained__cpp_lib_nothrow_convertible
should be __cpp_lib_is_nothrow_convertible
three_way_comparable_with
is inconsistent with similar conceptsdestroy
is destroy_at
construct
is construct_at
std::{strong,weak,partial}_order
for pointers<compare>
from most library headerstotally_ordered_with
both directly and indirectly requires common_reference_with
totally_ordered[_with]
in terms of partially-ordered-with
uninitialized_construct_using_allocator
should use construct_at
polymorphic_allocator::*_object
should be [[nodiscard]]
SIZE_MAX
with numeric_limits<size_t>::max()
SIZE_MAX
with numeric_limits<size_t>::max()
span::c[r]{begin,end}
return type confusionrandom_access_iterator
enable_view
less greedyiota_view
, forwarding-range
iota_view::iterator
is a Cpp17InputIteratorjoin_view::iterator::operator--
is improperly constrainedhas-tuple-element
helper concept needs convertible_to
transform_view
begin
and size
on input rangesutc_clock
/ utc_timepoint
operator<<
for floating-point durationsLWG poll 3: Library issue resolutions for 65 issues in "Immediate" status applied, resolving 8 NB comments:
shared_ptr
of function typechrono::duration
constructormin
and max
midpoint
should not constrain T
is completelerp
should be marked as noexcept
zoned_time
constructor from string_view
should accept zoned_time<Duration2, TimeZonePtr2>
std::function
deduction guidesstd::format
missing rules for arg-id in width and precisionstd::format
and negative zeroesranges::iter_move
should perform ADL-only lookup of iter_move
std::format
#b
, #B
, #o
, #x
, and #X
presentation types misformat negative numbersstd::format
#
(alternate form) for NaN and infstd::format
alignment specifiers applied to string arguments?parse
's locale aware modifiers for commands are not consistent with POSIX specspan
's array constructor is too strictyear_month*
arithmetic rejects durations convertible to years
%j
with durationssubrange
converting constructor should disallow derived to base conversionstransform_view::iterator
has incorrect iterator_category
Period::type
is micro
?std::string
is not good for UTF-8basic_osyncstream
move assignment and destruction calls basic_syncbuf::emit()
twicestd::pair<T, U>
now requires T
and U
to be less-than-comparable
__cpp_lib_unwrap_ref
in wrong headerstrong_equality
isn't a thinghas_strong_structural_equality
has a meaningless definitionto_address
can throw<chrono>
leap second support should allow for negative leap secondsstop_source
's operator!=
drop_while_view
should opt-out of sized_range
span
's deduction-guide for built-in arrays doesn't workvisit_format_arg
and make_format_args
are not hidden friendsformat_to
should not try to deduce Out
twice{to,from}_chars_result
and format_to_n_result
need the "we really mean what we say" wordingstd::to_address
overload constexpr
decay
in viewable_range
should be remove_cvref
elements_view::iterator
befriends a specialization of itselfsafe
in several library names is misleadingcommon_type
and comparison categoriesbegin
and data
must agree for contiguous_range
pair
and array
sys_seconds
should be replaced with seconds
transform_view::sentinel
has an incorrect operator-
common_iterator
is not sufficiently constrained for non-copyable iteratorsreverse_view<V>
unintentionally requires range<const V>
view
iterator types have ill-formed <=>
operatorscounted_iterator
make_move_iterator()
cannot be used to construct a move_iterator
for a move-only iteratorsource_location::current()
(DE 169)ranges::basic_istream_view::iterator
should not provide iterator_category
tuple_element_t
is also wrong for const subrange
source_location::current()
std::format
to throw for argument / format string mismatchall_view
range_size_t
subrange
ssubrange
constructorsstd::string
is not good for UTF-8LWG 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:
ForwardIterator
should only mean forward iteratorLWG poll 7: NB comment resolution for 5 comments applied, also resolving 1 issue:
join_view<V>::iterator<true>
tries to write through const join_view
pointerhas-arrow
concept is ill-formedjoin_view::begin
requires mutable datajoin_view::iterator
split_view::outer_iterator
is slightly wrongfilter_view::pred()
accessorLWG poll 8: P1981R0 "Rename leap
to leap_second
", resolving 1 NB comment:
leap
to utc_leap
LWG poll 9: P1982R0 "Rename link
to time_zone_link
", resolving 1 NB comment:
link
to zone_link
LWG poll 10: P2101R0 "'Models' subsumes 'satisfies'", resolving 1 issue and 2 NB comments:
views::common
incorrectly uses "models"semiregular-box
should not use "models"LWG poll 11: P1115R3 "Improving the return value of erase-like algorithms, part 2: free erase[_if]
", resolving 2 NB comments:
erase[_if]
should return the number of elements deletederase[_if]
should return the number of elements deletedLWG 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:
elements_view
needs its own sentinel
typeLWG poll 14: P1868R2 "🦄 width: clarifying units of width and precision in std::format
", resolving 1 issue and 1 NB comment:
std::format
field widths code units, code points, or something else?LWG poll 15: P1956R1 "On the names of low-level bit manipulation functions", resolving 5 NB comment:
log2p1
to bit_length
log2p1
collides with IEEE-754 floating-point operationceil2
and floor2
ceil2
and floor2
log2p1
collides with IEEE-754LWG poll 16: P1976R2 "Fixed-size span
construction from dynamic range", resolving 1 NB comment:
span
LWG poll 17: P1964R2 "Wording for boolean-testable
", resolving 4 NB comments:
boolean
and use convertible_to<bool>
insteadboolean
boolean
and use convertible_to<bool>
insteadboolean
LWG poll 18: P2091R0 "Issues with range access customization point objects", resolving 3 issues and 1 NB comment:
initializer_list
memory_order::memory_order_foo
broken in C++20ranges::{begin,end}
should not accept arrays of unknown boundLWG 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
volatile
: library)volatile
in the libraryvolatile
in the libraryLWG poll 21: P1973R1 "Rename _default_init
functions", resolving 1 NB comment: with changes; see below
make_{unique,shared}_default_init
to make_{unique,shared}_nonvalue_init
LWG poll 22: P1243R4 "Rangify new algorithms", resolving 3 NB comments:
LWG poll 23: NB comment resolutions for 2 NB comments:
next_permutation_result
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:
tuple_element_t<1, const span<int, 42>>
is const int
LWG poll 26: P1970R2 "Consistency for size
functions: add ranges::ssize
", resolving 1 NB comment:
ssize()
on rangesReplaced reference to non-existent grammar production import-directive with the intended grammar production pp-import.
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.
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.
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
.
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
.
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.
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
.
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
__cplusplus
The value of the __cplusplus
macro has been increased to 202002L
for C++20.
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.
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.
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.
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.
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.
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.
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.