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/n4982.html b/papers/n4982.html new file mode 100644 index 0000000000..3f97397fec --- /dev/null +++ b/papers/n4982.html @@ -0,0 +1,613 @@ + + +
+ + +Date: 2024-04-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 motions were applied cleanly.
+ +CWG Poll 1. Accept as Defect Reports and apply the proposed resolutions of all issues in +P3196R0 +(Core Language Working Group "ready" Issues for the March, 2024 meeting) to the C++ Working Paper.
+ +CWG Poll 2. Apply the changes in +P2748R5 +(Disallow Binding a Returned Glvalue to a Temporary) to the C++ Working Paper.
+ +CWG Poll 3. Accept as a Defect Report and apply the changes in P3106R1 (Clarifying rules for brace elision in aggregate initialization) to the C++ Working Paper, resolving core issue 2149.
+ +CWG Poll 4. Apply the changes in +P0609R3 +(Attributes for Structured Bindings) to the C++ Working Paper.
+ +CWG Poll 5. Accept as a Defect Report and apply the changes in +P3034R1 +(Module Declarations Shouldn’t be Macros) to the C++ Working Paper.
+ +CWG Poll 6. Accept as a Defect Report and apply the changes in +P2809R3 +(Trivial infinite loops are not Undefined Behavior) to the C++ Working Paper.
+ +CWG Poll 7. Apply the changes in +P2795R5 +(Erroneous behaviour for uninitialized reads) to the C++ Working Paper.
+ +CWG Poll 9. Apply the changes in
+P2573R2
+(= delete("should have a reason");
) to the C++ Working Paper.
CWG Poll 10. Apply the changes in +P2893R3 +(Variadic friends) to the C++ Working Paper.
+ +CWG Poll 8 was withdrawn.
+ +LWG Poll 1: Apply the changes for all Ready and Tentatively Ready issues in +P3180R0 +(C++ Standard Library Ready Issues to be moved in Tokyo, Mar. 2024) to the C++ working paper.
+ +LWG Poll 2: Apply the changes in
+P2875R4
+(Undeprecate polymorphic_allocator::destroy
for C++26) to the C++ working paper.
LWG Poll 3: Apply the changes in
+P2867R2
+(Remove Deprecated strstream
s From C++26) to the C++ working paper.
LWG Poll 4: Apply the changes in
+P2869R4
+(Remove Deprecated shared_ptr
Atomic Access APIs from C++26) to the C++ working paper.
LWG Poll 5: Apply the changes in
+P2872R3
+(Remove wstring_convert
From C++26) to the C++ working paper.
LWG Poll 6: Accept as a Defect Report and apply the changes in
+P3107R5
+(Permit an efficient implementation of std::print
) to the C++ working paper.
LWG Poll 7: Apply the changes in
+P3142R0
+(Printing Blank Lines with println
) to the C++ working paper.
LWG Poll 8: Apply the changes in
+P2845R8
+(Formatting of std::filesystem::path
) to the C++ working paper.
LWG Poll 9: Apply the changes in +P0493R5 +(Atomic minimum/maximum) to the C++ working paper.
+ +LWG Poll 10: Apply the changes in
+P2542R8
+(views::concat
) to the C++ working paper.
LWG Poll 11: Apply the changes in +P2591R5 +(Concatenation of strings and string views) to the C++ working paper.
+ +LWG Poll 12: Apply the changes in +P2248R8 +(Enabling list-initialization for algorithms) to the C++ working paper.
+ +LWG Poll 13: Apply the changes in
+P2810R4
+(is_debugger_present
is_replaceable
) to the C++ working paper.
LWG Poll 14: Apply the changes in +P1068R11 +(Vector API for random number generation) to the C++ working paper.
+ +LWG Poll 16: Apply the changes in
+P2944R3
+(Comparisons for reference_wrapper
) to the C++ working paper.
LWG Poll 17: Apply the changes in
+P2642R6
+(Padded mdspan
layouts) to the C++ working paper.
LWG Poll 18: Apply the changes in
+P3029R1
+(Better mdspan
's CTAD) to the C++ working paper.
LWG Poll 15 was withdrawn.
+ +There have not been any major editorial changes since the last working draft.
+ +A log of editorial fixes made to the working draft since N4971 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 08649a5a81ba91d8597c263b99dc80ed71767940
+Author: Jan Schultke <me@eisenwave.net>
+Date: Fri Dec 22 11:33:39 2023 +0100
+
+ [stmt.expr] Use \grammarterm for expression (#6469)
+
+commit acb68797051c9a6a5f51e4adb5091b376f1ba13a
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Mon Jan 1 16:23:56 2024 +0100
+
+ [basic.life] Fix indentation in example (#6727)
+
+commit f6692f25130834672ba5a212f739100669abbbe8
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Jan 2 20:21:54 2024 +0100
+
+ [basic.scope.pdecl,basic.types.general] Remove extra whitespace (#6756)
+
+commit 7ddcd43c96589fc13342ac4cee549da75360fde7
+Author: Alisdair Meredith <alisdairm@me.com>
+Date: Fri Jan 5 15:41:01 2024 -0500
+
+ [basic.scope.param] Add missing \grammarterm for requires-expression (#6759)
+
+commit 29c0e4882a1ae62e7cd5f8d3fabcb22ae6153219
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Mon Dec 18 17:22:30 2023 +0100
+
+ [std] Remove problematic 'requires' phrases from notes.
+
+ Only specific phrases involving the word "required" are problematic,
+ namely when they appear to establish a normative requirement. They
+ have been reworded, often by replacing "is required" with "needs",
+ sometimes with slightly larger edits.
+
+commit 43fc5a16147e720568b68ecae77f12fa3fb15102
+Author: Thomas Köppe <tkoeppe@google.com>
+Date: Fri Jan 5 15:32:55 2024 +0000
+
+ [std] Reword "necessary", "permitted", "allowed", "may" in notes.
+
+ This is so that notes do not (inappropriately) state requirements or
+ permissions.
+
+commit 74433025763f83bbccfb001dab8aa084647ffb2f
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Thu Jan 11 19:11:17 2024 +0100
+
+ [basic.def] Fix punctuation (#6766)
+
+commit b67e0b70e88abf65d9b49875133c68d55744b1de
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Fri Jan 12 12:53:10 2024 +0000
+
+ [text.encoding.overview] Use same parameter names as detailed description (#6768)
+
+commit bc5a56b6e9cadd030d48066601fc8098382c7469
+Author: Casey Carter <Casey@Carter.net>
+Date: Mon Jan 15 11:19:13 2024 -0800
+
+ [exception] Paragraph two is no longer universally true
+
+ We recently added `bad_expected_access<void>` to the Standard Library, which derives from `exception`, but does not have "the following publicly accessible member functions, each of them having a non-throwing exception specification." For clarity, we should point out that this provision is not universal.
+
+commit 2055c2feabee6ec9df24ea07f8451ad33618be45
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Tue Jan 16 09:20:44 2024 +0100
+
+ [zombie.names] Remove superfluous period (#6774)
+
+commit 8410aac1b84ec161b6990441acde53185f958135
+Author: Daniel Krügler <daniel.kruegler@gmail.com>
+Date: Sun Jan 21 22:39:02 2024 +0100
+
+ [tuple.helper] Paragraph 1 not universally true (#6777)
+
+ [tuple.helper] p1 defines a general requirement that all specializations of `tuple_size`
+ shall meet the *Cpp17UnaryTypeTrait* requirements, but p4 actually defines a
+ special situation where this requirement is not met ("Otherwise, it has no member value").
+ We have the same seemingly contradiction in [depr.tuple] p2. For clarity, we should
+ point out that this provision is not universal.
+
+commit 4fe9190fa05c4fb4e83c1a1ba68aa12aa49542e9
+Author: S. B. Tam <cpplearner@outlook.com>
+Date: Sat Jan 27 14:38:55 2024 +0800
+
+ [locale.ctype.members] Add missing parameter name
+
+commit 74f5f61cac56a4eca5389a51754fe7e60e6b7449
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Sat Jan 27 11:26:37 2024 +0000
+
+ [tuple.cnstr] Do not use code font for cardinal number 1 (#6785)
+
+commit cb8ff12806b67990665100baaacb9a16040bce8c
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sat Jan 27 17:11:23 2024 +0100
+
+ [container.alloc.reqmts] End note with period (#6787)
+
+commit 70b99af0dfcb9cae82bcd97c7b24a2e84edfb2cd
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Sat Jan 27 18:03:16 2024 +0100
+
+ [class.mem.general,class.mfct.non.static] End note with period (#6778)
+
+commit db80a4612af561e8473fd8fb3724ae9db2c72578
+Author: Jonathan Wakely <cxx@kayari.org>
+Date: Mon Feb 5 15:51:03 2024 +0000
+
+ [rand.dist.samp.plinear] Fix copy & paste error in Mandates (#6794)
+
+ This error was present in the incoming P1719R2 paper (Mandating the
+ Standard Library: Clause 26 - Numerics Library), but is obviously bogus.
+ There is no UnaryOperation type in that constructor. The correct
+ requirement is taken from the corresponding constructor in
+ [rand.dist.samp.pconst].
+
+commit e51d5733b1bd1531d6e3b63617d12414a56678c0
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Wed Feb 7 10:37:06 2024 -0500
+
+ [temp.res.general] Grammatical parallelism: remove a stray "a" (#6796)
+
+commit 8238252bcec14f76e97133db32721beaec5c749b
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Thu Feb 8 06:59:10 2024 +0100
+
+ [iterator.concept.winc] Fix typo (#6800)
+
+commit 19caa61068d3f3aa2453e1ba7256536b8464c25c
+Author: A. Jiang <de34@live.cn>
+Date: Thu Dec 28 10:07:15 2023 +0800
+
+ [mem.res.private] Say `*this` instead of improper `this`
+
+commit 419190062806ae257e5efe7057551fd626bd9516
+Author: A. Jiang <de34@live.cn>
+Date: Thu Dec 28 10:08:04 2023 +0800
+
+ [mem.res.monotonic.buffer.mem] Say `*this` instead of improper `this`
+
+commit 6ecda0b20664fc6b8450157e1cd9f0580c32e5e1
+Author: A. Jiang <de34@live.cn>
+Date: Thu Dec 28 10:09:08 2023 +0800
+
+ [re.traits] Say `*this` instead of improper `this`
+
+commit 9305893dfd250d876edf4555cf96c665e2e71e75
+Author: Casey Carter <Casey@Carter.net>
+Date: Thu Feb 15 13:16:33 2024 -0800
+
+ [thread.once.callonce] INVOKE is evaluated, not called (#6810)
+
+commit 3616a40ded794e94181a5405672b1c36f7774684
+Author: Jan Schultke <me@eisenwave.net>
+Date: Wed Feb 21 19:05:13 2024 +0100
+
+ [temp.pre] Add comma after introductory clause (#6814)
+
+commit 30debb0c5d5dc42fa36864aac76b82f49319ad84
+Author: Jens Maurer <Jens.Maurer@gmx.net>
+Date: Wed Feb 21 21:39:56 2024 +0100
+
+ [temp.constr.order] Move index entry to correct paragraph (#6812)
+
+commit fb0277664fd53efea93d95202784f78aea610f31
+Author: Jan Schultke <me@eisenwave.net>
+Date: Thu Feb 22 20:28:15 2024 +0100
+
+ [semaphore.syn] Add binary_semaphore to index (#6781)
+
+commit 090840673ee58d3c1e8d2844d3c716ee5ce245bc
+Author: Jan Schultke <me@eisenwave.net>
+Date: Thu Feb 22 20:31:19 2024 +0100
+
+ [format.parse.ctx] Improve readability of paragraphs 12 and 14 (#6815)
+
+commit a5825b1905b06d730a46e64fb5b379f48cbc6e51
+Author: Jan Schultke <me@eisenwave.net>
+Date: Thu Feb 22 20:33:18 2024 +0100
+
+ [format.parse.ctx] Add comma (#6817)
+
+commit 8c8e05d7ff6cda6329ca898e7a270547a85675d7
+Author: Jan Schultke <me@eisenwave.net>
+Date: Thu Feb 22 20:35:21 2024 +0100
+
+ [format.parse.ctx] Move non-normative explanations of errors into notes (#6816)
+
+commit 48f90026631638c91b3d8138bed49cd0450380c7
+Author: Eisenwave <me@eisenwave.net>
+Date: Wed Feb 28 10:23:51 2024 +0100
+
+ [stmt.while] Add comma after introductory phrase
+
+commit d5ad3794937429b1410071037af9ddfb0aa8c861
+Author: Eisenwave <me@eisenwave.net>
+Date: Wed Feb 28 10:24:26 2024 +0100
+
+ [stmt.do] Add comma after introductory phrase
+
+commit 78ecd23f22f00be4bffaf806a6747417ce2150a2
+Author: Jan Schultke <me@eisenwave.net>
+Date: Wed Feb 28 18:06:26 2024 +0100
+
+ [stmt.jump] Add cross-reference to [stmt.dcl] for destruction of local variables (#6829)
+
+commit 66b6b97c8f3969f96e3ca8df1180c18b1c57af8c
+Author: Jan Schultke <me@eisenwave.net>
+Date: Wed Feb 28 21:50:50 2024 +0100
+
+ [expr.dynamic.cast] Add comma after conditional clause (#6830)
+
+commit 23430d7e605d62f5a4a1769611e3c415d6510b65
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Mar 1 11:06:34 2024 +0100
+
+ [bibliography] Replace HTTP link with HTTPS link (#6831)
+
+commit 20c2851a3c8f480a017cef6602b1b6a4d32bc5e4
+Author: Eisenwave <me@eisenwave.net>
+Date: Fri Mar 1 16:03:04 2024 +0100
+
+ [time.parse] Hyphenate argument-dependent lookup
+
+commit e0287d17110f86e3724bda5ebe74de249508490f
+Author: Eisenwave <me@eisenwave.net>
+Date: Fri Mar 1 16:04:02 2024 +0100
+
+ [diff.cpp17.temp] Hyphenate argument-dependent lookup
+
+commit ceff4ea83b511be01a8e1756386ce6a2e06e323c
+Author: Jan Schultke <me@eisenwave.net>
+Date: Fri Mar 1 18:06:00 2024 +0100
+
+ [headers] Strike incorrect quote of subclause heading (#6832)
+
+commit 9878cfbea12b517d32c5af1bbfa7c8b8c4ff9cab
+Author: Jan Schultke <me@eisenwave.net>
+Date: Sun Mar 3 08:42:45 2024 +0100
+
+ [handler.functions] Add cross-reference to [intro.races] (#6845)
+
+commit 9ec133c8e51aae98297255563250a2f6656e4636
+Author: lprv <100177227+lprv@users.noreply.github.com>
+Date: Tue Mar 19 15:36:51 2024 +0000
+
+ [time.hash] Fix spelling of 'Cpp17Hash'
+
+commit 2b7cd6e8be2bc8a9ae97da9bf03ae4efa7fe1a9c
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Tue Apr 16 20:03:29 2024 +0800
+
+ [expos.only.entity] Add/fix \expos for exposition-only names (#6924)
+
+commit aa21c812f629975d5d25d4639053482f346751a8
+Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
+Date: Tue Apr 16 08:07:44 2024 -0400
+
+ [dcl.type.elab] Move note to separate paragraph
+
+ Also clarify that the next paragraph is talking about any elaborated-type-specifier at all, not just the ones in p4.
+
+commit 397384c90e3ead9f832a3a269335fbfe53328180
+Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
+Date: Fri Feb 16 06:51:03 2024 +0100
+
+ [rand.adapt.ibits,rand.dist.pois.poisson] Add namespace std in class template
+
+ [rand.adapt.ibits] 28.5.5.3-4
+ [rand.dist.pois.poisson] 28.5.9.4.1-1
+
+commit fbf3d76683d269a0a5313fb69b5aa483ddd3a18a
+Author: Jan Schultke <me@eisenwave.net>
+Date: Thu Feb 22 21:41:42 2024 +0100
+
+ [expr.unary.op] remove redundant value category wording
+
+commit 498cd7720bb2e53fb323144f956e67900a054e34
+Author: Daniel Krügler <daniel.kruegler@gmail.com>
+Date: Sun Feb 4 17:57:38 2024 +0100
+
+ [iterator.requirements.general] Clarify that "constexpr iterator" is a requirement to be met
+
+ [iterator.requirements.general] p16 says "Iterators are called _constexpr iterators_ [..]", but all referencing sections say "meet the constexpr iterator requirements". For clarity, we should reword the definition to make it clear that this is a named requirement.
+
+commit 89cd1467f354a2b9b05ac57ad1f90f483aab22b9
+Author: Hewill Kang <67143766+hewillk@users.noreply.github.com>
+Date: Sun Jan 28 13:54:17 2024 +0800
+
+ [range.drop.overview] Remove redundant \iref for subrange
+
+ ..which already existed in the previous bullet.
+
+commit bee055de1c5e23ce0b301138998633dc64169b4a
+Author: A. Jiang <de34@live.cn>
+Date: Thu Nov 23 09:33:39 2023 +0800
+
+ [dcl.init.ref] Change "function lvalue" to "lvalue of function type"
+
+commit ce31d424ba6753be1c87a4cf3face42f89b9e010
+Author: A. Jiang <de34@live.cn>
+Date: Thu Nov 23 09:36:28 2023 +0800
+
+ [over.ics.ref] Simplify wording by not using "function lvalue"
+
+commit 2a07c133732dcc7ea57aeb32612b15b50837a4df
+Author: A. Jiang <de34@live.cn>
+Date: Thu Nov 23 09:38:41 2023 +0800
+
+ [over.ics.rank] Change "function lvalue" to "lvalue of function type"
+
+commit 7675c4c1abf1986241e8a20463fd71f2841d3c39
+Author: Eisenwave <me@eisenwave.net>
+Date: Fri Sep 1 10:27:25 2023 +0200
+
+ [res.on.exception.handling] use grammarterm instead of informal term and add ref
+
+
+
diff --git a/papers/n4982.md b/papers/n4982.md
new file mode 100644
index 0000000000..92a68b0900
--- /dev/null
+++ b/papers/n4982.md
@@ -0,0 +1,472 @@
+# N4982 Editors' Report -- Programming Languages -- C++
+
+Date: 2024-04-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
+
+ * [N4981](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4981.pdf) is the
+ current working draft for C++26. It replaces
+ [N4971](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4971.pdf).
+ * N4982 is this Editors' Report.
+
+## Motions incorporated into working draft
+
+### Notes on motions
+
+All motions were applied cleanly.
+
+### Core working group polls
+
+CWG Poll 1. Accept as Defect Reports and apply the proposed resolutions of all issues in
+[P3196R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3196r0.html)
+(Core Language Working Group "ready" Issues for the March, 2024 meeting) to the C++ Working Paper.
+
+CWG Poll 2. Apply the changes in
+[P2748R5](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2748r5.html)
+(Disallow Binding a Returned Glvalue to a Temporary) to the C++ Working Paper.
+
+CWG Poll 3. Accept as a Defect Report and apply the changes in [P3106R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3106r1.html) (Clarifying rules for brace elision in aggregate initialization) to the C++ Working Paper, resolving core issue 2149.
+
+CWG Poll 4. Apply the changes in
+[P0609R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p0609r3.pdf)
+(Attributes for Structured Bindings) to the C++ Working Paper.
+
+CWG Poll 5. Accept as a Defect Report and apply the changes in
+[P3034R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3034r1.html)
+(Module Declarations Shouldn’t be Macros) to the C++ Working Paper.
+
+CWG Poll 6. Accept as a Defect Report and apply the changes in
+[P2809R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2809r3.html)
+(Trivial infinite loops are not Undefined Behavior) to the C++ Working Paper.
+
+CWG Poll 7. Apply the changes in
+[P2795R5](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2795r5.html)
+(Erroneous behaviour for uninitialized reads) to the C++ Working Paper.
+
+CWG Poll 9. Apply the changes in
+[P2573R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2573r2.html)
+(`= delete("should have a reason");`) to the C++ Working Paper.
+
+CWG Poll 10. Apply the changes in
+[P2893R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2893r3.html)
+(Variadic friends) to the C++ Working Paper.
+
+CWG Poll 8 was withdrawn.
+
+### Library working group polls
+
+LWG Poll 1: Apply the changes for all Ready and Tentatively Ready issues in
+[P3180R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3180r0.html)
+(C++ Standard Library Ready Issues to be moved in Tokyo, Mar. 2024) to the C++ working paper.
+
+LWG Poll 2: Apply the changes in
+[P2875R4](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2875r4.pdf)
+(Undeprecate `polymorphic_allocator::destroy` for C++26) to the C++ working paper.
+
+LWG Poll 3: Apply the changes in
+[P2867R2](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2867r2.html)
+(Remove Deprecated `strstream`s From C++26) to the C++ working paper.
+
+LWG Poll 4: Apply the changes in
+[P2869R4](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2869r4.pdf)
+(Remove Deprecated `shared_ptr` Atomic Access APIs from C++26) to the C++ working paper.
+
+LWG Poll 5: Apply the changes in
+[P2872R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2872r3.pdf)
+(Remove `wstring_convert` From C++26) to the C++ working paper.
+
+LWG Poll 6: Accept as a Defect Report and apply the changes in
+[P3107R5](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3107r5.html)
+(Permit an efficient implementation of `std::print`) to the C++ working paper.
+
+LWG Poll 7: Apply the changes in
+[P3142R0](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3142r0.pdf)
+(Printing Blank Lines with `println`) to the C++ working paper.
+
+LWG Poll 8: Apply the changes in
+[P2845R8](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2845r8.html)
+(Formatting of `std::filesystem::path`) to the C++ working paper.
+
+LWG Poll 9: Apply the changes in
+[P0493R5](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p0493r5.pdf)
+(Atomic minimum/maximum) to the C++ working paper.
+
+LWG Poll 10: Apply the changes in
+[P2542R8](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2542r8.html)
+(`views::concat`) to the C++ working paper.
+
+LWG Poll 11: Apply the changes in
+[P2591R5](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2591r5.html)
+(Concatenation of strings and string views) to the C++ working paper.
+
+LWG Poll 12: Apply the changes in
+[P2248R8](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2248r8.html)
+(Enabling list-initialization for algorithms) to the C++ working paper.
+
+LWG Poll 13: Apply the changes in
+[P2810R4](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2810r4.html)
+(`is_debugger_present` `is_replaceable`) to the C++ working paper.
+
+LWG Poll 14: Apply the changes in
+[P1068R11](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p1068r11.html)
+(Vector API for random number generation) to the C++ working paper.
+
+LWG Poll 16: Apply the changes in
+[P2944R3](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2944r3.html)
+(Comparisons for `reference_wrapper`) to the C++ working paper.
+
+LWG Poll 17: Apply the changes in
+[P2642R6](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2642r6.pdf)
+(Padded `mdspan` layouts) to the C++ working paper.
+
+LWG Poll 18: Apply the changes in
+[P3029R1](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3029r1.html)
+(Better `mdspan`'s CTAD) to the C++ working paper.
+
+LWG Poll 15 was withdrawn.
+
+## Editorial changes
+
+### Major editorial changes
+
+There have not been any major editorial changes since the last working draft.
+
+### Minor editorial changes
+
+A log of editorial fixes made to the working draft since N4971 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/n4971...n4981).
+
+ commit 08649a5a81ba91d8597c263b99dc80ed71767940
+ Author: Jan Schultke 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