diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index f3d4a5f770..e6fa6d7203 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -17,57 +17,56 @@ jobs: strategy: matrix: cfg: - - { name: 'Linux', os: 'ubuntu-22.04' } - - { name: 'MacOS', os: 'macos-13' } + - { name: 'Linux', os: 'ubuntu-24.04' } + - { name: 'MacOS', os: 'macos-15' } steps: - name: checkout uses: actions/checkout@v4 - name: install GNU tools - if: matrix.cfg.os == 'macos-13' + if: matrix.cfg.os == 'macos-15' run: | brew install gnu-sed - echo "/usr/local/opt/gnu-sed/libexec/gnubin" >> ${GITHUB_PATH} + echo "/opt/homebrew/opt/gnu-sed/libexec/gnubin" >> ${GITHUB_PATH} - name: check-source.sh run: ../tools/check-source.sh - name: update brew - if: matrix.cfg.os == 'macos-13' - run: | - brew update + if: matrix.cfg.os == 'macos-15' + run: brew update - name: update-apt-cache - if: matrix.cfg.os == 'ubuntu-22.04' + if: matrix.cfg.os == 'ubuntu-24.04' run: sudo apt-get update - name: install (Linux) - if: matrix.cfg.os == 'ubuntu-22.04' + if: matrix.cfg.os == 'ubuntu-24.04' run: sudo apt-get install latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended lmodern - name: install (MacOS) - if: matrix.cfg.os == 'macos-13' + if: matrix.cfg.os == 'macos-15' run: | brew install basictex eval "$(/usr/libexec/path_helper)" echo "PATH=${PATH}" >> ${GITHUB_ENV} sudo tlmgr update --self - sudo tlmgr install latexmk isodate substr relsize ulem fixme rsfs extract layouts enumitem l3packages l3kernel imakeidx splitindex xstring + sudo tlmgr install latexmk isodate substr relsize ulem fixme rsfs environ layouts enumitem l3packages l3kernel imakeidx splitindex xstring - name: make (Linux) - if: matrix.cfg.os == 'ubuntu-22.04' + if: matrix.cfg.os == 'ubuntu-24.04' run: make quiet - name: make (MacOS) - if: matrix.cfg.os == 'macos-13' + if: matrix.cfg.os == 'macos-15' run: make full - name: check-output.sh run: ../tools/check-output.sh - name: upload PDF - if: matrix.cfg.os == 'ubuntu-22.04' + if: matrix.cfg.os == 'ubuntu-24.04' uses: actions/upload-artifact@v4 with: name: draft-snapshot diff --git a/.gitorder b/.gitorder index abebabaa77..edc39fbf98 100644 --- a/.gitorder +++ b/.gitorder @@ -5,6 +5,7 @@ source/macros.tex source/tables.tex source/cover-*.tex source/front.tex +source/preface.tex source/intro.tex source/lex.tex source/basic.tex @@ -21,22 +22,24 @@ source/lib-intro.tex source/support.tex source/concepts.tex source/diagnostics.tex +source/memory.tex +source/meta.tex source/utilities.tex -source/strings.tex source/containers.tex source/iterators.tex source/ranges.tex source/algorithms.tex +source/strings.tex +source/text.tex source/numerics.tex source/time.tex -source/locales.tex source/iostreams.tex -source/regex.tex -source/atomics.tex source/threads.tex +source/exec.tex source/grammar.tex source/limits.tex source/compatibility.tex source/future.tex +source/uax31.tex source/back.tex source/xrefdelta.tex diff --git a/papers/n4987.html b/papers/n4987.html new file mode 100644 index 0000000000..3099e7e867 --- /dev/null +++ b/papers/n4987.html @@ -0,0 +1,915 @@ + + +
+ + +Date: 2024-07-16
+ +Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
Email: cxxeditor@gmail.com
Thanks to all those who have submitted editorial +issues +and to those who have provided pull requests with fixes.
+ +All passed motions from CWG and LWG motions 1 through 9 were applied cleanly. +LWG motions 10, 11, and 12 have not yet been applied due to a lack of time, +but will be included in the next draft.
+ +In CWG Poll 1, issue CWG2144 contains no wording changes since it is subsumed by CWG2876, which is part of Poll 2. +The wording changes from issue CWG2867 of CWG Poll 1 affect the same wording as CWG Poll 7; the wording has been reconciled.
+ +CWG Poll 1. Accept as Defect Reports and apply the proposed resolutions of all issues except 2819, 2858, and 2876 in +P3345R0 +(Core Language Working Group "ready" Issues for the June, 2024 meeting) to the C++ Working Paper.
+ +CWG Poll 2. Apply the proposed resolution of issues 2819, 2858, and 2876 in +P3345R0 +(Core Language Working Group "ready" Issues for the June, 2024 meeting) to the C++ Working Paper.
+ +CWG Poll 3. Apply the changes in
+P2747R2
+(constexpr
placement new) to the C++ Working Paper.
CWG Poll 5. Apply the changes in +P3144R2 +(Deleting a Pointer to an Incomplete Type Should be Ill-formed) to the C++ Working Paper.
+ +CWG Poll 6. Apply the changes in +P2963R3 +(Ordering of constraints involving fold expressions) to the C++ Working Paper.
+ +CWG Poll 7. Apply the changes in +P0963R3 +(Structured binding declaration as a condition) to the C++ Working Paper.
+ +CWG Poll 4 did not have consensus.
+ +LWG Poll 1. Apply the changes for all Ready and Tentatively Ready issues in +P3341R0 +(C++ Standard Library Ready Issues to be moved in St. Louis, Jun. 2024) to the C++ working paper.
+ +LWG Poll 2. Apply the changes in +P2997R1 +(Removing the common reference requirement from the indirectly invocable concepts) to the C++ working paper.
+ +LWG Poll 3. Apply the changes in
+P2389R2
+(dextents
Index Type Parameter) to the C++ working paper.
LWG Poll 4. Apply the changes in
+P3168R2
+(Give std::optional
Range Support) to the C++ working paper.
LWG Poll 5. Apply the changes in
+P3217R0
+(Adjoints to "Enabling list-initialization for algorithms": find_last
) to the C++ working paper.
LWG Poll 6. Apply the changes in +P2985R0 +(A type trait for detecting virtual base classes) to the C++ working paper.
+ +LWG Poll 7. Apply the changes in
+P0843R14
+(inplace_vector
) to the C++ working paper.
LWG Poll 8. Accept as a Defect Report and apply the changes in
+P3235R3
+(std::print
more types faster with less memory) to the C++ working paper.
LWG Poll 9. Apply the changes in
+P2968R2
+(Make std::ignore
a first-class object) to the C++ working paper.
Not yet applied:
+ +LWG Poll 10. Apply the changes in +P2075R6 +(Philox as an extension of the C++ RNG engines) to the C++ working paper.
+ +LWG Poll 11. Apply the changes in +P2422R1 +(Remove nodiscard annotations from the standard library specification) to the C++ working paper.
+ +LWG Poll 12. Apply the changes in
+P2300R10
+(std::execution
) to the C++ working paper.
A number of editorial changes have been applied that resulted from the ongoing review of the +C++23 IS with the ISO secretariat.
+ +Mathematical formulae are now numbered, and they must be referenced explicitly from the text.
+ +We avoid writing references as "subclause 1.2.3" in favour of just "1.2.3" now whenever that is +equally clear.
+ +Examples in Annex C now use the regular example style, as opposed to the previous ad-hoc style.
+ +We changed how we refer to the C++ standard itself and how we cite other standards. The page +footers have been changed to show the page number and the copyright over two lines, and the +display of Annex titles has been changed, both in accordance with new ISO style advice. For +details see the following listing.
+ +A log of editorial fixes made to the working draft since N4981 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 59d6bfc0c23b61cabb72d9a48270ed1c3b7e02f9
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Apr 16 09:57:19 2024 -0400
+
+ [basic.life] Reflow text defining transparently replaceable
+
+ p8 is difficult to read as it defines transparently replaceable
+ only after it has made all use of it. The edit pulls the
+ definition of transparently replaceable into its own preceding
+ paragraph, and then simplifies the sentence that uses this term.
+
+commit ccfb6adea4373a63b7063f4d41cb9d47876a9347
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Apr 17 03:08:36 2024 -0400
+
+ [tab:headers.cpp.fs] Move the debugging library to numberically sorted position (#6927)
+
+commit c82e95ca91b313bc2cfde60aac9abbd49406d930
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Apr 17 18:42:19 2024 -0400
+
+ [zombie.names] Turn lists of zombie names into tables (#6925)
+
+commit c1eec01966d6383dabfaa4304939ce3be3868f1f
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Thu Apr 18 23:51:53 2024 +0800
+
+ [range.concat.overview] Remove unnecessary `std::` prefix from example (#6931)
+
+commit 2de15529d3f98a5de25cecf9ac8ed5b104d776e1
+Author: Jan Schultke <me@eisenwave.net>
+Date: Thu Apr 18 18:00:42 2024 +0200
+
+ [charconv.syn] Clarify types matching integer-type (#6847)
+
+commit bae18b69cbca566eac284c8c2f316407fda98d16
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Fri Apr 19 01:21:19 2024 +0800
+
+ [range.concat.view] Format code to match the current style (#6929)
+
+commit 79dcca82c22d75fc2b2b6cbc1c338a0229db9a34
+Author: S. B. Tam <cpplearner@outlook.com>
+Date: Fri Apr 19 19:51:29 2024 +0800
+
+ [range.utility.conv.general] Fix misapplication of LWG4016 (#6932)
+
+commit e572580d71dfc8bdb32b8d1a21a2e493676e2151
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Fri Apr 19 21:57:48 2024 +0800
+
+ [range.concat.iterator] Remove @ outside of codeblocks (#6934)
+
+commit 5a5295d9c9e1881e58d3b4696fe45f00ef1cc507
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Fri Apr 19 17:32:53 2024 -0400
+
+ [index] Add missing entries for Cpp17 concepts (#6940)
+
+commit 5d4d9508bca4709366a0ff7acb17ba7b3a2efced
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Sat Apr 20 20:16:23 2024 +0800
+
+ [range.join.with.iterator] Add missing 'template' keyword for dependent name 'emplace' (#5455)
+
+commit 0ac38fd4c4548ff61cd378f98eff3e18f4463caf
+Author: S. B. Tam <cpplearner@outlook.com>
+Date: Fri Aug 18 15:12:08 2023 +0800
+
+ Fix typo (`dynamic_rank` => `rank_dynamic`)
+
+commit 47c2f68d84cb13a7ca83a507fb1f32ddf4774ec1
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Mon Apr 22 23:19:41 2024 +0200
+
+ [mdspan.layout.leftpad.obs] Remove superfluous \item (#6944)
+
+commit 4f0779d5a3665af9dd92a96e52d809ba3911495d
+Author: Jan Schultke <me@eisenwave.net>
+Date: Tue Apr 23 12:13:27 2024 +0200
+
+ [intro.execution] Add comma after conditional clause (#6945)
+
+commit 12b6307589257a803527eb38c43f08f867d59322
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Mon Apr 29 15:23:41 2024 +0800
+
+ [algorithm.syn,alg.fill] Fix typos in constraints (#6957)
+
+commit 927d0dba2b068ba9f2136479b4ba05a430eec348
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Mon Apr 29 22:43:49 2024 +0800
+
+ [alg.rand.generate] Remove brace typo (#6956)
+
+commit 480adbe4d6ae54e03b6cec5f8784689445c36eee
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Apr 30 07:48:14 2024 +0200
+
+ [print.syn] Correctly order println overloads
+
+commit 3333421819c1b2c6dec1becd0dd2a9fa0aeba8cd
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Tue Apr 30 20:22:43 2024 +0800
+
+ [range.concat.iterator] Remove superfluous period (#6960)
+
+commit 513635b371c6a664be2a0ea6fc6939350b9b5e6b
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Fri May 10 00:17:43 2024 +0800
+
+ [range.reverse.overview] Replace 'equivalent to' with 'then' (#6966)
+
+commit be18ecc17114bcae4acdad10a3467686510b22c2
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat May 11 21:51:48 2024 +0200
+
+ [class.derived.general] Restore accidental reversal of P2662R3 change
+
+ P2662R3 contained a rename of the grammar production "class-or-decltype"
+ to "class-or-computed-type-specifier". That was editorially reverted
+ with commit c831ec0b8aac369aa61ce392783865ff04b84b19, but that commit
+ also accidentally reverted the change from "decltype-specifier" to
+ "computed-type-specifier" as one of the options for "class-or-decltype".
+
+ This commit restores the latter change, as intended by P2662R3.
+
+commit 9dcff41d2d26577c2ec0643056187a0f8094832e
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sun May 12 15:24:43 2024 +0100
+
+ [intro.refs] Fix document titles
+
+commit 5b332fed1a4577ad08ed469da26c9c7864ea9e11
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sun May 12 15:31:43 2024 +0100
+
+ [intro.refs, intro.defs] Update ISO 80000-2:2009 to :2019, change "and" to comma
+
+commit 85f4bb454effe50029de636d6f206f9c1153236a
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sun May 12 15:53:11 2024 +0100
+
+ [defns.order.ptr] Add missing hypen in "built-in"
+
+commit 9cd8d6ce9cc446c94d91e1350b9113906774f0af
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Tue May 14 21:49:55 2024 +0800
+
+ [format.context] Fix error in example (#6970)
+
+commit 951ded4880e4295981c0d691915a81d84c2baa9d
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sun May 12 16:01:09 2024 +0100
+
+ [defns.unblock] Italicize entire term "blocked", not just "block".
+
+ ISO has indicated that this is the acceptable way to state a reference to another definition, in this case "block" [defns.block].
+
+commit 1cb3842f83412720a23c664f478a4167cb3162a2
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue May 14 18:52:30 2024 +0200
+
+ [styles] Redesign Annex titles per Rice Model Standard
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 2f23560744a966f7a455629506468a02055d53ea
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Mon May 20 05:52:26 2024 -0400
+
+ [alg.ends.with] Replace drop_view with views::drop (#6773)
+
+commit bbac8a98d303d3ad5ecd9514fb2db37745d16984
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Mon May 20 07:24:27 2024 -0400
+
+ [dcl.init.list] Eliminate "specialization of initializer_list<X>" (#6258)
+
+commit ad37b863dec4af4c88d8f2154d5f3e4a9b2a3b33
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Tue May 21 07:12:32 2024 -0400
+
+ [support.initlist] "initializer list" should be "initializer_list" (#6680)
+
+ This note is talking about the class type, not the grammatical construct.
+
+commit 2e455af5d6a2bdaac7e9d0d4e7f23ac7a6c0451d
+Author: zhihaoy <43971430+zhihaoy@users.noreply.github.com>
+Date: Tue May 21 22:50:56 2024 -0700
+
+ [util.smartptr.shared.cast] Properly describe possibility of double deletion in notes (#7037)
+
+commit 4b3f32ae814c8da3faccc0dc307904bd250371d9
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue May 28 22:10:36 2024 +0100
+
+ [input.output] Add cross-references to header synopses (#7005)
+
+ Several of the synopses are not adjacent to the types they declare.
+ Adding cross-references makes it easier to find the relevant definitions
+ of classes and class templates.
+
+ Also make the title of [ostream.manip] more specific to its content.
+
+commit dbf17528619707307f859bac1b36c52654fecfc8
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Mon Jun 10 17:06:15 2024 -0400
+
+ [container.adaptors] Reorder constructors for flat_* adaptors (#6274)
+
+ Canonicalize the ordering of the constructors for the flat_* adaptors:
+ - default constructor is first
+ - each overload without `key_compare` is followed by the corresponding one with `key_compare`
+ - each pair of overloads without `sorted_unique` is followed by the corresponding pair with `sorted_unique`
+
+commit ae9b2d7481af415076ffdf33d5920e31e5591eb1
+Author: Jan Schultke <me@eisenwave.net>
+Date: Tue Jun 11 15:32:36 2024 +0200
+
+ [res.on.exception.handling] Add cross-reference to [except.spec] (#7058)
+
+commit c95ff039b634388962e1fa242e772da8466d49b6
+Author: Jan Schultke <me@eisenwave.net>
+Date: Wed Jun 12 12:36:02 2024 +0200
+
+ [stmt.if] Add missing comma after conditional clause (#7061)
+
+commit 42a38b072a471a112720535c087d96c8f4865a47
+Author: Jan Schultke <me@eisenwave.net>
+Date: Wed Jun 12 18:56:14 2024 +0200
+
+ [stmt.pre] Add a cross-reference to [intro.execution] (#7060)
+
+commit 3680e10a5a7eb48b35f150429ce6b3313583bb87
+Author: Jan Schultke <me@eisenwave.net>
+Date: Fri Jun 14 12:48:46 2024 +0200
+
+ [class.virtual] Add commas (#7062)
+
+commit 9ad7d63f8db28c88dfa68866d23c5ab742be3f80
+Author: Antony Polukhin <antoshkka@gmail.com>
+Date: Tue Jun 18 19:00:34 2024 +0300
+
+ [associative.reqmts.general] Fix typo (#7069)
+
+commit a24620eced94b1f04fcbd8add49f5e9ca6326ed4
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Jun 21 12:36:01 2024 +0200
+
+ [class.union.general] Add comma (#7072)
+
+commit 59e634a8a841f58efeac873459bedf28928a83f9
+Author: Johannes Sixt <j6t@kdbg.org>
+Date: Wed Jun 26 11:53:47 2024 +0200
+
+ [func.require] Add missing formatting of subscript index (#7071)
+
+commit 6d67d200863e430650047adb651324bc5663b6fc
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue May 14 13:13:42 2024 +0200
+
+ [diff] Mark examples as such
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 21e022557462544e2e6d32411f71e42a378d2236
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Jul 2 14:31:08 2024 +0100
+
+ [depr.c.macros] Fix "macro" singular when referring to two macros
+
+ This should have been applied as part of LWG 4036.
+
+commit 8bb63636c37f8e67808de1e1ce1142a3028293fd
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Wed Jul 3 20:53:40 2024 +0100
+
+ [istream.unformatted] add missing semi-colon to list item (#7117)
+
+commit 8227c196af96f157a539e5181f7a75ab3de3a096
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Jul 5 10:03:47 2024 +0200
+
+ [except.throw] Add comma (#7118)
+
+commit 07c20b75a867b66c858de716dfb639b0a9d1da2c
+Author: Yihe Li <winmikedows@hotmail.com>
+Date: Sat Jul 6 23:32:43 2024 +0800
+
+ [version.syn] Remove redundant <version> for __cpp_lib_ranges_enumerate (#7120)
+
+commit 15b7ea6c95e471888cda2c334ba8ac30cabccf64
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sun Jul 7 10:23:09 2024 +0200
+
+ [basic.start.main] fix definite article (#7121)
+
+commit 61d85d3f9b78d792bd1bdb1d15202f9cdd931b31
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jul 9 00:57:58 2024 +0100
+
+ [intro.compliance.general] Cite Annex B more normatively.
+
+commit 2048179f82bbe92dcccee3cc6bbdac4973c77606
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jul 9 01:25:28 2024 +0100
+
+ [intro.compliance.general] Cite Annex D more normatively.
+
+commit 6b67a856495634df3a0bd0d8abee36eb0d3c8c6f
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Jul 9 08:29:50 2024 +0200
+
+ [temp.inst] Fix definite article
+
+commit 43c47b42fd1f7cd4d095299aca98666c06e45949
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jul 9 01:44:08 2024 +0100
+
+ [uaxid] Clarify that requirements come "from UAX #31", and use "this document".
+
+commit 7c35cb057ef4885e091bf65c1103d64946e7c8d1
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jul 9 14:47:10 2024 +0100
+
+ [std] Make bibliography reference link colour more citely
+
+commit bc2c80c23133a0581a847bd7fcfaca621ca86ffe
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon May 13 20:17:21 2024 +0200
+
+ [dcl.init.list] Add commas and period for bulleted list
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 868db7356ad1490890391e8c82888de5c4d4aad4
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon May 13 20:18:20 2024 +0200
+
+ [facet.num.get.virtuals] Add missing punctuation
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 77ee6ed3b8865b2bb514cb8446488aa6fb032dda
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon May 13 23:39:13 2024 +0200
+
+ [lex.literal] Properly format table headings
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit cb9850377b88a4d7da12d05bcdf11948c384f699
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon May 13 23:47:55 2024 +0200
+
+ [basic.fundamental] Center second column of "integer width" table
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 2a2b8732e0d81dd9f5d3880b70bd451173e5f5fc
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jul 9 15:41:56 2024 +0100
+
+ [intro.defs] Minor rewording. Avoid sounding like a requirement.
+
+commit 4746925c7117015480542fd68ad5f595b78173d2
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue May 14 14:11:53 2024 +0200
+
+ [numeric.limits.members,bibliography] Remove LIA-1 abbreviation for ISO 10967
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit c18d51ddf436abf39065ea86497161383bba11c0
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed May 15 09:05:36 2024 +0200
+
+ [intro.memory] Move footnote about Unicode trademark to [lex.phases]
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 1f32f6aa8000f194f1b5c4daba94d271eea817fb
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed May 15 16:28:34 2024 +0200
+
+ [diff,bibliography] Move details of old C++ standards to the bibliography
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit d5410b4035e3108d48a63434abfff7e377c996d2
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed May 15 18:31:14 2024 +0200
+
+ [diff.cpp20,diff.cpp17] Add missing inclusion clause
+
+commit af4cf904c3d2df0675dbd456af2de2f1259e370c
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu May 16 12:56:12 2024 +0200
+
+ [std] Rename 'In general' headings to 'General' for consistency
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 9d3011b4224bb63636f4a117967e8ba8110f5ba4
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri May 17 14:11:48 2024 +0200
+
+ [implimits] Rephrase introductory sentence for list of quantities
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 260d3a0d0cde1431dd4221115e1b37979ee07e7d
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu May 16 12:30:44 2024 +0200
+
+ [class.copy.ctor] Remove reference to non-existing example
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 0bc3e030be28ff2191af8e9c9c202bff6e23c320
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu May 16 12:37:12 2024 +0200
+
+ [class.conv.general] Remove vague reference to unhelpful examples
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 861f07de24c5cfbd69840038d8589bc13b24b7e7
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed May 15 21:58:36 2024 +0200
+
+ [cpp.predefined,namespace.future,version.syn] Replace 'C++' with 'this document'
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit a7a2cbd10ea752d49ca286e3fea3e7cbbb9b6e9d
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri May 17 00:44:32 2024 +0200
+
+ [futures.state] Turn note into example
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 88c48bb78815576fb20db42b89f381c580d28b0e
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue May 14 22:41:24 2024 +0200
+
+ [std] Remove colons in front of bulleted lists
+
+commit 9d7aa6108b84a09117463d0b13bc24cf61926897
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue May 14 22:47:38 2024 +0200
+
+ [iterators] Add colon after 'model ... only if' when complete sentences follow
+
+commit 79ac47f7053da4ef20c117e282377591d028e7a5
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed May 15 21:42:09 2024 +0200
+
+ [basic.fundamental,cstdarg.syn] Use full reference for ISO C sections
+
+ Fixes ISO/CS comment (C++23)
+
+commit 2bbf136502811925250b09fd73909b78e0236091
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu May 16 12:51:32 2024 +0200
+
+ [execpol.general] Use 'this document', not 'this standard'
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit e65393f3c87d323258e38c498b849dc57404a20b
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed May 15 22:13:14 2024 +0200
+
+ [format.string.std] Add (R) symbol after Windows
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit dafefea895de358b8edcb6780e3c7b71d209b458
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue May 14 19:12:57 2024 +0200
+
+ [rand.req] Replace 'that Table' with a precise reference
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 361e7769a245aad263574bbe83b9266d8da3b01b
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri May 17 09:42:22 2024 +0200
+
+ [std] Replace 'this standard' with 'this document'
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit e86031dd14e052956fc23ec4dbc1510b7438ba5b
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon May 13 23:19:57 2024 +0200
+
+ [time.format,time.parse] Fix references to ISO week calendar
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 868b0b29ac16370ed8792442a0ab41be91c5d575
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon May 13 19:01:05 2024 +0200
+
+ [std] Avoid hanging paragraphs by introducing "General" subclauses
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit f0580700cf0e8e920ceb3a078b6872a4c16fa225
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed May 15 21:49:31 2024 +0200
+
+ [std] Remove ISO from any mention of 'C'
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 69f184ea599635dac4cd9dc06a3303bed93b26f7
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon May 13 19:30:38 2024 +0200
+
+ [std] Remove mid-sentence 'subclause' introducer
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit ecb071672b02a4b7bc829f87433d98785d9dd701
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon May 13 19:44:40 2024 +0200
+
+ [std] Remove incorrect or duplicative 'this subclause' introducers
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit a249f9f37531fe79e768f19a45f1b1a70685c2c6
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jul 9 22:48:20 2024 +0100
+
+ [classes] Turn ad-hoc examples into proper examples (#7125)
+
+commit eade3851e174ac014b478b8d4f097103d3b996ae
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu May 16 12:44:01 2024 +0200
+
+ [lex.ccon,expr.prim.lambda.capture] Excise 'ISO' prefix
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 5383169856690cf05d946f058ed861119405d126
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu May 16 14:32:49 2024 +0200
+
+ [fs.class.path.general] Defuse cross-reference to POSIX
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 5731ab6a9122763bf6193d1382a05c7bebe82b38
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jul 9 23:24:09 2024 +0100
+
+ [time.format] Remove mid-sentence 'subclause' introducer from external reference
+
+commit 856d175973d343d8e16d641221f47357672d9959
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri May 17 14:26:54 2024 +0200
+
+ [lib] Excise Note A, Note B, etc. designations
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 5508a007540d790a8f5cd30f863f4d329edf2694
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu May 16 15:07:27 2024 +0200
+
+ [macros,numerics] Add and use numbered 'formula' environment
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 2b0ff8d6bd285bbe8b27fdab47e268b115a3f930
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Jul 10 11:33:23 2024 +0100
+
+ [lex.string] Replace colon with full stop to end the sentence.
+
+ On request of ISO/CS, for otherwise we should have made the next 'if'
+ lowercase, because: "Grammatically this is the same sentence,
+ as there is no full stop, so the 'if' should be lowercase."
+
+ If a colon really doesn't end a sentence, then we should make it so
+ that the sentence really does end.
+
+commit 064fb0b34eb8cbb14f52dc966c833ef7c749c82c
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue May 14 08:23:07 2024 +0200
+
+ [macros] Prefer page break above 'note' or 'example' introducers
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 13b08d0f58dfea7ae2e19b1d931094d4523a52d2
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Thu Jul 11 01:41:29 2024 +0100
+
+ [layout, styles] New ISO header and footer layout.
+
+ The footer now takes up two lines, one for the copyright and one for
+ the page number.
+
+commit 7f6069c794abb56e51affdc2923e3d33b3a547a8
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Thu Jul 11 12:27:28 2024 +0100
+
+ [cover-reg] Update regular cover
+
+commit f41a619cf852ae638bfe4792ec78ac1f214a7d23
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Jul 12 01:28:38 2024 +0100
+
+ [impldefindex] Reinstate full page mark
+
+ As of 13b08d0f58dfea7ae2e19b1d931094d4523a52d2 we have space for it.
+
+commit b2870b5c87765946f5c4a644da508adcc483045e
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Jul 12 01:30:06 2024 +0100
+
+ [macros, std] Create macros for ISO/IEC 60559 and ISO/IEC/IEEE 9945.
+
+ As a side effect, this corrects the title of ISO/IEC 60559(:2020),
+ whose previous version was ISO/IEC/IEEE 60559:2011.
+
+
+
diff --git a/papers/n4987.md b/papers/n4987.md
new file mode 100644
index 0000000000..d405f0b427
--- /dev/null
+++ b/papers/n4987.md
@@ -0,0 +1,774 @@
+# N4987 Editors' Report -- Programming Languages -- C++
+
+Date: 2024-07-16
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: `cxxeditor@gmail.com`
+
+## Acknowledgements
+
+Thanks to all those who have [submitted editorial
+issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
+and to those who have provided pull requests with fixes.
+
+## New papers
+
+ * [N4986](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4986.pdf) is the
+ current working draft for C++26. It replaces
+ [N4981](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4981.pdf).
+ * N4987 is this Editors' Report.
+
+## Motions incorporated into working draft
+
+### Notes on motions
+
+All passed motions from CWG and LWG motions 1 through 9 were applied cleanly.
+LWG motions 10, 11, and 12 have not yet been applied due to a lack of time,
+but will be included in the next draft.
+
+In CWG Poll 1, issue CWG2144 contains no wording changes since it is subsumed by CWG2876, which is part of Poll 2.
+The wording changes from issue CWG2867 of CWG Poll 1 affect the same wording as CWG Poll 7; the wording has been reconciled.
+
+### Core working group polls
+
+CWG Poll 1. Accept as Defect Reports and apply the proposed resolutions of all issues except 2819, 2858, and 2876 in
+[P3345R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3345r0.html)
+(Core Language Working Group "ready" Issues for the June, 2024 meeting) to the C++ Working Paper.
+
+CWG Poll 2. Apply the proposed resolution of issues 2819, 2858, and 2876 in
+[P3345R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3345r0.html)
+(Core Language Working Group "ready" Issues for the June, 2024 meeting) to the C++ Working Paper.
+
+CWG Poll 3. Apply the changes in
+[P2747R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2747r2.html)
+(`constexpr` placement new) to the C++ Working Paper.
+
+CWG Poll 5. Apply the changes in
+[P3144R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3144r2.pdf)
+(Deleting a Pointer to an Incomplete Type Should be Ill-formed) to the C++ Working Paper.
+
+CWG Poll 6. Apply the changes in
+[P2963R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2963r3.pdf)
+(Ordering of constraints involving fold expressions) to the C++ Working Paper.
+
+CWG Poll 7. Apply the changes in
+[P0963R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p0963r3.html)
+(Structured binding declaration as a condition) to the C++ Working Paper.
+
+CWG Poll 4 did not have consensus.
+
+### Library working group polls
+
+LWG Poll 1. Apply the changes for all Ready and Tentatively Ready issues in
+[P3341R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3341r0.html)
+(C++ Standard Library Ready Issues to be moved in St. Louis, Jun. 2024) to the C++ working paper.
+
+LWG Poll 2. Apply the changes in
+[P2997R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2997r1.html)
+(Removing the common reference requirement from the indirectly invocable concepts) to the C++ working paper.
+
+LWG Poll 3. Apply the changes in
+[P2389R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2389r2.html)
+(`dextents` Index Type Parameter) to the C++ working paper.
+
+LWG Poll 4. Apply the changes in
+[P3168R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3168r2.html)
+(Give `std::optional` Range Support) to the C++ working paper.
+
+LWG Poll 5. Apply the changes in
+[P3217R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3217r0.html)
+(Adjoints to "Enabling list-initialization for algorithms": `find_last`) to the C++ working paper.
+
+LWG Poll 6. Apply the changes in
+[P2985R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2985r0.html)
+(A type trait for detecting virtual base classes) to the C++ working paper.
+
+LWG Poll 7. Apply the changes in
+[P0843R14](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p0843r14.html)
+(`inplace_vector`) to the C++ working paper.
+
+LWG Poll 8. Accept as a Defect Report and apply the changes in
+[P3235R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3235r3.html)
+(std::print more types faster with less memory) to the C++ working paper.
+
+LWG Poll 9. Apply the changes in
+[P2968R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2968r2.html)
+(Make std::ignore a first-class object) to the C++ working paper.
+
+**Not yet applied:**
+
+LWG Poll 10. Apply the changes in
+[P2075R6](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2075r6.html)
+(Philox as an extension of the C++ RNG engines) to the C++ working paper.
+
+LWG Poll 11. Apply the changes in
+[P2422R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2422r1.html)
+(Remove nodiscard annotations from the standard library specification) to the C++ working paper.
+
+LWG Poll 12. Apply the changes in
+[P2300R10](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)
+(std::execution) to the C++ working paper.
+
+## Editorial changes
+
+### Major editorial changes
+
+A number of editorial changes have been applied that resulted from the ongoing review of the
+C++23 IS with the ISO secretariat.
+
+Mathematical formulae are now numbered, and they must be referenced explicitly from the text.
+
+We avoid writing references as "subclause 1.2.3" in favour of just "1.2.3" now whenever that is
+equally clear.
+
+Examples in Annex C now use the regular example style, as opposed to the previous ad-hoc style.
+
+We changed how we refer to the C++ standard itself and how we cite other standards. The page
+footers have been changed to show the page number and the copyright over two lines, and the
+display of Annex titles has been changed, both in accordance with new ISO style advice. For
+details see the following listing.
+
+### Minor editorial changes
+
+A log of editorial fixes made to the working draft since N4981 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](https://github.com/cplusplus/draft/compare/n4981...n4986).
+
+ commit 59d6bfc0c23b61cabb72d9a48270ed1c3b7e02f9
+ Author: Alisdair Meredith Date: 2024-08-05
+ +Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
Email: cxxeditor@gmail.com
Thanks to all those who have submitted editorial +issues +and to those who have provided pull requests with fixes.
+ +The previous draft +N4986 +was not approved at any WG21 meeting. For approval of this draft, N4988, +please consult the previous Editors' report +N4987 +as well as this one.
+ +All passed motions from CWG and LWG motions 1 through 9 were applied in the previous draft +N4986. +LWG motions 10, 11, and 12 had not yet been applied due to a lack of time, +and are included in this draft.
+ +The full list of approved motions is included here for ease of reference.
+ +Already applied in previous draft.
+ +CWG Poll 1. Accept as Defect Reports and apply the proposed resolutions of all issues except 2819, 2858, and 2876 in +P3345R0 +(Core Language Working Group "ready" Issues for the June, 2024 meeting) to the C++ Working Paper.
+ +CWG Poll 2. Apply the proposed resolution of issues 2819, 2858, and 2876 in +P3345R0 +(Core Language Working Group "ready" Issues for the June, 2024 meeting) to the C++ Working Paper.
+ +CWG Poll 3. Apply the changes in
+P2747R2
+(constexpr
placement new) to the C++ Working Paper.
CWG Poll 5. Apply the changes in +P3144R2 +(Deleting a Pointer to an Incomplete Type Should be Ill-formed) to the C++ Working Paper.
+ +CWG Poll 6. Apply the changes in +P2963R3 +(Ordering of constraints involving fold expressions) to the C++ Working Paper.
+ +CWG Poll 7. Apply the changes in +P0963R3 +(Structured binding declaration as a condition) to the C++ Working Paper.
+ +CWG Poll 4 did not have consensus.
+ +Already applied in previous draft.
+ +LWG Poll 1. Apply the changes for all Ready and Tentatively Ready issues in +P3341R0 +(C++ Standard Library Ready Issues to be moved in St. Louis, Jun. 2024) to the C++ working paper.
+ +LWG Poll 2. Apply the changes in +P2997R1 +(Removing the common reference requirement from the indirectly invocable concepts) to the C++ working paper.
+ +LWG Poll 3. Apply the changes in
+P2389R2
+(dextents
Index Type Parameter) to the C++ working paper.
LWG Poll 4. Apply the changes in
+P3168R2
+(Give std::optional
Range Support) to the C++ working paper.
LWG Poll 5. Apply the changes in
+P3217R0
+(Adjoints to "Enabling list-initialization for algorithms": find_last
) to the C++ working paper.
LWG Poll 6. Apply the changes in +P2985R0 +(A type trait for detecting virtual base classes) to the C++ working paper.
+ +LWG Poll 7. Apply the changes in
+P0843R14
+(inplace_vector
) to the C++ working paper.
LWG Poll 8. Accept as a Defect Report and apply the changes in +P3235R3 +(std::print more types faster with less memory) to the C++ working paper.
+ +LWG Poll 9. Apply the changes in +P2968R2 +(Make std::ignore a first-class object) to the C++ working paper.
+ +Newly applied in this draft:
+ +LWG Poll 10. Apply the changes in +P2075R6 +(Philox as an extension of the C++ RNG engines) to the C++ working paper.
+ +LWG Poll 11. Apply the changes in +P2422R1 +(Remove nodiscard annotations from the standard library specification) to the C++ working paper.
+ +LWG Poll 12. Apply the changes in +P2300R10 +(std::execution) to the C++ working paper.
+ +There were no major editorial changes.
+ +A log of editorial fixes made to the working draft since N4986 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 a52859fad0d3bc56ec941fc287d5cebc0fd080dc
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Jul 12 14:35:07 2024 +0100
+
+ [diff.cpp23.dcl.dcl] Fix capitalisation of heading
+
+commit 811e9bb15fe6b8fe0a6e5584525b7839e329126b
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jul 23 00:19:37 2024 +0100
+
+ [intro.refs] Move footnote
+
+ As requested by ISO/CS.
+
+commit dd306a57cdcce4596fb9d5ce917075eee8e60f4b
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jul 23 00:22:31 2024 +0100
+
+ [intro.races] Rephrase note to avoid awkward "can not".
+
+ Suggested by ISO/CS.
+
+commit 3dc8333128753e8eb4c39f353aa272a63221e6d5
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jul 23 00:28:48 2024 +0100
+
+ [library.c] Clarify that Annex F comes from ISO/IEC 9899:2018
+
+commit b303620f529bfe517fb0c79d3e7f644c54a1e6cb
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Jul 23 00:20:42 2024 +0100
+
+ [rand.dist] Remove textual elements from forumla.
+
+ Those were left over from when we converted the text-integrated
+ formula to self-contained, numbered ones.
+
+commit 7228e06a7973282cf1034a9cdb095dd863aef377
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Jul 17 00:48:45 2024 +0100
+
+ [tab:headers.cpp.fs] Use a more appropriate subclause for inplace_vector
+
+commit 3f5771916e846d16330a87df15d35e797ea66437
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Jul 23 17:48:36 2024 -0400
+
+ [depr.c.macros] Cross-reference the C headers for deprecated macros
+
+commit be25cad169c62518e934cd3269e966091b20a4c4
+Author: A. Jiang <de34@live.cn>
+Date: Mon Jul 22 17:25:04 2024 +0800
+
+ [inplace.vector.syn] Default template argument for `erase`
+
+ The default template argument is already in [inplace.vector.erasure].
+
+commit e0fe4a30614303116dc91357ab1bb483dc98b2ca
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Mon Jul 22 00:24:26 2024 +0800
+
+ [inplace.vector.modifiers] Fix typo
+
+commit 420cff6a620498b6e6b0a4a7f0757bfa8dfb2a1c
+Author: Hewill Kang <hewillk@gmail.com>
+Date: Sun Jul 28 00:05:29 2024 +0800
+
+ [func.search.bm] Remove superfluous the (#7160)
+
+commit cf27216f6aeba4a7e1debed304303fc2e69b2d65
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Mon Jul 22 13:11:05 2024 +0800
+
+ [inplace.vector.erasure] Added missing return statement
+
+commit dc8b2d4d198a307b749832044e2819de1378ace7
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Jul 23 22:28:38 2024 -0400
+
+ [locale.ctype.general] Better cross-ref standard headers
+
+commit f181708d17038c0ebe42aff9d61e79222e5a06b0
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Fri Jul 19 20:33:06 2024 +0100
+
+ [basic.indet] Fix "errorneous" typo
+
+commit 1a15d3a3d84549687eb65a870952441c869f31a9
+Author: A. Jiang <de34@live.cn>
+Date: Sun Jul 28 07:56:03 2024 +0800
+
+ Make cross-reference more precise. (#7144)
+
+ Co-authored-by: Eelis van der Weegen <eelis@eelis.net>
+
+commit 930502061ea47c184c3b25ed623801dfa5284167
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sun Jul 28 01:57:52 2024 +0200
+
+ [temp.constr.normal] Remove duplicate "the" (#7135)
+
+commit 11e13d5d858f06ec163ece2881af642a23fe5b96
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sun Jul 28 01:58:09 2024 +0200
+
+ [diff.cpp23.expr] Remove duplicate "that" (#7134)
+
+commit 8ead4680a67cacffe82e2fd74e64df76120cb1a9
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Wed Jul 10 20:28:34 2024 +0800
+
+ [variant.visit] Add constexpr to as-variant
+
+commit 8d8861cdc944b784db14be27ce2541071288dcc5
+Author: A. Jiang <de34@live.cn>
+Date: Mon May 13 00:33:24 2024 +0800
+
+ [print.syn] Show `locking` functions in the synopsis of `<print>`
+
+commit 5c3858e09e73c49748901aceb33acc7cd86bd7de
+Author: Eelis <github.com@contacts.eelis.net>
+Date: Sun Jul 28 13:35:39 2024 +0200
+
+ [exec.snd.general] Add missing period (#7172)
+
+commit 3e87f29c42ad38e224ac6e7e75dc08220b440189
+Author: Eelis <github.com@contacts.eelis.net>
+Date: Sun Jul 28 13:37:06 2024 +0200
+
+ [out.ptr.t] Fix bullet placement for item that starts with codeblock (#7173)
+
+commit 81d85dfbee01b8fdf993fac4efeb40fb00b18144
+Author: Eelis <github.com@contacts.eelis.net>
+Date: Sun Jul 28 13:39:12 2024 +0200
+
+ [range.concat.iterator] Remove stray hyphen (#7171)
+
+commit 500b8f49f28b51c576eb671ee067efcc1bc002a9
+Author: A. Jiang <de34@live.cn>
+Date: Sun Jul 28 22:22:54 2024 +0800
+
+ [print.syn] Update `locking` to `buffered` (#7168)
+
+ The function names were changed by P3235R3.
+
+commit 9b3d01e82b03e26cf9e1fa06a582ec931ca00052
+Author: Eelis <github.com@contacts.eelis.net>
+Date: Sun Jul 28 21:16:58 2024 +0200
+
+ [execution.syn] Fix read_env name (#7169)
+
+commit 5bac031ccb4f7ce511c6e95b63b39eee2eb14c87
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sat Jul 27 00:48:42 2024 +0100
+
+ [stoptoken.general, stopsource.general] Remove DMI from stop-state member
+
+ For stoptoken::stop-state, the default-initialized value is already
+ correct, and no further "{}" initializer is needed.
+
+ For stopsource::stop-state, the DMI "{}" is never used, since the
+ constructor is explicitly specified and not defaulted.
+
+commit 917c271c926214e286f560c4a3f2aadc59dadcb7
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Sat Jul 27 00:12:22 2024 +0100
+
+ [exec.snd.general] Remove disconnected and obsolete paragraph.
+
+commit 609068d41d699b85b0677fbb206235a4bc30fd77
+Author: Eisenwave <me@eisenwave.net>
+Date: Sat Jun 8 16:13:36 2024 +0200
+
+ [array.cons] Fix various wording issues
+
+commit f8468b9606aa4db0a55f1ecde046025876c5de23
+Author: Eisenwave <me@eisenwave.net>
+Date: Sun Aug 6 21:52:00 2023 +0200
+
+ [expr.cond] itemize p4
+
+commit d9bff4abf4e4de12ef816d3e9df4ed5c6733da64
+Author: Hewill Kang <hewillk@gmail.com>
+Date: Mon Jul 29 23:31:19 2024 +0800
+
+ [coro.generator] Rename the generator's template parameter "V" to "Val" (#7129)
+
+commit aa4a13e9ea6e81e7d2ef5205de9e1f765a27bbbe
+Author: Eisenwave <me@eisenwave.net>
+Date: Sat Aug 19 13:33:10 2023 +0200
+
+ [basic.fundamental] itemize uses of void expressions
+
+commit 0711baa8bf611656aae770a6bc23b7ee96ed5811
+Author: Eisenwave <me@eisenwave.net>
+Date: Sat Aug 19 13:47:04 2023 +0200
+
+ [basic.fundamental] remove redundant void conversion wording
+
+commit 5342083f2c84f6592c455562d8a6b464d39d86ba
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Jun 17 10:55:22 2024 +0700
+
+ [cpp.pre] define, index, and consistently use the term 'logical source line'
+
+commit 56079f18c4751d4dd15fbdf7d50179d2044345f3
+Author: Casey Carter <Casey@Carter.net>
+Date: Fri Jan 12 10:35:39 2024 -0800
+
+ [structure.specifications] clarify description of Results element
+
+ The text "... the expression is an lvalue if the type is an lvalue reference type, an xvalue if the type is an rvalue reference type, and a prvalue otherwise" clearly indicates that a Result element describes the type and value category of an expression, yet we summarize it as only "a description of the type of the expression".
+
+commit 407c552023c069afc2438cd462049a323c971bb1
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Tue Jul 16 19:41:36 2024 -0400
+
+ [deque, forward.list, list, vector] Fix instances of "FooInsertable into *this"
+
+ Fixes #7133
+
+commit 4bf5bd233461b49924ea330b95698fdc43cf3636
+Author: A. Jiang <de34@live.cn>
+Date: Thu Apr 25 00:46:41 2024 +0800
+
+ [alg.replace] Fix misapplication of P2248R8 to `std::replace_copy`
+
+ Removes wrongly added default template arguments that are not present in that paper.
+
+commit d0615b3d8b991fd0cd58fbd6b75da727423cff4e
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Jul 23 22:20:27 2024 -0400
+
+ [containers] Consistently xref header synopses from General clauses
+
+commit 35904b92e4bbabd0303f8fb7cbbe3a6142639876
+Author: A. Jiang <de34@live.cn>
+Date: Sat Apr 27 00:46:29 2024 +0800
+
+ [expr.call] Say implicit object parameter instead of `this`
+
+ And correct the initialization of the implicit object parameter.
+
+commit 7f76c21f933b167d71a1ff12584911e82477454d
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Mon Jul 29 18:48:49 2024 +0100
+
+ [alg.search] Replace "the following corresponding conditions"
+
+ It's not clear which conditions correspond to each overload.
+
+commit 69ddb6ec0b50c92390391ec54b97c92ef2179869
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Mon Jul 29 21:54:11 2024 +0200
+
+ [exec.stopped.opt] Fix indefinite article (#7186)
+
+commit 4800c7b83d2fbde2c63c6811716bf62df047f5ae
+Author: Hewill Kang <hewillk@gmail.com>
+Date: Tue Jul 30 18:02:17 2024 +0800
+
+ [range.join.with.iterator] Fix typo (#7131)
+
+commit 3dba07b8277a59792430cd166192ed41e428c6f7
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Jul 30 12:03:20 2024 +0200
+
+ [exec.util.cmplsig.trans] Fix English grammar (#7188)
+
+commit f640daed4a6304ef4e2c289c6d42e754d06cd4ee
+Author: Anoop Rana <93918384+ranaanoop@users.noreply.github.com>
+Date: Thu Jul 25 19:57:36 2024 +0530
+
+ [basic.scope.scope] Replaced the term top-level reference with just reference
+
+ [basic.scope.scope] Replaced the term top-level reference with just reference in light of [this issue](https://github.com/cplusplus/CWG/issues/569)
+
+commit 54fb7eb6ada6e7a4d47c9a310675d5cf55bbd5c7
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Jul 30 16:22:02 2024 -0400
+
+ [lex.pptoken] Consistent use of preprocessing vs processing
+
+ There are three cases here all doing the same thing. Two
+ refer to preprocessing a directive, while the first refers
+ to processing without the pre.
+
+
+
diff --git a/papers/n4989.md b/papers/n4989.md
new file mode 100644
index 0000000000..6a639a8806
--- /dev/null
+++ b/papers/n4989.md
@@ -0,0 +1,428 @@
+# N4989 Editors' Report -- Programming Languages -- C++
+
+Date: 2024-08-05
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: `cxxeditor@gmail.com`
+
+## Acknowledgements
+
+Thanks to all those who have [submitted editorial
+issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
+and to those who have provided pull requests with fixes.
+
+## New papers
+
+ * [N4988](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4988.pdf) is the
+ current working draft for C++26. It replaces
+ [N4986](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4986.pdf).
+ * N4989 is this Editors' Report.
+
+## Draft approval
+
+The previous draft
+[N4986](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4986.pdf)
+was not approved at any WG21 meeting. For approval of this draft, N4988,
+please consult the previous Editors' report
+[N4987](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4987.html)
+as well as this one.
+
+## Motions incorporated into working draft
+
+### Notes on motions
+
+All passed motions from CWG and LWG motions 1 through 9 were applied in the previous draft
+[N4986](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4986.pdf).
+LWG motions 10, 11, and 12 had not yet been applied due to a lack of time,
+and are included in this draft.
+
+The full list of approved motions is included here for ease of reference.
+
+### Core working group polls
+
+**Already applied in previous draft.**
+
+CWG Poll 1. Accept as Defect Reports and apply the proposed resolutions of all issues except 2819, 2858, and 2876 in
+[P3345R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3345r0.html)
+(Core Language Working Group "ready" Issues for the June, 2024 meeting) to the C++ Working Paper.
+
+CWG Poll 2. Apply the proposed resolution of issues 2819, 2858, and 2876 in
+[P3345R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3345r0.html)
+(Core Language Working Group "ready" Issues for the June, 2024 meeting) to the C++ Working Paper.
+
+CWG Poll 3. Apply the changes in
+[P2747R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2747r2.html)
+(`constexpr` placement new) to the C++ Working Paper.
+
+CWG Poll 5. Apply the changes in
+[P3144R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3144r2.pdf)
+(Deleting a Pointer to an Incomplete Type Should be Ill-formed) to the C++ Working Paper.
+
+CWG Poll 6. Apply the changes in
+[P2963R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2963r3.pdf)
+(Ordering of constraints involving fold expressions) to the C++ Working Paper.
+
+CWG Poll 7. Apply the changes in
+[P0963R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p0963r3.html)
+(Structured binding declaration as a condition) to the C++ Working Paper.
+
+CWG Poll 4 did not have consensus.
+
+### Library working group polls
+
+**Already applied in previous draft.**
+
+LWG Poll 1. Apply the changes for all Ready and Tentatively Ready issues in
+[P3341R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3341r0.html)
+(C++ Standard Library Ready Issues to be moved in St. Louis, Jun. 2024) to the C++ working paper.
+
+LWG Poll 2. Apply the changes in
+[P2997R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2997r1.html)
+(Removing the common reference requirement from the indirectly invocable concepts) to the C++ working paper.
+
+LWG Poll 3. Apply the changes in
+[P2389R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2389r2.html)
+(`dextents` Index Type Parameter) to the C++ working paper.
+
+LWG Poll 4. Apply the changes in
+[P3168R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3168r2.html)
+(Give `std::optional` Range Support) to the C++ working paper.
+
+LWG Poll 5. Apply the changes in
+[P3217R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3217r0.html)
+(Adjoints to "Enabling list-initialization for algorithms": `find_last`) to the C++ working paper.
+
+LWG Poll 6. Apply the changes in
+[P2985R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2985r0.html)
+(A type trait for detecting virtual base classes) to the C++ working paper.
+
+LWG Poll 7. Apply the changes in
+[P0843R14](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p0843r14.html)
+(`inplace_vector`) to the C++ working paper.
+
+LWG Poll 8. Accept as a Defect Report and apply the changes in
+[P3235R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3235r3.html)
+(std::print more types faster with less memory) to the C++ working paper.
+
+LWG Poll 9. Apply the changes in
+[P2968R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2968r2.html)
+(Make std::ignore a first-class object) to the C++ working paper.
+
+**Newly applied in this draft:**
+
+LWG Poll 10. Apply the changes in
+[P2075R6](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2075r6.pdf)
+(Philox as an extension of the C++ RNG engines) to the C++ working paper.
+
+LWG Poll 11. Apply the changes in
+[P2422R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2422r1.html)
+(Remove nodiscard annotations from the standard library specification) to the C++ working paper.
+
+LWG Poll 12. Apply the changes in
+[P2300R10](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2300r10.html)
+(std::execution) to the C++ working paper.
+
+## Editorial changes
+
+### Major editorial changes
+
+There were no major editorial changes.
+
+### Minor editorial changes
+
+A log of editorial fixes made to the working draft since N4986 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](https://github.com/cplusplus/draft/compare/n4986...n4988).
+
+ commit a52859fad0d3bc56ec941fc287d5cebc0fd080dc
+ Author: Thomas Köppe Date: 2024-10-16
+ +Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
Email: cxxeditor@gmail.com
Thanks to all those who have submitted editorial +issues +and to those who have provided pull requests with fixes.
+ +The previous drafts +N4986 +and +N4988 +were not approved at any WG21 meeting. For approval of this draft, N4993, +please consult the previous Editors' reports +N4987 +and +N4989 +as well as this one.
+ +There have been no new, approved WG21 motions. +This revision contains only editorial changes.
+ +A few of the editorial changes fix mistakes in our LaTeX sources that were +reported to us by the ISO secretariat during the ongoing publication of C++23.
+ +For this revision, we have reorganised several clauses and subclauses. +As a reminder: the editorial team aims to perform only one major reorganisation +that changes top-level clause numbers per C++ revision, and this is it for C++26.
+ +The changes create a new clause "Text processing library [text]
" that collects
+formatting, conversions, locales, regular expressions, and text-related C library
+facilities. Clauses are rearranged as:
[algorithms]
[strings]
[text]
[numerics]
[time]
[input.output]
The new [text]
clause obtains the following contents:
[charconv]
, from [utilities]
[format]
, from [utilities]
[text.encoding]
, extracted from [localization]
[localization]
[re]
[cctype.syn]
, [cwctype.syn]
, [cwchar.syn]
, [cuchar.syn]
, and [c.mb.wcs]
Additionally, the following subclauses are moved:
+ +[debugging]
from [utilities]
to the end of [diagnostics]
[execpol]
from [utilities]
to the end of [algorithms.parallel]
type_index
[type.index]
from [utilities]
to [support.rtti]
This removes a number of unrelated clauses from the large [utilities]
clause.
Finally, we spread the synopses in [containers]
out to appear right in front
+of the classes they define.
A log of editorial fixes made to the working draft since N4988 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 15a43d522467d389bd9340081d65dbf17d44d255
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Mon Aug 5 12:21:56 2024 +0100
+
+ [temp.over.link] Reword to clarify that declarations correspond (#5999)
+
+commit 3c0f4cf0a03892157ebf3a472d3e9450a41f038e
+Author: Lewis Baker <lewissbaker@users.noreply.github.com>
+Date: Sun Aug 4 09:26:26 2024 +0930
+
+ [snd.expos] Fix typo in definition of SCHED-ENV exposition-only helper
+
+ Change `o1` -> `o2` to reference the expression declared as part of the definition of `SCHED-ENV`.
+
+commit 5056b86597f5ba9278601db46a415f2d76e1bc8f
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Aug 2 17:38:05 2024 +0200
+
+ [temp.constr.order] Reflect fold expanded constraints in footnotes
+
+commit c92bc384b118412322f9893832508bf17f46f644
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Aug 1 12:35:50 2024 +0200
+
+ [dcl.fct] Fix obsolete phrasing when defining 'function type'
+
+commit fabbff2d812e0a99bd1162460812ec2f5399636e
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Thu Aug 8 17:15:39 2024 -0400
+
+ [sequences] Consistent comma in "If X, there are no effects" (#7139)
+
+commit 04c5a0c509dbf8f9f81223d1de5bb917cd3074c5
+Author: Hana Dusíková <hanicka@hanicka.net>
+Date: Tue Aug 20 12:21:43 2024 +0200
+
+ [meta.const.eval] Fix function declaration in example (#7234)
+
+commit ab4c0663dc72f09fb8ef6c366352c9d1a68e8fa9
+Author: Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>
+Date: Fri Aug 23 22:06:05 2024 +0400
+
+ [expr.prim.lambda.capture] Incorporate ellipsis into "captured by copy" definition
+
+commit 6ea6df4c96653d6696bb0133253ea0159b0f278f
+Author: Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>
+Date: Sat Aug 24 23:24:01 2024 +0400
+
+ [dcl.type.elab] Remove redundant full stop (#7242)
+
+commit 24ceda755967b022e8e089d4f0cdcf4bc99a4adb
+Author: Hewill Kang <hewillk@gmail.com>
+Date: Mon Aug 26 18:29:28 2024 +0800
+
+ [exec.snd.apply,exec.schedule.from] Properly mark "see below" (#7210)
+
+commit 447b6291061d50a582f72dd42d9d6265857ded5c
+Author: Joachim Wuttke <j.wuttke@fz-juelich.de>
+Date: Mon Aug 26 22:30:39 2024 +0200
+
+ [numerics] Correct typo Bessell -> Bessel (#7244)
+
+commit db0ca108a9b44ef8f06338ecf68f1e4653be4267
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Thu Aug 29 06:13:18 2024 -0400
+
+ [inplace.vector] Fix some spelling/grammar issues (#7243)
+
+commit 21e477fb6dbfa7813eb2263bfa31c748bdce589b
+Author: Casey Carter <Casey@Carter.net>
+Date: Fri Aug 30 05:07:36 2024 -0700
+
+ [lib] Remove `inline` from variable templates (#7240)
+
+commit c001805bb769fe237034151d59ddd20835a17298
+Author: A. Jiang <de34@live.cn>
+Date: Fri Aug 30 20:52:00 2024 +0800
+
+ [lib] Remove `friend class X` (#6427)
+
+ Friendship between library classes is considered an implementation detail.
+
+commit 1fafde9a04a3760debb932839791b1d2047ba432
+Author: A. Jiang <de34@live.cn>
+Date: Fri Aug 30 20:52:49 2024 +0800
+
+ [fs.class.directory.entry.general] Remove superfluous "unneeded" (#7245)
+
+commit e010cf6cde64a498c2bc4291e7e79e66e8ace79a
+Author: Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>
+Date: Fri Aug 23 21:03:51 2024 +0400
+
+ [basic.scope.scope] Fix a note about declarations that do not bind names
+
+ The note is saying that declarations of qualified names do not bind names, but this is not supported by normative wording in [dcl.meaning]
+
+commit 36a1f39068e71d69e4ca534c5b72891055675e88
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Wed Sep 4 10:23:14 2024 -0400
+
+ [forward.list] Replace misplaced comma with period (#7246)
+
+commit f23059bf704a48b4805db28441ec73b61054ab9d
+Author: A. Jiang <de34@live.cn>
+Date: Thu Sep 5 00:03:56 2024 +0800
+
+ [optional.syn] Use `decay_t<T>` directly instead of "see below" (#7247)
+
+commit 9d9a3777f1a571dd2648023fe70848c32aebda09
+Author: Casey Carter <Casey@Carter.net>
+Date: Sun Sep 8 12:13:53 2024 -0700
+
+ [associative.reqmts.general,unord.req.general] Fix cross-references to [container.alloc.reqmts] and [container.reqmts] (#7249)
+
+ Both paragraphs incorrectly point to [container.reqmts] instead of [container.alloc.reqmts] for "the requirements of an allocator-aware container".
+
+commit d930c5fa6728dd0b599f9c7918a2f0a0f747aaa2
+Author: Jan Schultke <me@eisenwave.net>
+Date: Mon Sep 16 20:35:33 2024 +0200
+
+ [expr.delete] Remove stray "the" between words (#7253)
+
+commit 9243ba5befaea8fd3e878e6114942db8d556a6e0
+Author: Steve Downey <sdowney@gmail.com>
+Date: Tue Sep 17 06:13:18 2024 -0400
+
+ [optional.assign] Use itemized list for operator=(U&& v) constraints (#7255)
+
+commit 4930897a2a45fa57fd9d766a24229a9e3f14f23e
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Aug 21 13:58:22 2021 +0200
+
+ [dcl.spec.general,dcl.fct.spec] Clarify duplication of decl-specifiers
+
+commit d0c00bf629f4b91d19176c2397aa3ff7c1c0ce63
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Sep 26 18:49:15 2024 +0200
+
+ [tab:lex.charset.literal] Shorten table heading
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 945b1c071ed511d11a2152aa70e08290f91a7856
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Sep 26 19:11:58 2024 +0200
+
+ [tab:re.matchflag] Shorten table heading
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 4e34492bc7279fedb0e066f4925860e686fa81dc
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Sep 26 19:43:50 2024 +0200
+
+ [rand.req] Fix table headers for longtable continued on following page
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 2b1e6d2952987bf4ada8275212a7bb297bb0c1c7
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Sep 26 20:19:01 2024 +0200
+
+ [macros] Fix duplicate vertical lines visible in tables in [optional.assign]
+
+ Fixes ISO/CS comment (C++23 proof)
+
+commit 0680a08ee677e0970b4460fd614f58b122845047
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu Sep 26 21:59:34 2024 +0100
+
+ [ios.init] Remove unused Init::init_cnt static member (#7263)
+
+ The text that made use of this variable was removed by LWG1123 and has
+ not been present in the WP since N3090. The effects of Init construction
+ and destruction are specified entirely without the use of this variable,
+ so it serves no purpose now.
+
+commit afdd158f555892507bc44c6d372c3b45a7f09832
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Sep 27 00:09:11 2024 +0200
+
+ [styles] Format title of \codeblocktu using 'caption' package
+
+ This restores the C++20 status of the formatting.
+
+commit 2b3e09e2cc773b7205310917c5a6b2bdd87340af
+Author: Casey Carter <Casey@Carter.net>
+Date: Tue Oct 1 03:22:29 2024 -0700
+
+ [inplace.vector.cons] "Constructs an object" is redundant (#7252)
+
+commit 70954edf0b2c915d9b2ca4a1cff99b1c1cba2089
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Oct 1 23:09:04 2024 -0400
+
+ [depr.lit] Fix grammar according to P2361R6
+
+ P2361R6 introduced the notion of unevaluated strings, and
+ updated the grammar for literal operator function accodingly.
+ Unfortunely, the corresponding grammar reference that was
+ deprecated was not similarly updated.
+
+commit 08b167d5476c9fd02a7a0484ae031cb358a99ddf
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Sat Oct 5 22:24:02 2024 +0100
+
+ [priqueue.cons.alloc] Add missing initialization for comp (#7291)
+
+ This is consistent with p2 and p8 which also value-initialize it.
+
+commit 738b14f990e0575a3ca63b579d87edb5a6133ffb
+Author: Casey Carter <Casey@Carter.net>
+Date: Sat Oct 5 15:03:04 2024 -0700
+
+ [array.creation] Clarify "Mandates" for `to_array` overloads (#7286)
+
+ It's confusing that these `to_array` overloads require `T` to be constructible from various types, when they actually construct `remove_cv_t<T>` objects. We experts know that initialization doesn't depend on the cv-qualification of the target type ([dcl.init.general]/16), but there's no need to make readers jump through hoops to understand the spec.
+
+commit d5c9f2d248860e8e7de78f595b93a8b01c7e02c8
+Author: Lewis Baker <lewissbaker@users.noreply.github.com>
+Date: Tue Oct 8 21:07:48 2024 +1030
+
+ [exec.split,exec.when.all] Fix typo stop_callback_of_t -> stop_callback_for_t (#7295)
+
+commit 58c01ba5765e8c91ce4aab462d25247167a7e481
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Oct 8 11:38:42 2024 +0100
+
+ [re.grammar] Add missing backslash to UnicodeEscapeSequence example (#7290)
+
+commit ebef68dd9f1c3bccfe06d14eb83c05a7a35dcec3
+Author: Lewis Baker <lewissbaker@users.noreply.github.com>
+Date: Tue Oct 8 22:06:23 2024 +1030
+
+ [exec.just] Add missing LaTeX escape for product-type construction (#7216)
+
+commit 7ea8f59e19842e720360f15b64c2199ea27641ac
+Author: A. Jiang <de34@live.cn>
+Date: Thu Oct 10 17:53:54 2024 +0800
+
+ [mutex.syn] Add missing ',' for consistency
+
+commit 7c6322a59e3359c5002357831328b25939cd5383
+Author: Lewis Baker <lewissbaker@users.noreply.github.com>
+Date: Sun Oct 13 04:07:30 2024 +1030
+
+ [stoptoken.concepts] Remove redundant 'swappable<Token>' clause from 'stoppable_token' concept (#7299)
+
+ The `stoppable_token<Token>` concept requires both `copyable<Token>` and `swappable<Token>`. However, the `copyable<Token>` requirement already subsumes `movable<Token>`, which subsumes `swappable<Token>`.
+
+ Therefore the requirement for `swappable<Token>` can be removed from the `stoppable_token` concept definition with no semantic change.
+
+commit 9bf42221ab5a52ef10cb980a22e8a9617dbbf18b
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sat Oct 12 22:39:57 2024 +0200
+
+ [rcu.syn] Add missing ',' in comment (#7301)
+
+commit a0411db859cf1eabc2be24a5d2add4eaf288dac5
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon Oct 14 12:30:30 2024 +0200
+
+ [expr.const] Add paragraph number for general example
+
+commit 3982d5d5758df949e3c2e0174c72758189be6f2e
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Oct 14 08:54:22 2024 -0400
+
+ [except.ctor] Retitle subclause as 'stack unwinding' (#7282)
+
+ The purpose of this subclause is to define stack unwinding,
+ which in specified in terms of the lifetime of objects, not
+ just class types. Hence, while much of the text is addressing
+ interactions with contructors and destructors (the original
+ subclause title) it does more than just that.
+
+commit 4eb30d3d618ef44ae3925a1a62090bbbbfe8cabf
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Oct 16 07:39:15 2024 -0400
+
+ [cpp.subst] change "proprocessing file" to "translation unit" (#7293)
+
+ The term 'preprocessing translation unit' is defined in [lex.separate]
+ while the term 'preprocessing file' is never defined, and is
+ not used anywhere else in the standard. Prefer to use the
+ specified term, as it reasonably covers this case.
+
+commit 40228c690cb8d2ac27bd54bdddeabe425bd022b2
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Oct 16 07:40:20 2024 -0400
+
+ [cpp.import] Change "directive" to "definition" in "active macro directive" (#7292)
+
+ The term 'active macro directive' is defined in p6, but never used.
+ Meanwhile, there are multiple uses of 'active macro definition' but
+ that term is never defined, including in the very sentence following
+ the definition of the unused term, and in other clauses that
+ cross-reference to this clause for their definition.
+
+commit 47da0e8b88bf1aa20aa474edf04a6d29e70b7563
+Author: Anders Schau Knatten <anders@knatten.org>
+Date: Wed Oct 16 13:41:26 2024 +0200
+
+ [over.oper.general] Change "basic type" to "fundamental type" (#7287)
+
+ The term "basic type" is used twice in this note but it's never defined anywhere, nor used.
+
+commit 7fe7519a5af674cd914344c650529f743fd92fc2
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Oct 1 22:13:53 2024 -0400
+
+ [except.handle] Remove confusing comparison to variadic functions
+
+ The analogy that the ellipsis in an exception handler was similar to an
+ ellipsis in a function declaration may have made sense at one time, but
+ the comparison with a syntax using a macro based API calling 'va_arg'
+ to access its contents --- something that is not possible for an
+ exception handler --- seems more confusing than helpful today.
+
+commit d225f51f8cb799fb014cb73beb7dcccc044392cc
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Aug 20 11:58:24 2024 +0100
+
+ [text.encoding.aliases] Add note about what isn't required
+
+ Make it explicit that `copyable` is intended, rather than `semiregular`,
+ and that the return types of `begin()` and `end()` can differ.
+
+ Also remove a FIXME comment for something that doesn't need fixing.
+ These requirements on a type are specified in our usual form, it would
+ be wrong to use _Remarks_: or _Requires_: here.
+
+commit 6338d95ae620f5e4d37d27a39a40f9de9af37b77
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Oct 16 08:47:02 2024 -0400
+
+ [lex.charset] Introduce parent subclause [lex.char] for character sets and UCNs (#7067)
+
+ The grammar for universal-character-name is oddly sandwiched into the
+ middle of the subclause talking about the different character sets used
+ by the standard. To improve the flow, extract that grammar into its own
+ subclause.
+
+ In the extraction, I make three other clarifying changes. First, describe
+ this new subclause as 'a way to name any element of the of the translation
+ character set using just the basic character set' rather than simply
+ 'a way to name other characters'. Then, merge the sentence on where universal
+ characters are prohibited into the new intro sentence describing universal
+ characters, to make clear that there is no contradiction between nominating
+ a character, and how that character can be used. Finally, remove the 'one of'
+ in the grammar where there is only one option to choose.
+
+commit 9b6b757f34bf4a1eeb6a66481a444b83f1ee5770
+Author: Matthias Kretz <m.kretz@gsi.de>
+Date: Thu Sep 12 21:41:02 2024 +0200
+
+ [sf.cmath.assoc.laguerre,sf.cmath.assoc.legendre] Add reference to eq
+
+ The associated Laguerre/Legendre functions build on the
+ Laguerre/Legendre functions, which are defined in different equations.
+ Point to them from the associated functions.
+
+ Also use the correct \ell as used in the formula.
+
+commit 0456a32e41772b0a68b4055fb4e6533cb64e0e3d
+Author: Yihe Li <winmikedows@hotmail.com>
+Date: Thu Sep 5 23:59:58 2024 +0800
+
+ [utility.syn, flat.map.defn] Remove all [[nodiscard]] from library wording
+
+commit 8b2c7fc3c58bd109c82a016ee2cc5b691bdcd853
+Author: Eisenwave <me@eisenwave.net>
+Date: Mon Jun 10 23:22:04 2024 +0200
+
+ [expr.new] Extend example for new-expressions with zero size arrays
+
+commit fb34daf31b53389cc35b3f5f65a69785fc6dd1de
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Jul 23 22:32:52 2024 -0400
+
+ [char.traits] Better cross-reference several headers
+
+commit 220cb742e8056ad033ad8dce5630d7d3acaa4c7d
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 16 15:37:39 2024 +0100
+
+ [debugging] Move [debugging] to the end of Clause [diagnostics]
+
+ Part of the C++26 clause restructuring (#5315).
+
+commit 7a2dafa6b4cca842e264bfd544b69452fb448c39
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 16 15:43:39 2024 +0100
+
+ [execpol] Move [execpol] to the end of subclause [algorithms.parallel]
+
+ Part of the C++26 clause restructuring (#5315).
+
+commit 93e2e1c6bcf5e9c3e551d964978e8bf241c392a4
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 16 15:52:54 2024 +0100
+
+ [type.index] Move [type.index] into subclause [support.rtti]
+
+ The subclause is integrated into the structure of [support.rtti],
+ meaning that the synopsis becomes a sibling of the rest, and the
+ subdivisions of the remaining text are removed (in analogy with
+ [type.info]).
+
+ Part of the C++26 clause restructuring (#5315).
+
+commit cdb120a4aee270f4e6e40dd7b07885c70651224e
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 16 17:25:51 2024 +0100
+
+ [containers] Move synopses right in front of the classes they define
+
+ Part of the C++26 clause restructuring (#5315).
+
+commit b7e389c9feca4839f77ad60985f509e01f96a399
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 16 15:27:06 2024 +0100
+
+ [std] Reorder clauses: [algorithm], [strings]
+
+ Part of the C++26 clause restructuring (#5315).
+
+commit 5512050c2db44d87566d25ce4f70b530624cb330
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 16 15:36:47 2024 +0100
+
+ [std] Create new top-level Clause [text], following [strings]
+
+ Part of the C++26 clause restructuring (#5315).
+
+commit fc6f670832980fc7b8219cb6945592cbe45d9239
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 16 19:01:21 2024 +0100
+
+ [text, re] Move [re] into [text]
+
+ Part of the C++26 clause restructuring (#5315).
+
+commit 5d106373aada591874ab5e38301502b3012e0502
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 16 19:06:03 2024 +0100
+
+ [text, localization] Move [localization] into [text]
+
+ The subclause [text.encodings] is extracted and elevated to a sibling
+ subclause of [localization].
+
+ Part of the C++26 clause restructuring (#5315).
+
+commit 804846a56f7e73dafe4ebd621fa81097d2e94603
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 16 20:15:42 2024 +0100
+
+ [charconv, format] Move [charconv], [format] to [text]
+
+ Part of the C++26 clause restructuring (#5315).
+
+commit 4b1a9a76c29c31cc3f679a8bdb1603842baf3501
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 16 20:31:33 2024 +0100
+
+ [text, c.strings] Move text-related parts of [c.strings] to [text]
+
+ The text-related subclauses [cctype.syn], [cwctype.syn], [cwchar.syn],
+ [cuchar.syn], and [c.mb.wcs] are moved to a new subclause [text.c.strings].
+
+ Part of the C++26 clause restructuring (#5226, #5315).
+
+commit 8003b627a7e336c2e9f350a3bb1ad395ec7c1cc7
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Wed Oct 16 19:41:35 2024 +0000
+
+ [expr, temp.arg.nontype] Use 'pointer to' instead of 'address of' (#6174)
+
+ Specifically, in:
+ * [expr.prim.lambda.closure]p8, p11
+ * [expr.const]p13.3
+ * [temp.arg.nontype]p3
+
+commit 198e991fed47efcd8b7fe1ad98ecde4d8722a201
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Oct 2 15:55:49 2024 -0400
+
+ [except.handle] group all paragraphs on searching for handler
+
+ This commit moves all of the paragraphs involved in the search for a
+ handler for an exception into a single logical sequence.
+
+ After this change, [except.spec] deals only with specifying the
+ 'noexcept' function decorator and its interaction with the
+ 'noexcept' operator, and contains no text regarding exceptions
+ themselves. It might be appropriate to move that subclause into
+ the [dcl] structure at a future date.
+
+
+
diff --git a/papers/n4994.md b/papers/n4994.md
new file mode 100644
index 0000000000..223aaa59bd
--- /dev/null
+++ b/papers/n4994.md
@@ -0,0 +1,590 @@
+# N4994 Editors' Report -- Programming Languages -- C++
+
+Date: 2024-10-16
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: `cxxeditor@gmail.com`
+
+## Acknowledgements
+
+Thanks to all those who have [submitted editorial
+issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
+and to those who have provided pull requests with fixes.
+
+## New papers
+
+ * [N4993](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4993.pdf) is the
+ current working draft for C++26. It replaces
+ [N4988](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4988.pdf).
+ * N4994 is this Editors' Report.
+
+## Draft approval
+
+The previous drafts
+[N4986](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4986.pdf)
+and
+[N4988](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4988.pdf)
+were not approved at any WG21 meeting. For approval of this draft, N4993,
+please consult the previous Editors' reports
+[N4987](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4987.html)
+and
+[N4989](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4989.html)
+as well as this one.
+
+## No motions
+
+There have been no new, approved WG21 motions.
+This revision contains only editorial changes.
+
+A few of the editorial changes fix mistakes in our LaTeX sources that were
+reported to us by the ISO secretariat during the ongoing publication of C++23.
+
+## Editorial changes
+
+### Major editorial changes
+
+For this revision, we have reorganised several clauses and subclauses.
+As a reminder: the editorial team aims to perform only one major reorganisation
+that changes top-level clause numbers per C++ revision, and this is it for C++26.
+
+The changes create a new clause "Text processing library `[text]`" that collects
+formatting, conversions, locales, regular expressions, and text-related C library
+facilities. Clauses are rearranged as:
+
+ * Algorithms library `[algorithms]`
+ * Strings library `[strings]`
+ * Text processing library `[text]`
+ * Numerics library `[numerics]`
+ * Time library `[time]`
+ * Input/output library `[input.output]`
+
+The new `[text]` clause obtains the following contents:
+
+ * Primitive numeric conversions `[charconv]`, from `[utilities]`
+ * Formatting `[format]`, from `[utilities]`
+ * Text encodings identification `[text.encoding]`, extracted from `[localization]`
+ * Localization library `[localization]`
+ * Regular expressions library `[re]`
+ * C library facilities `[cctype.syn]`, `[cwctype.syn]`, `[cwchar.syn]`, `[cuchar.syn]`, and `[c.mb.wcs]`
+
+Additionally, the following subclauses are moved:
+
+* Debugging `[debugging]` from `[utilities]` to the end of `[diagnostics]`
+* Execution policies `[execpol]` from `[utilities]` to the end of `[algorithms.parallel]`
+* Class `type_index` `[type.index]` from `[utilities]` to `[support.rtti]`
+
+This removes a number of unrelated clauses from the large `[utilities]` clause.
+
+Finally, we spread the synopses in `[containers]` out to appear right in front
+of the classes they define.
+
+### Minor editorial changes
+
+A log of editorial fixes made to the working draft since N4988 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](https://github.com/cplusplus/draft/compare/n4988...n4993).
+
+ commit 15a43d522467d389bd9340081d65dbf17d44d255
+ Author: Thomas Köppe Date: 2024-12-17
+ +Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
Email: cxxeditor@gmail.com
Thanks to all those who have submitted editorial +issues +and to those who have provided pull requests with fixes. +Special thanks to Andreas Krug for many timely editorial fixes.
+ +CWG Poll 9 was retracted.
+ +Two LWG Polls, Poll 5 (P0472R2) and Poll 17 (P3019R11) have not been applied and +are being sent back to WG21 for clarification. We expect to see revisions to be +approved at the next meeting:
+ +LWG Poll 5 accidentally polled for the obsolete revision P0472R2 instead of the +intended P0472R3. It is sent back due to unclear intentions, with a request for +WG21 to clarify, and the expectation that R3 will be approved.
LWG Poll 17 caused technical discussion after the meeting, in which some +oversights were observed. The paper authors and the LWG chair agreed that +further LWG review would be in everybody's best interest. The poll is sent back +due to unclear specification, with a request for WG21 to produce a revision, +which we expect to be approved at the next meeting.
In CWG Poll 1, issue CWG1965 contains no wording changes since it is subsumed by CWG2879.
+ +CWG Poll 1. Accept as Defect Reports and apply the proposed resolutions of all issues in +P3524R0 +(Core Language Working Group "ready" Issues for the November, 2024 meeting) to the C++ Working Paper.
+ +CWG Poll 2. Apply the changes in +P3340R0 +(A Consistent Grammar for Sequences) to the C++ Working Paper.
+ +CWG Poll 3. Apply the changes in +P2686R5 +(constexpr structured bindings and references to constexpr variables) to the C++ Working Paper.
+ +CWG Poll 4. Apply the changes in +P3068R6 +(Allowing exception throwing in constant-evaluation) to the C++ Working Paper.
+ +CWG Poll 5. Apply the changes in +P3247R2 +(Deprecate the notion of trivial types) to the C++ Working Paper.
+ +CWG Poll 6. Apply the changes in +P2865R6 +(Remove Deprecated Array Comparisons from C++26) to the C++ Working Paper.
+ +CWG Poll 7. Apply the changes in +P1061R10 +(Structured Bindings can introduce a Pack) to the C++ Working Paper.
+ +CWG Poll 8. Apply the changes in +P3176R1 +(The Oxford variadic comma) to the C++ Working Paper.
+ +CWG Poll 9 was retracted.
+ +LWG Poll 1. Apply the changes for all Ready and Tentatively Ready issues in +P3504R0 +(C++ Standard Library Ready Issues to be moved in Wrocław, Nov. 2024) to the C++ working paper.
+ +LWG Poll 2. Apply the changes in +P3136R1 +(Retiring niebloids) to the C++ working paper.
+ +LWG Poll 3. Apply the changes in
+P3138R5
+(views::cache_latest
) to the C++ working paper.
LWG Poll 4. Apply the changes in
+P3379R0
+(Constrain std::expected
equality operators) to the C++ working paper.
LWG Poll 5 was sent back (see above).
+ +LWG Poll 6. Apply the changes in
+P2862R1
+(text_encoding::name()
should never return null values) to the C++ working paper.
LWG Poll 7. Apply the changes in
+P2897R7
+(aligned_accessor
: An mdspan
accessor expressing pointer over-alignment) to the C++ working paper.
LWG Poll 8. Apply the changes in
+P3355R1
+(Fix submdspan
for C++26) to the C++ working paper.
LWG Poll 9. Apply the changes in +P3222R0 +(Fix C++26 by adding transposed special cases for P2642 layouts) to the C++ working paper.
+ +LWG Poll 10. Apply the changes in
+P3050R2
+(Fix C++26 by optimizing linalg::conjugated
for noncomplex value types) to the C++ working paper.
LWG Poll 11. Apply the changes in
+P3396R1
+(std::execution
wording fixes) to the C++ working paper.
LWG Poll 12. Apply the changes in
+P2835R7
+(Expose std::atomic_ref
's object address) to the C++ working paper.
LWG Poll 13. Apply the changes in
+P3323R1
+(cv-qualified types in atomic
and atomic_ref
) to the C++ working paper.
LWG Poll 14. Apply the changes in
+P3508R0
+(Wording for "constexpr for specialized memory algorithms") and
+P3369R0
+(constexpr
for uninitialized_default_construct
) to the C++ working paper.
LWG Poll 15. Apply the changes in +P3370R1 +(Add new library headers from C23) to the C++ working paper.
+ +LWG Poll 16. Apply the changes in
+P3309R3
+(constexpr atomic
and atomic_ref
) to the C++ working paper.
LWG Poll 17 was sent back (see above).
+ +LWG Poll 18. Apply the changes in
+P1928R15
+(std::simd
— merge data-parallel types from the Parallelism TS 2) to the C++ working paper.
LWG Poll 19. Apply the changes in +P3325R5 +(A Utility for Creating Execution Environments) to the C++ working paper.
+ +There have not been any major editorial changes.
+ +A log of editorial fixes made to the working draft since N4993 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 e9604bcd3d8325860a4db9d02c4f90d0ae70162e
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Wed Oct 16 21:12:40 2024 +0100
+
+ [depr.format.syn] Fix header reference
+
+commit 0b296da823e7af4a987a0a870ae299420b9ae502
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Thu Oct 17 00:39:04 2024 +0100
+
+ [{localization,re}.general] Change "This Clause" to "Subclause".
+
+ These subclauses are no longer top-level clauses.
+
+commit 629e10e2f4177dd24d513be71f2203de325a7e8a
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Thu Oct 17 08:57:39 2024 +0200
+
+ [inplace.vector.overview] Add missing ',' in comment
+
+commit 726e07a3a99a87f5e89dd40a064f4a6bc84ed3ce
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Thu Oct 17 08:25:55 2024 +0200
+
+ [cpp.subst] Fix typo
+
+commit 88b2b8dcbd145782cfab61e6dad9296c9294593d
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed Oct 16 22:58:07 2024 +0200
+
+ [exec.domain.default] Add missing \pnum
+
+commit 8698ea48e40acc2e18630e799bbb23c41b9344e6
+Author: James Touton <bekenn@gmail.com>
+Date: Mon Sep 16 21:47:30 2024 -0700
+
+ [over.match.best.general] Minor formatting fixes
+
+commit 7ad39cbf374764a4e232f967e01541419230fedc
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Thu Oct 17 11:16:28 2024 -0400
+
+ [lex.comment] Move the subclause earlier, to where it better fits
+
+ Comments should fit betweem character sets (to define the basic source
+ character set) and preprocessor tokens, that must already understand
+ comments in order to treat them as whitespace.
+
+commit 7f7170cc9b96e9cc76bc0b765837978856936ab1
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Sat Oct 5 16:21:15 2024 -0400
+
+ [depr] Reorder clauses by origin of deprecation
+
+ Reorders the deprecated features annex to follow the order
+ of the main clauses that the deprecates feature refers to.
+ Where multiple clauses are references, use the one named by
+ the [depr.XXX] stable label.
+
+commit cd21b72788d9066f79f31fb6c4516481dfbb4925
+Author: Hewill Kang <hewillk@gmail.com>
+Date: Fri Oct 18 03:55:20 2024 +0800
+
+ [range.concat.iterator] Remove redundant \expos comments (#6942)
+
+commit 801fb2c0aaf6693a06a9a9e38871bae9536dc194
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Thu Oct 17 17:05:47 2024 -0400
+
+ [lex] Reorder subclauses to better follow phases of translation
+
+ This PR purely moves existing words around, and does not create any new content.
+
+ The proposed subclause ordering is now:
+
+ * 5 Lexical convensions
+ - 5.1 Separate translation
+ - 5.2 Phases of translation
+ - 5.3 Characters
+ - 5.3.1 Character sets
+ - 5.3.2 Universal character names
+ - 5.4 Comments
+ - 5.5 Preprocessing tokens
+ - 5.6 Header names
+ - 5.7 Preprocessing numbers
+ - 5.8 Operators and punctuators
+ - 5.9 Alternative tokens
+ - 5.10 Tokens
+ - 5.11 Identifiers
+ - 5.12 Keywords
+ - 5.13 Literals
+ - 5.13.1 Kinds of literals
+ - 5.13.2 ...
+
+commit 49113a4a577b8d6aed7e5321f0c1fe68d0bd6480
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Oct 18 08:28:28 2024 +0200
+
+ [library.general] Adjust library overview for recent clause restructuring
+
+commit a470ff890be232b9e2a15e44c406ef72c7d816c2
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sat Oct 19 11:31:59 2024 +0200
+
+ [lex.pptoken] Fix indefinitive article for consistency (#7324)
+
+commit 92594a81f021e76dce6acf7ea5d8176350a1e3fb
+Author: Eelis van der Weegen <eelis@eelis.net>
+Date: Wed Mar 13 21:04:43 2019 +0100
+
+ [temp.deduct.call] Include surrounding code in math formula
+
+commit 0451d08aefd5318254d7d204ad45700aa4d5a2e7
+Author: A. Jiang <de34@live.cn>
+Date: Mon Oct 21 19:45:10 2024 +0800
+
+ [specialized.algorithms.general] Restore the note for potentially-overlapping objects and undefined behavior (#7326)
+
+ The original note was incorrect and removed (see #6157). But it turns out
+ that _some_ note is still helpful. This PR tries to find the right way to
+ describe storage reusing and potential subsequent undefined behavior.
+
+commit f6b7ef3f1c6e483d97ad5a4f86b3efed38b74c99
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Sat Oct 19 11:41:35 2024 -0400
+
+ [lex.phases] Add crossreferences from phases 3 and 4
+
+ The phases of translation use forward references to the rest
+ of the standard well, but phases 3 and 4 almost entirely lack
+ such crossreferences, despite doing significant work in the
+ process of translating a file.
+
+commit a69507a54e67ae91424d9c621a9cb57ef3ba1512
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon Oct 21 17:48:09 2024 +0200
+
+ [locale.codecvt.virtuals] Fix garbled sentence
+
+commit e0576ed2411f36b0ba648afbf6953a0c72c9effb
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Oct 21 13:09:51 2024 -0400
+
+ [compliance] Sort the freestanding headers after clause reorganization
+
+commit b0135f256e40d45faf1d1ac2aaa3abbda36a17c3
+Author: timsong-cpp <rs2740@gmail.com>
+Date: Tue Oct 22 02:14:47 2024 -0500
+
+ [exec.awaitables] Add missing word (#7340)
+
+commit eb9872aedc581e82e804c0fe8ca7d478ba066b17
+Author: Jan Schultke <me@eisenwave.net>
+Date: Tue Oct 22 12:09:22 2024 +0200
+
+ [func.wrap.func.con] Fix ill-formed postcondition (#7341)
+
+commit ced2c3866cb3d410c812fa3c359058d185aec329
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Oct 23 13:47:18 2024 -0400
+
+ [allocator.requirements.general] Remove redundant template syntax (#5872)
+
+commit e70d9d6b901457cae9f4f596393f4bf7cee4591a
+Author: Eisenwave <me@eisenwave.net>
+Date: Mon Oct 21 20:29:10 2024 +0200
+
+ [intro.races] Clarify conflicts for the case where no bits are changed
+
+commit 6ba0dc9b2bf4c3cebc51154e4d543eafb41a8064
+Author: Eisenwave <me@eisenwave.net>
+Date: Sun Aug 20 00:52:57 2023 +0200
+
+ [intro.memory] remove stray definitions
+
+commit 9dc7b3f30d2971ccb3bb38483a7cdb62065a2c3c
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Oct 22 17:12:25 2024 -0400
+
+ [basic.stc.inherit] Dissolve paragraph into [...general]
+
+ The whole subclause [basic.stc.inherit] is a single sentence that
+ belongs adjacent to the material in [basic.std.general] that
+ specifies how entities acquire a storage duration, wheras all the
+ remaining subclauses below [basic.stc] describe specific storage
+ durations. Folding that sentence directly into the general clause
+ is even clearer.
+
+commit d5174d561b61304118cdf1042c5697ec6083c181
+Author: Jan Schultke <me@eisenwave.net>
+Date: Thu Oct 24 09:03:57 2024 +0200
+
+ [basic.link] Add commas between coordinate subclauses (#7342)
+
+commit 8ab0745b6099fd56288763e57ca47dee099db7cb
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Oct 25 10:53:22 2024 +0200
+
+ [bit.cast] change "behaviour" to "behavior" (#7353)
+
+commit 95d491ed6ca7817423855be4f90b61094a1b4312
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sat Oct 26 15:52:55 2024 +0200
+
+ [associative.reqmts.general] Fix punctuation (#7354)
+
+commit 3eb8c47d8f2fe050e221b5d4c36189d965273b37
+Author: Jan Schultke <me@eisenwave.net>
+Date: Sat Oct 26 16:00:12 2024 +0200
+
+ [basic.compound] Add comma to run-on sentence (#7348)
+
+commit 84af20dcd1976a8982d4418756d1ec9728306580
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sun Oct 27 13:27:34 2024 +0100
+
+ [mdspan.layout.left.cons] Remove duplicate "Effects:" (#7355)
+
+commit ac5b25027266917de3fbb220fc9ecfa4470672f9
+Author: Jan Schultke <me@eisenwave.net>
+Date: Sun Oct 27 22:46:10 2024 +0100
+
+ [expr.prim.lambda.capture, expr.const, ostream.formatted.print] Reword "automatic variable" (#7358)
+
+commit 324f56439e951773e6ce7437e703fb3aafd5a90c
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Oct 28 07:42:45 2024 -0400
+
+ [lex.pptoken] Reorder paragraphs to define terms before they are used (#7346)
+
+ First move p1 below p2, so that we do not refer to preprocessing tokens before they are defined.
+ Then move p4 up, as it is splitting some unrelated examples, neither of which use its contents.
+
+commit bf43925ff0d9e80997918e98989892b4c7bf15f7
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Oct 29 11:52:02 2024 +0100
+
+ [mdspan.layout.left.cons] Fix typo (#7360)
+
+commit a42d1246936f6376acf6188c1b2053886cdaf3c2
+Author: Jan Schultke <me@eisenwave.net>
+Date: Sat Nov 2 14:38:54 2024 +0100
+
+ [lib.types.movedfrom] Add cross-reference to [defns.valid] (#7365)
+
+commit 6bfbb59e48b6bde05a78d257cbb943acdb2b6781
+Author: S. B. Tam <cpplearner@outlook.com>
+Date: Fri Apr 7 17:09:40 2023 +0800
+
+ [format.string.std] Replace "Derived Extracted Property" with simply "property"
+
+commit aa53618e39f16a6fbf147a8ac2d95a33cb8c5cbc
+Author: S. B. Tam <cpplearner@outlook.com>
+Date: Fri Aug 9 17:39:07 2024 +0800
+
+ [lex.name] Strike "Derived Core Properties"
+
+commit cb15975d133869eb18a8b7878343a990e63415e2
+Author: Ilya Burylov <burylov@gmail.com>
+Date: Wed Nov 6 01:44:54 2024 -0800
+
+ [linalg.helpers.mandates] Fix typos (#7372)
+
+commit fcf95f0f1cb3ae11274f1c3477447aadb76b54ca
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Wed Nov 6 13:27:56 2024 +0100
+
+ [exec.opstate.general] Fix typo (#7370)
+
+commit efa0bec63a2718967f7033217a757d536eba3c18
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Wed Nov 6 12:55:52 2024 +0000
+
+ [linalg.reqs.val] Fix use of \defnadjx for value types (#7374)
+
+commit 693835ad625acfdf2d610240b99d6d8fecdb8a6a
+Author: Casey Carter <Casey@Carter.net>
+Date: Sat Nov 16 06:21:27 2024 -0800
+
+ [fs.op.remove] Clarify "Returns" element (#7387)
+
+ To avoid confusion as in microsoft/STL#5088.
+
+commit 1788b3fcd8f3dbe7b31e6bbfbb968ad43d7ecec3
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Sun Nov 17 20:05:57 2024 +0000
+
+ [over.ics.ref] Fix formatting of 'cv T' (#7389)
+
+commit 16df53c4ab9a17942f5bf994031c98105959a5d5
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Mon Nov 18 17:37:02 2024 +0000
+
+ [defns.regex.primary.equivalence.class] Hyphenate 'locale-specific' (#7395)
+
+commit 4f0facdcd57b922510212ddf44ef39f46dcbe44d
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Mon Nov 18 17:38:09 2024 +0000
+
+ [temp.param] Fix typos (#7394)
+
+commit 99deb7022614be47cfcce4f003d8eb57c02b6926
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Tue Nov 19 05:21:45 2024 +0000
+
+ [over.ics.ref] Capitalize 'Exact Match' (#7392)
+
+commit fb8036b6dfe5ce4a99cd85fddac3f115a7fd96af
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Tue Nov 19 05:25:41 2024 +0000
+
+ [class] Avoid hyphenation for 'multidimensional' (#7391)
+
+commit 3f41cf86547b77854abddde7dcaddf2ff00405bf
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Tue Nov 19 05:26:53 2024 +0000
+
+ [lex.phases] Move cross-reference to the first use of the referenced term (#7393)
+
+commit a05b963e9fe12a8589502b4fbc951c119ae1b3b2
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Jul 30 16:51:21 2024 -0400
+
+ [basic.life] Move definition of before and after from bottom to top of subclause
+
+ The last paragraph of this subclause changes the definition of English words
+ used throughout the preceding paragraphs. While it might be preferable
+ to replace all such usage with the new definitions, that would be a Core issue,
+ see paragraph 6 for an example of awkward usage. Hence, we move the
+ redefinition to the start of the subclause so we know how to read this text
+ from the start.
+
+commit 2981bd94f25ea2199fd6b8af7aa76e03cf427697
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Sat Oct 19 08:31:08 2024 -0400
+
+ [basic.align] Move the Alignment subclause adjacent to "Object model"
+
+ Alignment puts additional restrictions on object placement.
+
+commit eac0893a9a90a5704deef6db3deecae026f04271
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Oct 2 14:59:41 2024 -0400
+
+ [except.terminate] Better describe the function
+
+ While 'std:terminate' was originally conceived as the way to
+ report failures in the exception handling machinery, it has
+ evolved to become a more general tool for reporting unrecoverable
+ failures in the C++ runtime. This rewording attempts to address
+ that evolving design, and in doing so addresses the outstanding
+ %FIXME% that the current text is not adequately descriptive in
+ the first place.
+
+commit f4c4c7cdfb7fba0a6ffbf8e55f2ea6debdf13e87
+Author: xmh0511 <970252187@qq.com>
+Date: Wed Nov 20 08:17:02 2024 +0800
+
+ [dcl.link] Change "objects" to "entities"
+
+ "Entities" is more appropriate since it includes functions.
+
+commit 38461e17588aff3c6851de6ffc7f3e89418e0e65
+Author: A. Jiang <de34@live.cn>
+Date: Thu Nov 7 18:50:10 2024 +0800
+
+ [reverse.iter.cons] Removed redundant wording
+
+commit 8caa49a8266d7ef6b4ef3132588d154de07bbabd
+Author: Eisenwave <me@eisenwave.net>
+Date: Fri Mar 1 20:49:37 2024 +0100
+
+ [rand.req.seedseq] Remove 'compile-time' complexity for typedefs
+
+commit e2ddc7ab689bdaf91d2b2aa6424cef2510d3677a
+Author: Eisenwave <me@eisenwave.net>
+Date: Fri Mar 1 20:50:27 2024 +0100
+
+ [rand.req.dist] Remove 'compile-time' complexity for typedefs
+
+commit c9155b214a51d069cf4a575f10af2b4c4caca5d7
+Author: Eisenwave <me@eisenwave.net>
+Date: Fri Mar 1 20:52:39 2024 +0100
+
+ [char.traits.require] Remove 'compile-time' complexity for typedefs
+
+commit 2cd11c5503e78251c0c0fb4147e2d8ccb0947727
+Author: Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>
+Date: Tue Oct 8 15:30:13 2024 +0400
+
+ [temp.pre] Fix note about uniqueness of a template name in a scope
+
+commit 2edf50afeec8cf200504718646b2b12492dac8ec
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Oct 21 08:33:19 2024 -0400
+
+ [lex.header] Modernize text around header names
+
+ The footnote better belongs in the main text as a regular note.
+ To make the notes flow consistently, switch the order of the
+ note and normative text in the first paragraph to lead with the
+ normative text.
+
+commit 4a5d988a24f6c9737ca076e790b05e22ba169a7a
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Nov 22 12:55:43 2024 +0100
+
+ [refwrap.invoke] Place period at end (#7402)
+
+commit aed97568c63ad5c3c200eff34799413f3ad842f4
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Sat Nov 23 07:53:16 2024 +0100
+
+ [lex.ccon, except.spec] Remove extraneous trailing linebreaks (#7403)
+
+commit 219b959258b6314a3c96bee86b8a18b0f4a7c37e
+Author: mrussoLuxoft <117848841+mrussoLuxoft@users.noreply.github.com>
+Date: Sat Nov 30 19:36:56 2024 +0100
+
+ [dcl.spec.auto.general] Clarify sentence structure by adding bullets (#7450)
+
+commit 861071a824419b955c4efb2d07980e78c9fc62c7
+Author: Daniel Krügler <daniel.kruegler@gmail.com>
+Date: Wed Dec 4 15:05:03 2024 +0100
+
+ [iterator.requirements.general] Revert `indirectly_writable` to "writable" definition (#7471)
+
+ This fixes a misapplication of the 2019 Belfast meeting LWG motion 9 (P1878R1), which erroneously replaced the "writable" definition by the `indirectly_writable` concept.
+
+commit c530fd8e0f80029e88b0977bebbf70252d38795e
+Author: Hewill Kang <hewillk@gmail.com>
+Date: Fri Dec 6 21:52:45 2024 +0800
+
+ [text.encoding.overview] Add cross-reference text_encoding::aliases_view (#7476)
+
+commit 10668dceb8186d7990ff4966a6808bb20ba3eed7
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Thu Dec 12 18:47:14 2024 +0000
+
+ [vector.overview,vector.bool.pspc] Move`at() const` to after `at()` (#7484)
+
+ This is consistent with the ordering for operator[].
+
+commit 0b1256638ebf4f1c611c3ca6182bad69be4837ce
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Mon Dec 16 19:53:51 2024 +0100
+
+ [unique.ptr.single.general] Fix typo
+
+commit 76465d7e42f56f763901e3f6a79ae6d77162a510
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Mon Dec 16 12:17:46 2024 +0100
+
+ [expr.type] Fix typo
+
+commit c7fbd5974f4b5e8881d1dc3e8fdf0b59ecba3bab
+Author: S. B. Tam <cpplearner@outlook.com>
+Date: Sun Dec 8 07:34:44 2024 +0800
+
+ [locale.ctype.virtuals] Fix a decade-old typo
+
+commit f9c835be8299556ae5943dbb340b4929a6100b15
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Dec 6 16:51:49 2024 +0100
+
+ [except.spec] Remove misleading restriction in list of examples
+
+commit e99e78d67b631fbb328770fbcd4882e683360cb1
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Fri Dec 6 10:57:01 2024 +0100
+
+ [basic.pre,basic.lookup.general] Cleanup definition of term 'name lookup'
+
+commit 57ba5a5f4095ec3df6292cfdc371f554e8b684ef
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Dec 17 12:25:26 2024 -0500
+
+ [lex.phases] Reorder the first two sentences of phase 7 (#7432)
+
+ Currently, the first sentence refers to "tokens" that do not exist until after the second sentence.
+
+commit 55a58f9206e41a831c664747dbacebd25c01b034
+Author: Jan Schultke <me@eisenwave.net>
+Date: Tue Dec 17 19:34:54 2024 +0100
+
+ [class.conv.ctor] Turn last paragraph into a note (#6505)
+
+commit 3443cd8af21845e5a4fda6246c4c1bbc74cd007b
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Dec 17 19:18:25 2024 +0100
+
+ [exec.envs] Fix typo
+
+commit 14199aed5adb4baaef28245b4de88e7ffe73a365
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Dec 17 20:02:55 2024 +0100
+
+ [atomics.ref.int, atomics.ref.float] Minor \tcode fixes (#7499)
+
+commit daae8f9a9b959c099e99f248324af95bbaf11779
+Author: A. Jiang <de34@live.cn>
+Date: Wed Dec 18 03:09:10 2024 +0800
+
+ [flat.{map,multimap,set,multiset}] Exposition-only formatting (#6404)
+
+commit 7cbd07c13063b9730d51385198e13bb036d40377
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Mon Dec 16 11:08:10 2024 +0100
+
+ [depr.meta.types] Remove superfluous period
+
+commit 7fe908fa11ad69138975bfec2cf376c66a536d08
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Dec 17 14:13:02 2024 -0500
+
+ [cpp] Distinguish "preprocessing token" from "token" (#7482)
+
+commit 9c9d19f6aef145cf2c074dcdd343e7a2446417a9
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Fri Dec 6 17:37:05 2024 +0000
+
+ [sequence.reqmts] Remove unnecessary qualification of which new element
+
+ There is only one new element, and this avoids having to decide whether it should say args....
+
+
+
diff --git a/papers/n5002.md b/papers/n5002.md
new file mode 100644
index 0000000000..f5c5e576b1
--- /dev/null
+++ b/papers/n5002.md
@@ -0,0 +1,697 @@
+# N5002 Editors' Report -- Programming Languages -- C++
+
+Date: 2024-12-17
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: `cxxeditor@gmail.com`
+
+## Acknowledgements
+
+Thanks to all those who have [submitted editorial
+issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
+and to those who have provided pull requests with fixes.
+Special thanks to Andreas Krug for many timely editorial fixes.
+
+## New papers
+
+ * [N5001](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n5001.pdf) is the
+ current working draft for C++26. It replaces
+ [N4993](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4993.pdf).
+ * N5002 is this Editors' Report.
+
+
+## Motions incorporated into working draft
+
+### Notes on motions
+
+CWG Poll 9 was retracted.
+
+Two LWG Polls, Poll 5 (P0472R2) and Poll 17 (P3019R11) have not been applied and
+are being sent back to WG21 for clarification. We expect to see revisions to be
+approved at the next meeting:
+
+* LWG Poll 5 accidentally polled for the obsolete revision P0472R2 instead of the
+ intended P0472R3. It is sent back due to unclear intentions, with a request for
+ WG21 to clarify, and the expectation that R3 will be approved.
+
+* LWG Poll 17 caused technical discussion after the meeting, in which some
+ oversights were observed. The paper authors and the LWG chair agreed that
+ further LWG review would be in everybody's best interest. The poll is sent back
+ due to unclear specification, with a request for WG21 to produce a revision,
+ which we expect to be approved at the next meeting.
+
+In CWG Poll 1, issue CWG1965 contains no wording changes since it is subsumed by CWG2879.
+
+### Core working group polls
+CWG Poll 1. Accept as Defect Reports and apply the proposed resolutions of all issues in
+[P3524R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3524r0.html)
+(Core Language Working Group "ready" Issues for the November, 2024 meeting) to the C++ Working Paper.
+
+CWG Poll 2. Apply the changes in
+[P3340R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3340r0.pdf)
+(A Consistent Grammar for Sequences) to the C++ Working Paper.
+
+CWG Poll 3. Apply the changes in
+[P2686R5](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2686r5.pdf)
+(constexpr structured bindings and references to constexpr variables) to the C++ Working Paper.
+
+CWG Poll 4. Apply the changes in
+[P3068R6](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3068r6.html)
+(Allowing exception throwing in constant-evaluation) to the C++ Working Paper.
+
+CWG Poll 5. Apply the changes in
+[P3247R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3247r2.html)
+(Deprecate the notion of trivial types) to the C++ Working Paper.
+
+CWG Poll 6. Apply the changes in
+[P2865R6](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2865r6.pdf)
+(Remove Deprecated Array Comparisons from C++26) to the C++ Working Paper.
+
+CWG Poll 7. Apply the changes in
+[P1061R10](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p1061r10.html)
+(Structured Bindings can introduce a Pack) to the C++ Working Paper.
+
+CWG Poll 8. Apply the changes in
+[P3176R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3176r1.html)
+(The Oxford variadic comma) to the C++ Working Paper.
+
+CWG Poll 9 was retracted.
+
+### Library working group polls
+
+LWG Poll 1. Apply the changes for all Ready and Tentatively Ready issues in
+[P3504R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3504r0.html)
+(C++ Standard Library Ready Issues to be moved in Wrocław, Nov. 2024) to the C++ working paper.
+
+LWG Poll 2. Apply the changes in
+[P3136R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3136r1.html)
+(Retiring niebloids) to the C++ working paper.
+
+LWG Poll 3. Apply the changes in
+[P3138R5](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3138r5.html)
+(`views::cache_latest`) to the C++ working paper.
+
+LWG Poll 4. Apply the changes in
+[P3379R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3379r0.html)
+(Constrain `std::expected` equality operators) to the C++ working paper.
+
+LWG Poll 5 was sent back (see above).
+
+LWG Poll 6. Apply the changes in
+[P2862R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2862r1.html)
+(`text_encoding::name()` should never return null values) to the C++ working paper.
+
+LWG Poll 7. Apply the changes in
+[P2897R7](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2897r7.html)
+(`aligned_accessor`: An `mdspan` accessor expressing pointer over-alignment) to the C++ working paper.
+
+LWG Poll 8. Apply the changes in
+[P3355R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3355r1.html)
+(Fix `submdspan` for C++26) to the C++ working paper.
+
+LWG Poll 9. Apply the changes in
+[P3222R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3222r0.html)
+(Fix C++26 by adding transposed special cases for P2642 layouts) to the C++ working paper.
+
+LWG Poll 10. Apply the changes in
+[P3050R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3050r2.html)
+(Fix C++26 by optimizing `linalg::conjugated` for noncomplex value types) to the C++ working paper.
+
+LWG Poll 11. Apply the changes in
+[P3396R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3396r1.html)
+(`std::execution` wording fixes) to the C++ working paper.
+
+LWG Poll 12. Apply the changes in
+[P2835R7](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2835r7.html)
+(Expose `std::atomic_ref`'s object address) to the C++ working paper.
+
+LWG Poll 13. Apply the changes in
+[P3323R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3323r1.html)
+(cv-qualified types in `atomic` and `atomic_ref`) to the C++ working paper.
+
+LWG Poll 14. Apply the changes in
+[P3508R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3508r0.html)
+(Wording for "constexpr for specialized memory algorithms") and
+[P3369R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3369r0.html)
+(`constexpr` for `uninitialized_default_construct`) to the C++ working paper.
+
+LWG Poll 15. Apply the changes in
+[P3370R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3370r1.html)
+(Add new library headers from C23) to the C++ working paper.
+
+LWG Poll 16. Apply the changes in
+[P3309R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3309r3.html)
+(constexpr `atomic` and `atomic_ref`) to the C++ working paper.
+
+LWG Poll 17 was sent back (see above).
+
+LWG Poll 18. Apply the changes in
+[P1928R15](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p1928r15.pdf)
+(`std::simd` — merge data-parallel types from the Parallelism TS 2) to the C++ working paper.
+
+LWG Poll 19. Apply the changes in
+[P3325R5](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3325r5.html)
+(A Utility for Creating Execution Environments) to the C++ working paper.
+
+## Editorial changes
+
+### Major editorial changes
+
+There have not been any major editorial changes.
+
+### Minor editorial changes
+
+A log of editorial fixes made to the working draft since N4993 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](https://github.com/cplusplus/draft/compare/n4993...n5001).
+
+ commit e9604bcd3d8325860a4db9d02c4f90d0ae70162e
+ Author: Thomas Köppe Date: 2025-03-15
+ +Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
Email: cxxeditor@gmail.com
Thanks to all those who have +submitted editorial issues, +to those who have provided pull requests with fixes, +and to everyone who drafted motion applications.
+ +LWG Poll 2 was retracted.
+ +Library issue LWG4189,
+adopted by LWG Poll 1 (P3615R0) had the effect of making most of the content of <ranges>
+free-standing by default, with the note that "[m]ost future additions to this header should
+have no problem being freestanding, so that is the right default." Absent an explicit
+opt-out, the new facilities from LWG Poll 14
+(P2846R6),
+reserve_hint
and approximately_sized_range
, are now free-standing as well.
CWG Poll 1. Accept as Defect Reports and apply the proposed resolutions of all issues in +P3638R0 +(Core Language Working Group "ready" Issues for the February, 2025 meeting) to the C++ Working Paper.
+ +CWG Poll 2. Apply the changes in P3542R0 +(Abolish the term "converting constructor") to the C++ Working Paper.
+ +CWG Poll 3. Apply the changes in P3074R7
+(trivial unions (was std::uninitialized
)) to the C++ Working Paper.
CWG Poll 4. Apply the changes in P1494R5 +(Partial program correctness) to the C++ Working Paper.
+ +CWG Poll 5. Apply the changes in P2900R14 +(Contracts for C++) to the C++ Working Paper.
+ +CWG Poll 6. Apply the changes in P3475R2
+(Defang and deprecate memory_order::consume
) to the C++ Working Paper.
CWG Poll 7. Apply the changes in P2841R7 +(Concept and variable-template template-parameters) to the C++ Working Paper.
+ +CWG Poll 8. Apply the changes in P2786R13 +(Trivial Relocatability For C++26) to the C++ Working Paper.
+ +CWG Poll 9. Apply the changes in P1967R14
+(#embed
- a simple, scannable preprocessor-based resource acquisition method) to the C++ Working Paper.
LWG Poll 1. Apply the changes for all Tentatively Ready issues in +P3615R0 +(C++ Standard Library Ready Issues to be moved in Hagenberg, Feb. 2025) to the C++ working paper.
+ +LWG Poll 2 was retracted.
+ +LWG Poll 3. Apply the changes in P3137R3
+(views::to_input
) to the C++ working paper.
LWG Poll 4. Apply the changes in P0472R3
+(Put std::monostate
in <utility>
) to the C++ working paper.
LWG Poll 5. Apply the changes in P3349R1 +(Converting contiguous iterators to pointers) to the C++ working paper.
+ +LWG Poll 6. Apply the changes in P3372R3 +(constexpr containers and adaptors) to the C++ working paper.
+ +LWG Poll 7. Apply the changes in P3378R2 +(constexpr exception types) to the C++ working paper.
+ +LWG Poll 8. Apply the changes in P3441R2
+(Rename simd_split
to simd_chunk
) to the C++ working paper.
LWG Poll 9. Apply the changes in P3287R3
+(Exploration of namespaces for std::simd
) to the C++ working paper.
LWG Poll 10. Apply the changes in P2976R1 +(Freestanding Library: algorithm, numeric, and random) to the C++ working paper.
+ +LWG Poll 11. Apply the changes in P3430R3 +(SIMD issues: explicit, unsequenced, identity-element position, and members of disabled SIMD) to the C++ working paper.
+ +LWG Poll 12. Apply the changes in P2663R7
+(Interleaved complex values support in std::simd
) to the C++ working paper.
LWG Poll 13. Apply the changes in P2933R4
+(Extend <bit>
header function with overloads for std::simd
) to the C++ working paper.
LWG Poll 14. Apply the changes in P2846R6
+(reserve_hint
: Eagerly reserving memory for not-quite-sized lazy ranges) to the C++ working paper.
LWG Poll 15. Apply the changes in P3471R4 +(Standard Library Hardening) to the C++ working paper.
+ +LWG Poll 16. Apply the changes in P0447R28
+(Introduction of std::hive
to the standard library) to the C++ working paper.
LWG Poll 17. Apply the changes in P3019R14
+(indirect
and polymorphic
: Vocabulary Types for Composite Class Design) to the C++ working paper.
There have not been any major editorial changes.
+ +A log of editorial fixes made to the working draft since N5001 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 f3676cb1550f1501236cc65c1dfa2dec957bbdf2
+Author: Mark Hoemmen <mhoemmen@users.noreply.github.com>
+Date: Tue Dec 17 14:15:10 2024 -0700
+
+ [linalg.conj.conjugated] Remove inappropriate "expression-equivalent" wording (#7497)
+
+ This phrase appears to be copy-pasted from elsewhere, but is not meaningful here.
+
+commit be0a25c9a2f2c1f498b0ff84a33c28adae41863e
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Dec 17 20:31:14 2024 +0100
+
+ [simd.alg] Fix range syntax
+
+commit a18040f05ff6a27e5c6425005ab1b21515ad952c
+Author: Eisenwave <me@eisenwave.net>
+Date: Fri Nov 1 08:06:28 2024 +0100
+
+ [basic.compound] Update introduction
+
+commit 0131e015c09eca1901d0bfa46744a6c7ab31b00d
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Dec 17 21:21:42 2024 +0000
+
+ [linalg.helpers] Rename template parameter for poison pills
+
+ This avoids reusing `T` which is also used for the type of the
+ subexpression E.
+
+ Fixes #7494
+
+commit 04169bac7059322ad8bf32e605a80e57ef30b922
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Dec 17 22:51:01 2024 +0100
+
+ [inplace.vector.overview] Replace residual use of 'trivial type'
+
+commit 9272753d0ecbc1df9d08178793795f06b623a451
+Author: Hewill Kang <hewillk@gmail.com>
+Date: Tue Nov 19 16:41:00 2024 +0800
+
+ [flat.map.defn, flat.set.defn] Avoid naming the from_range_t tag
+
+commit 85de0af0e0af416f7e73ac096254641c31bf11cc
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Tue Dec 17 23:19:21 2024 +0100
+
+ [basic.fundamental] Ensure consistency with [conv.ptr]
+
+commit 561a4d8cde9e434fe206b88489e95b0e5271f469
+Author: Mark Hoemmen <mhoemmen@users.noreply.github.com>
+Date: Thu Dec 19 14:35:50 2024 -0700
+
+ [bibliography] Fix spelling and formatting (#7507)
+
+ Fix spelling of one author's name. Add missing commas
+ and extra spaces after a period ending authors' abbreviated
+ first or middle names.
+
+commit 82153790d8904ea82bc57edc8885b02925e85e93
+Author: Mark Hoemmen <mhoemmen@users.noreply.github.com>
+Date: Thu Dec 19 14:41:02 2024 -0700
+
+ [simd.general, bibliography] Add SIMD acronym explanation and bibliographic reference (#7504)
+
+ To the existing Note at the beginning of [simd.general],
+ add text that unpacks the SIMD acronym and refers to Flynn 1966.
+
+ Add bibliography entry for Flynn 1966, the paper that introduced what
+ later became known as "Flynn's Taxonomy." This classifies parallel
+ computer hardware as SISD, SIMD, MISD, or MIMD.
+
+commit e1a368bc157f824cee7702e87a2cca1951e60f98
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu Dec 19 11:02:38 2024 +0000
+
+ [mdspan.sub] Change to "unit-stride slice for mapping"
+
+ This was the wording requested by LWG and approved in P3355R2, but I
+ mistakenly put P3355R1 in the straw polls.
+
+commit 2d3ac367d8605d7172151726e873daea295a573a
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Dec 20 10:15:46 2024 +0100
+
+ [diff.cpp03.library] Correct \effect to \change
+
+ - Correct \effect to \change.
+ - Add period at end.
+ - Add \tcode for swap.
+
+commit a2429a5944b71e3563dc09730426af43fb4b53e1
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Thu Dec 26 01:37:34 2024 +0000
+
+ [class.expl.init] Fix incorrect note
+
+commit 1411cf56fcb41f9fd000406185f17ef47235d26a
+Author: Bronek Kozicki <brok@incorrekt.com>
+Date: Wed Jan 1 17:00:14 2025 +0000
+
+ [expected.bad.void] Fix syntax error in bad_expected_access<void> (#7529)
+
+ Introduced by commit 8c997445c176c81a334e77f9344b91abc72b2772
+
+commit a137940ac9c807e3ea809c3ff0b3a863795bf742
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Wed Jan 1 22:18:37 2025 +0100
+
+ [filebuf.members,fs.path.req] Fix indefinite article (#7530)
+
+commit d2b48043fcc219b2a141af39dae2eb85934c0847
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Thu Jan 2 10:49:14 2025 +0100
+
+ [expr.const] Properly merge P2686R5
+
+ P2686R5 (applied by commit e220906b71df01f09fe60921e8fac39b80558f78)
+ accidentally reverted a change considering erroneous values made by
+ P2795R5.
+
+commit 22937c04da139226c186973eda2cdb79df640b5b
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Thu Jan 2 15:14:06 2025 +0100
+
+ [format.arg] Fix indefinite article (#7536)
+
+commit 75af9f7f8cd816e1908eb2a3917eb7749c11471a
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Sat Jan 4 02:18:53 2025 +0700
+
+ [tuple.helper] Remove redundant 'public' in base-specifier of struct (#7539)
+
+commit 6ff55d533f72b7222e022513dcb80982f4e887a0
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon Dec 30 16:34:49 2024 +0100
+
+ [lex.icon,depr.locale.category] Remove duplicate 'table' in front of table references
+
+commit 70df8aa8f4a30a7d54a604cbe01ebe13f5973043
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Wed Jan 8 13:51:13 2025 +0100
+
+ [linalg.algs.blas2.gemv] Fix singular/plural mismatch (#7546)
+
+commit 0164098f821ae002469c6f23cd03fc66a0a2f7ca
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Thu Jan 9 10:01:36 2025 +0000
+
+ [basic.def.odr] Fix typo and reference the correct subclause
+
+commit 2734ddeb05115f3fddf09c9c15b843083575e9df
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Jan 10 13:13:28 2025 +0100
+
+ [exec.async.ops] Remove stray closing parenthesis (#7555)
+
+commit 77171de904e6008f31717615d5baabf604baeea8
+Author: S. B. Tam <cpplearner@outlook.com>
+Date: Fri Jan 10 23:05:58 2025 +0800
+
+ [locale.time.put.members] Remove incorrect footnote (#7553)
+
+commit 6ecd1be67c71001db37883ee45b76cc66ef4101f
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon Jan 13 22:34:47 2025 +0100
+
+ [exec.getcomplsigs] Add missing LaTeX escaping of braces (#7541)
+
+commit 1b1914ed868b0b29e63d0d1e4b872daf07b50740
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Jan 14 14:31:09 2025 +0100
+
+ [simd.traits] Remove stray closing parenthesis (#7563)
+
+commit 0ac6f9d7e94a70b48457f289bcbeb069a4662c28
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Wed Jan 15 14:10:57 2025 +0100
+
+ [locale.moneypunct.general] Insert period at end (#7564)
+
+commit 96fad4cf7ff48c8a4ae5442580d55008fb56ca43
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Jan 15 10:06:49 2025 -0500
+
+ [inplace.vector.overview] Remove spurious semicolon closing namespace std (#7566)
+
+commit 1c398ffc71845163ca50b712f1edd9e1b2a87772
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Fri Jan 17 17:11:02 2025 +0000
+
+ [type.info] Remove comments explaining deleted members
+
+ The standard is not a tutorial.
+
+commit 569e2a38cf1aa6d185b4c4d1817d9496ebd087e5
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Jan 18 09:18:53 2025 +0100
+
+ [exec.snd.expos] Move write-env paragraph into itemdescr (#7571)
+
+commit 93aa7cb89b375280cb2d5f385fb0c5a5874e9243
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sat Jan 18 23:32:20 2025 +0100
+
+ [re.err,re.alg.match,re.tokiter.incr] Add period at end for consistency (#7574)
+
+commit ce5fd62b98d822228f46319f4516e34c492fa257
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Wed Jan 22 16:15:57 2025 +0100
+
+ [string.view.io,string.insert] Add period at end of "Returns" (#7579)
+
+commit 5c4823a05b83a67f7550fdcc1476f8000c29514c
+Author: A. Jiang <de34@live.cn>
+Date: Thu Jan 23 11:31:05 2025 +0800
+
+ [expr.const] Re-apply CWG2909
+
+commit db563eecdfb63cb24f10afb30f001a0bc6213997
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Jan 15 07:59:51 2025 -0500
+
+ [lex.phases] Update implementation defined text
+
+ Since C++23 we no longer have physical source files, but rather
+ input files. Update the two implementation-defined references
+ to the mapping from input file to translation character set
+ using the same phrasing so that they provide the same entry
+ in the index of implementation-defined behavior, just as they
+ did in C++20, before getting out of sync when the terminology
+ changed.
+
+commit a39cca2e9c009766da1e205daf5d7bf8cbdccaa3
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Thu Jan 23 07:28:40 2025 -0500
+
+ [linalg.conj.conjugated] Rearrange to match P3050R3 (#7506)
+
+ This was the wording requested by LWG and approved in P3050R3, but I
+ mistakenly put P3050R2 in the straw polls.
+
+commit 6583c4ac9c2d3bbfb7daac0c79c902a30417c50f
+Author: cor3ntin <corentinjabot@gmail.com>
+Date: Sat Jan 25 14:11:30 2025 +0100
+
+ [std] Use template-parameter and template parameter more consistently (#7460)
+
+ Try to use template-parameter only when we refer to a
+ grammar construct, and to 'template parameter' everywhere else.
+
+ Adopt the same logic to template-argument/template argument.
+
+ This change might not be exhaustive.
+
+ The aim is to editorially adopt some of the wording changes
+ made in P2841R5 to ease its review in core.
+
+commit 696dcd809ceed3fc10502161963f8ce13505ec1a
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sat Jan 25 21:25:32 2025 +0100
+
+ [format.string.general,format.formatter.spec] Fix unparenthesized cross-references
+
+commit 47cf5a67357543b0d45d0072f42fdd29fa028cca
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Wed Jan 29 09:29:54 2025 +0100
+
+ [alg.rand.generate] Add period at end of "Returns" (#7595)
+
+commit b2b266e7b67eb583c50c34a9eceffe44f72ea2f6
+Author: Ivan Lazarić <ivan.lazaric1@gmail.com>
+Date: Sat Feb 1 09:56:42 2025 +0100
+
+ [temp.res.general] Fix nesting for \terminal{\opt{...}} (#7599)
+
+commit d51e6bedd991d55b7f7fb7f41e1f08083cfd1b1d
+Author: Eric Niebler <eniebler@boost.org>
+Date: Mon Feb 3 12:05:48 2025 -0800
+
+ [range.view] Change incorrect uses of "which" to "that" (#7606)
+
+commit 1d49b05d1b48a2daa2a88d854e2367e6648c3cb6
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Mon Feb 3 21:14:45 2025 +0100
+
+ [tuple.assign] Remove incorrect comma at end (#7609)
+
+commit 2e1b856b6187fe9a5c74782948982eefd128ecbf
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Feb 3 16:17:48 2025 -0500
+
+ [diff.cpp.library] Add new C23 headers to list of new headers
+
+commit cae9b2a645d5bb91caffc061325f107605e85a0d
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Feb 4 09:30:49 2025 +0100
+
+ [container.alloc.reqmts,sequence.reqmts] Add period at end (#7614)
+
+commit 003506a2779c519d4929cce75c7adeb1b7a76955
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Jan 1 18:45:19 2025 +0700
+
+ [macros] Add LaTeX macros to index library macros
+
+ The immediate idea is to support using the new macros directly
+ in header synopses when defining each library macro. This will
+ ensure that no macros are accidentally not indexed.
+
+ A follow-up plan is that this separation of library macros will
+ make it easier to create a separate index of macros, or apply
+ other macro-specific renderings, in the future. To this end,
+ all indexed uses of a macro, not just those in header files,
+ should be replaced by use of these new macros. Similarly,
+ these LaTeX macros can be used in-place in regular text to
+ index cross-references where standard library macros are used
+ throughout the standard.
+
+commit d7618b4d20a24b37677b92c2fbd80dcee4565bc3
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Feb 7 09:37:37 2025 +0100
+
+ [diff.lex] Add period at end (#7618)
+
+commit 040ff41df1d0e0e4d31bd6c76f084fbc84239e7f
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Sat Feb 8 07:56:45 2025 +0000
+
+ [fs.op.current.path] Remove note discussing design choices (#7620)
+
+commit dfdc64cbdc842f0f7d2a060440ea907b41ce78e6
+Author: Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>
+Date: Sun Feb 9 20:12:44 2025 +0400
+
+ [basic.scope.scope] Update the note about special cases (#7594)
+
+commit 8948fd9bd8f799d50fc9cbff34b349b9d59157f1
+Author: André Brand <andre.brand@mailbox.org>
+Date: Sun Feb 9 17:18:12 2025 +0100
+
+ [temp.mem.enum] Remove instantiation in example [temp.inst] (#7558)
+
+ The example is inconsistent with [temp.inst]p3. Since the implicit instantiation
+ does not contribute to the point of [temp.mem.enum], the inconsistency
+ can be resolved by omitting the instantiation.
+
+commit 0d0ea5582082f85fa707c680634044209c2e343d
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Mon Nov 18 13:47:37 2024 +0000
+
+ [defns.argument] Mention braced-init-list
+
+commit 7566675c778f95ef966c4fea058a895def98e6d1
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Sun Feb 9 11:23:22 2025 -0500
+
+ [lex.phases] Use preprocessing token consistently (#7361)
+
+ Prior to converting preprocessing tokens to tokens in phase 7,
+ all tokens are strictly preprocessing tokens.
+
+commit b9f054b0cba3a36f9c8eff0c190f85996597dc3d
+Author: cor3ntin <corentinjabot@gmail.com>
+Date: Mon Feb 10 07:47:58 2025 +0100
+
+ [std] Rename "non-type" to "constant" template parameter/argument (#7587)
+
+ Note that not all instances of "non-type" have been mechanically replaced,
+ as [dcl] and [diff] use the term to refer to anything that is not a type
+ in the context of lookup.
+
+commit 45eb50507a1b6477dea6106c3c26654b96feae4a
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Fri Jan 31 14:04:53 2025 -0500
+
+ [cmath.syn] Consolidate std namespaces
+
+ There is no ordering dependency between the two typedefs
+ in namespace std, the macros that follow, and teh next
+ opening of namespace std, so move the two typedefs to
+ avoid repeatedly opening an closing the namespace.
+
+ Note that we could have done this without moving
+ the typedefs as macros are not bound by namespaces,
+ but our convention very sensibly avoids confusing
+ readers by keeping macro definitions outside of
+ namespaces.
+
+commit 5eab5c6b456db2424b04becb791b23dbf4de356a
+Author: Axel Naumann <Axel.Naumann@cern.ch>
+Date: Mon Jan 27 15:50:24 2025 +0100
+
+ [class.prop] add ref to actual layout spec in [expr.rel]
+
+commit 2f42a31044cc1ec8cf119b0fd595fdcc1d625c59
+Author: A. Jiang <de34@live.cn>
+Date: Thu Jan 23 11:37:15 2025 +0800
+
+ [util.smartptr.atomic.{shared,weak}] Fix wording for initialization
+
+ By using more conventional "value-initializes".
+
+commit 4e026ec784007b492eb3d904663cfdc4bf905fd3
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Feb 4 11:09:05 2025 +0000
+
+ [fs.op.funcs] Remove empty parens when referring to functions by name
+
+ As per the Specification Style Guidelines.
+
+ https://github.com/cplusplus/draft/wiki/Specification-Style-Guidelines#describing-function-calls
+
+commit 7f00883b8f65307b7e0df0ad2e55182d699d2804
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon Jan 13 22:33:34 2025 +0100
+
+ [xrefdelta] Restore cross-references since C++17
+
+commit 7fbdb79d99338d9aa91f382760ff6e1cb0353c71
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Oct 1 09:20:10 2024 -0400
+
+ [except.uncaught] Tidy the specification for uncaught exceptions
+
+ Several concurrent fixes. First include the normative wording
+ that 'uncaught_exceptions' returns the number of uncaught
+ exceptions *on the current thread*. This wording is present
+ in the core language.
+
+ Then move the core wording for when an exception is uncaught
+ directly into the text that talks about caught and uncaught
+ exceptions. In the process, turn the reference to into a note,
+ so that there is only one normative specification.
+
+ Finally, remove [except.uncaught] as it is now empty.
+
+commit 70abf300ddbb1074cd16e9a5febe7f7c88bdff3d
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Nov 20 02:07:51 2024 +0100
+
+ [except.special.general] Complete the set of clause 17 references
+
+commit 888b0510da303e367f7421ac34607a158ddfc453
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Tue Jan 21 04:31:34 2025 -0500
+
+ [basic.pre] Defragment specification of names and entities
+
+ The current contents of [basic.pre] jump between specifying
+ different things. This PR moves all the specification of
+ names to the front, followed by the specification of entities.
+
+ There are two main benefits: (1) the specification for when
+ two names are the same is a list of 4 rules that correspond
+ to the 4 things than can form a name --- the connection is
+ much clearer when the paragraphs are adjacent and the list
+ is sorted to the same order; (2) in this form, even though
+ all the words are the same, the reordering and merging of
+ paragraphs a fit on a single page. The very last paragraph
+ was forced over a page-break in the original layout.
+
+commit 5be40a6b59527e82b13a29722c623635065759bf
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Tue Feb 11 21:42:20 2025 +0100
+
+ [expr.lval] Update cross reference for "invalid pointer value"
+
+commit 83530f54892686c9ba055434d02dfadc00bbb290
+Author: A. Jiang <de34@live.cn>
+Date: Thu Aug 3 00:54:57 2023 +0800
+
+ [basic.extended.fp] Use "declared" for typedef-names
+
+commit 1542d983b3f690876720d69a44dff2c5574617b3
+Author: A. Jiang <de34@live.cn>
+Date: Thu Aug 3 01:00:16 2023 +0800
+
+ [expr.{add,alignof,sizeof}] Use "typedef-name", avoid "defined"
+
+commit 152693b46648ea99493aecedbc8051aa2ab7542f
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Wed Feb 12 17:58:51 2025 +0000
+
+ [temp.param, temp.constr.normal] Use \dotsc for a non-code ellipsis (#7397)
+
+commit 930b8f97b0ab7bd9442bd0faf10f7302da5fc89a
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Wed Feb 12 19:22:47 2025 +0100
+
+ [diff.cpp03.library] Fix cross-reference to restriction on macro names
+
+commit 2cfc175a01d2bff1daf084d5c776017c5c049872
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Thu Feb 13 22:28:24 2025 +0000
+
+ [linalg.general] Remove extraneous dot (#7637)
+
+commit 422ded52d1876578f4eeb3bc30d583a193b94f42
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Feb 14 19:13:02 2025 +0100
+
+ [conv.rank] Fix typo
+
+commit 10468bf63eee8926b84b76a10abb2a7d05b43c02
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sun Feb 16 12:13:43 2025 +0100
+
+ [map.overview] Fix punctuation (#7677)
+
+commit a103bf3ea67a731189a8f1453d3e9ab88d589eba
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Mon Feb 24 07:46:22 2025 -0500
+
+ [xrefdelta] Consolidate restored entries (#7631)
+
+ Several entries in the restored larger delta referred
+ to stable labels that have since moved again, or have been
+ removed. This commit updates their cross-references
+ accordingly, or marks them as removed if appropriate.
+
+commit 9854e729ba5ade9a41bf047b6a5fe6f4bbe038e0
+Author: Hubert Tong <hstong@ca.ibm.com>
+Date: Thu Feb 13 17:01:13 2025 -0500
+
+ [basic.types.general] Change ordering to "non-variant non-static"
+
+ The definition of literal type is the only place where "non-static
+ non-variant data member" is used as opposed to "non-variant non-static
+ data member".
+
+ Change to use the canonical ordering.
+
+commit c31b8f4111dfa9dd598220b9c6f8c1cf9d4a9b34
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Tue Feb 25 09:54:40 2025 +0000
+
+ [support.srcloc.cons] Update xref to [class.mem.general]
+
+ The cross-reference to [class.mem] was referring to a hanging paragraph
+ that was fixed by 2850139be6285ba10a64fb718125a80ca967c631 so we should
+ be referring to [class.mem.general] now.
+
+commit 912e5cab7565be0daa9c0c6d7c178600b3cd38e6
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Sat Mar 15 20:23:43 2025 +0000
+
+ [functional.{syn,bind.place}] Use \vdots; add missing \placeholder (#7723)
+
+commit 0dda8468be890adf880afddc37e449cbc40607cb
+Author: A. Jiang <de34@live.cn>
+Date: Sun Mar 16 04:26:10 2025 +0800
+
+ [expr.const] Change "value" to "result object" (of a prvalue) (#6267)
+
+commit 4552a92a01a2d1b032264cd6568a860a5244918b
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Sun Nov 7 22:35:21 2021 +0100
+
+ [lex.string] Clarify size of string-literal
+
+commit ec10aaec4e6daac66b7b28426abcc765494194c9
+Author: Hubert Tong <hubert.reinterpretcast@gmail.com>
+Date: Sat Mar 15 16:41:54 2025 -0400
+
+ [debugging.utility] Clarify wording in notes
+
+ The previous wording in the notes in `breakpoint` and `is_debugger_present`
+ read as statements of fact about the implementation-defined behaviour.
+ The statements are actually ones of intent.
+
+ The specific claim in `breakpoint` that the debugger resumes execution of the program
+ as if the function was not invoked is confusing considering that the debugger may effect
+ side-effects or cause execution to resume from a different evaluation.
+
+ Instead, the idea is that `breakpoint` is not responsible for causing the translation process
+ to make special accomodations for resumption of execution other than in cases
+ where the debugger was strictly used for observation only.
+
+ In `is_debugger_present`, the functionality ascribed to POSIX by the wording
+ ("ptrace") is not present in POSIX. Update to reference the LSB and to use
+ the corresponding terminology ("tracing process").
+
+ The wording implies a preference to return `true` in case it is unknown
+ whether a debugger is present. Add a critical "only" to fix that.
+
+commit 598910dc970bc0bc840ba797983e9bc131cd826e
+Author: A. Jiang <de34@live.cn>
+Date: Tue Feb 25 07:51:44 2025 +0800
+
+ [ifstream.members] Remove mistakenly added `@`
+
+commit 4b5a0080230ed74d796a3ee909bdde66e2f2b395
+Author: A. Jiang <de34@live.cn>
+Date: Wed Aug 7 18:45:41 2024 +0800
+
+ [func.wrap.func] Drop Lvalue-Callable
+
+ Replace its usages with `is_invocable_r_v` and remove an unnecessary index.
+
+commit f9847af90413adb0436aae9f6895b4a2e0e173ec
+Author: A. Jiang <de34@live.cn>
+Date: Mon Feb 17 11:44:11 2025 +0800
+
+ [containers, strings, algorithms, re] Use \range where appropriate
+
+ Currently, there are several cases where `\tcode{[i, j)}` is used for
+ specifying left-closed right-open intervals, where `\range{i}{j}` is proper.
+
+ Co-authored-by: Eelis van der Weegen <eelis@eelis.net>
+
+commit 73699cf37d247a7c1f3a6879197c730a14666b90
+Author: languagelawyer <38548419+languagelawyer@users.noreply.github.com>
+Date: Fri Feb 26 02:55:52 2021 +0300
+
+ [class.cdtor] Only objects of scalar type can be accessed
+
+
+
diff --git a/papers/n5009.md b/papers/n5009.md
new file mode 100644
index 0000000000..2caf3f0571
--- /dev/null
+++ b/papers/n5009.md
@@ -0,0 +1,753 @@
+# N5009 Editors' Report -- Programming Languages -- C++
+
+Date: 2025-03-15
+
+Thomas Köppe (editor, Google DeepMind)
+Jens Maurer (co-editor)
+Dawn Perchik (co-editor, Bright Side Computing, LLC)
+Richard Smith (co-editor, Google Inc)
+
+Email: `cxxeditor@gmail.com`
+
+## Acknowledgements
+
+Thanks to all those who have
+[submitted editorial issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue),
+to those who have provided pull requests with fixes,
+and to everyone who drafted motion applications.
+
+## New papers
+
+ * [N5008](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/n5008.pdf) is the
+ current working draft for C++26. It replaces
+ [N5001](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n5001.pdf).
+ * N5009 is this Editors' Report.
+
+## Motions incorporated into working draft
+
+### Notes on motions
+
+LWG Poll 2 was retracted.
+
+Library issue [LWG4189](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3615r0.html#4189),
+adopted by LWG Poll 1 (P3615R0) had the effect of making most of the content of `