-
Notifications
You must be signed in to change notification settings - Fork 172
cpp20
yoh edited this page Jul 18, 2024
·
304 revisions
- Trip report: Summer ISO C++ standards meeting (Toronto)
- 2017 Toronto ISO C++ Committee Discussion Thread (Concepts in C++20; Coroutines, Ranges and Networking TSes published)
- 2017 Albuquerque ISO C++ Committee Reddit Trip Report
- 2018 Jacksonville ISO C++ Committee Reddit Trip Report - Reddit
- Jacksonville’18 ISO C++ Report - Jornadas using std::cpp
- 2018 Rapperswil ISO C++ Committee Trip Report (Contracts for C++20; Parallelism TS v2 published; Draft Reflection TS)
- Trip report: Winter ISO C++ standards meeting (Kona) - Sutter's Mill
- 2019-07 Cologne ISO C++ Committee Trip Report — 🚀 The C++20 Eagle has Landed 🚀 (C++20 Committee Draft shipped; Contracts Moved From C++20 to a Study Group;
std::formatin C++20; C++20 Synchronization Library) - Trip report: Summer ISO C++ standards meeting (Cologne) - Sutter’s Mill
- N4688 2017年06月 Toronto会議
- N4714 2017年12月 Albuquerque会議
- N4740 2018年03月 Jacksonville会議
- N4764 2018年07月 Rapperswil会議
- N4792 2018年12月 San-Diego会議
- N4799 2019年01月 Pre-Kona会議
- N4811 2019年04月 Post-Kona会議
- N4821 2019年06月 Pre-Cologne会議
- N4829 2019年08月 Post-Cologne会議
- N4836 2019年10月 Pre-Belfast会議
- N4843 2019年12月 Post-Belfast会議
- N4850 2020年01月 Pre-Prague会議
- N4859 2020年04月 Post-Prague会議
| paper | タイトル | 対応状況(空 or 完了 or 対応しない or 担当名) |
|---|---|---|
| P0683R1 | ビットフィールドのメンバ変数初期化 | 完了 |
| P0704R1 |
const修飾されたメンバポインタの制限を修正 |
完了 |
| P0409R2 | ラムダ式のキャプチャとして[=, this]を許可する |
完了 |
| P0306R4 | 可変引数が空でない場合のトークン置換 | 完了 |
| P0329R4 | 指示付き初期化 | 完了 |
| P0428R2 | ジェネリックラムダのテンプレート構文 | 完了 |
| P0734R0 | Wording Paper, C++ extensions for Concepts | 完了 |
| P0614R1 | 初期化式をともなう範囲for文 | 完了 |
| P0588R1 | 暗黙のラムダキャプチャを簡略化 | 完了 |
| P0846R0 | 関数テンプレートに明示的に型指定した場合にADLで見つからない問題を修正 | 完了 |
| P0641R2 | デフォルトのコピーコンストラクタと非constなコンストラクタが衝突する問題を修正 |
完了 |
| P0859R0 | 評価されない文脈での定数式評価によって特殊メンバ関数がインスタンス化されることを規定 | 完了 |
| P0515R3 | 一貫性ある比較 | 完了 |
| P0857R0 | ラムダ式の制約 | 完了 |
| P0692R1 | 特殊化のアクセスチェック | 完了 |
| P0624R2 | 状態を持たないラムダ式を、デフォルト構築可能、代入可能とする | 完了 |
| P0767R1 | PODを非推奨化 | 完了 |
| P0315R4 | 評価されない文脈でのラムダ式 | 完了 |
| P0840R2 | 空オブジェクトを言語サポート | 完了 |
| P0962R1 | 範囲for文がカスタマイゼーションポイントを見つけるルールを緩和 | 完了 |
| P0969R0 | friend指定された関数内から構造化束縛を使用して非公開メンバ変数にアクセスすることを許可 | 完了 |
| P0961R1 | 構造化束縛がカスタマイゼーションポイントを見つけるルールを緩和 | 完了 |
| P0634R3 | 型の文脈でtypenameの省略を許可 |
完了 |
| P0780R2 | ラムダ式の初期化キャプチャでのパック展開を許可 | 完了 |
| P0479R5 | 確率が高い分岐と低い分岐を伝える属性 [[likely]], [[unlikely]]
|
完了 |
| P0905R1 | 宇宙船演算子に対称性をもたせる (n4740でwording changeあり) | 完了 |
| P0806R2 |
[=]によるthisの暗黙のキャプチャを非推奨化 |
完了 |
| P1042R1 |
__VA_OPT__の仕様を明確化 |
|
| P0929R2 | 抽象型のチェック | 完了 |
| P0732R2 | 非型テンプレートパラメータとしてクラス型を許可する | 完了 |
| P1025R1 | Unicode標準への参照を更新 | 完了 |
| P0528R3 | アトミックなcompare and exchangeでpadding bitが正しく動作するようにする | |
| P0722R3 | 可変長データを扱うクラスの効率的なdelete
|
|
| P1064R0 | 定数式からの仮想関数の呼び出しを許可 | 完了 |
| P1008R1 | ユーザー宣言したコンストラクタを持つクラスの集成体初期化を禁止 | 完了 |
| P1120R0 |
<=>演算子と他の比較演算子との一貫性を改善 |
完了 |
| P0542R5 | 契約に基づくプログラミング | 完了 |
| P0941R2 | 機能テストマクロ | |
| P0892R2 | コンストラクタを条件付きでexplicitにする構文を追加 |
完了 |
| P0668R5 | Revising the C++ memory model | |
| P0982R1 | Weaken release sequences | |
| P1084R2 | Today's return-type-requirements Are Insufficient | 完了 |
| P1289R1 | Access control in contract conditions | |
| P1002R1 | constexpr関数内でのtry-catchブロックを許可 | 完了 |
| P1327R1 | 定数式でのdynamic_cast、多態的なtypeidを許可 |
完了 |
| P1236R1 | 符号付き整数型が2の補数表現であることを規定 | 完了 |
| P0482R6 | UTF-8エンコーディングされた文字の型としてchar8_tを追加 |
完了 |
| P1353R0 | Missing feature test macros | |
| P1073R3 | 即時関数 | 完了 |
| P0595R2 | std::is_constant_evaluated() |
完了 |
| P1141R2 | Yet another approach for constrained declarations | 途中かもしれないので要確認 |
| P1094R2 | 入れ子名前空間定義でのインライン名前空間 | 完了 |
| P1330R0 | 定数式内での共用体のアクティブメンバの変更を許可 | 完了 |
| P1286R2 | Contra CWG DR1778 | |
| P1091R3 | 構造化束縛を拡張して通常の変数宣言のように使用できるようにする | 完了 |
| P1381R1 | 構造化束縛したビットフィールドの参照キャプチャ | 完了 |
| P1041R4 |
char16_tとchar32_tの文字・文字列リテラルを、文字コードUTF-16/32に規定 |
完了 |
| P1139R2 | ISO 10646 (Unicode) 関係の文言を編集レベルで修正 | 対応なし |
| P1323R2 | 事後条件の契約は、戻り値の型を推論する関数宣言には付けられないことを規定 | |
| P0960R3 | 丸カッコの値リストからの集成体初期化を許可 | 完了 |
| P1009R2 |
new式での配列要素数の推論 |
完了 |
| P1103R3 | モジュール | 完了 |
| P1185R2 | <=> != == |
完了 |
| P0912R5 | コルーチン | 完了 |
| P1161R3 | Deprecate uses of the comma operator in subscripting expressions | 完了 |
| P1331R2 | Permitting trivial default initialization in constexpr contexts | 完了 |
| P0735R1 | Interaction of memory_order_consume with release sequences |
|
| P0848R3 | Conditionally trivial special member functions | |
| P1186R3 | When do you actually use <=>? |
完了 |
| P1301R4 | [[nodiscard("should have a reason")]] |
完了 |
| P1099R5 | using enum |
完了 |
| P1630R1 | Spaceship needs a tune-up | 完了 |
| P1616R1 | Using unconstrained template template parameters with constrained templates | |
| P1816R0 | Class template argument deduction for aggregates | 完了 |
| P1668R1 | Enabling constexpr intrinsics by permitting unevaluated inline assembly in constexpr functions |
完了 |
| P1766R1 | Mitigating minor modules maladies (DR) | 完了 |
| P1811R0 | Relaxing redefinition restrictions for re-exportation robustness | 完了 |
| P0388R4 | Permit conversions to arrays of unknown bound | 完了 |
| P1823R0 | Remove contracts | 完了 |
| P1143R2 | Adding the constinit keyword |
完了 |
| P1452R2 | On the non-uniform semantics of return-type-requirements | 完了 |
| P1152R4 | Deprecating volatile
|
完了 |
| P1771R1 |
[[nodiscard]] for constructors (DR) |
完了 |
| P1814R0 | Class template argument deduction for alias templates | 完了 |
| P1825R0 | Merged wording for P0527R1 and P1155R3 (DR) (more implicit move) | |
| P1703R1 | Recognizing header unit imports requires full preprocessing | 完了 |
| P0784R7 | More constexpr containers |
完了 |
| P1971R0 | Core Language Changes for NB Comments at the November, 2019 (Belfast) meeting | |
| P1972R0 | US105 Check satisfaction of constraints for non-templates when forming pointer to function | |
| P1975R0 | Fixing the wording of parenthesized aggregate-initialization | |
| P1874R1 | Dynamic initialization order of non-local variables in modules | |
| P1946R0 | Allow defaulting comparisons by value | 完了 |
| P1907R1 | Inconsistencies with non-type template parameters | 完了 |
| P1979R0 | Resolution to US086 | |
| P1980R0 | Declaration matching for non-dependent requires-clauses | |
| P2103R0 | Core Language Changes for NB Comments at the February, 2020 (Prague) meeting | |
| P1779R3 | ABI isolation for member functions | |
| P1857R3 | Modules Dependency Discovery | |
| P0593R6 | Implicit creation of objects for low-level object manipulation | |
| P1957R2 | Converting from T* to bool should be considered narrowing (re: US 212) |
言語側のみ完了 |
| P2104R0 | Disallow changing concept values | |
| P2107R0 | Core Issue 2436: US064 Copy semantics of coroutine parameters | |
| P2092R0 | Disambiguating Nested-Requirements | |
| P2108R0 | Core Language Working Group "ready" Issues for the February, 2020 (Prague) meeting | |
| P2109R0 | Disallow export import foo outside of module interface |
|
| P2082R1 | Fixing CTAD for aggregates | |
| P2113R0 | Proposed resolution for 2019 comment CA 112 | |
| P2115R0 | US069: Merging of multiple definitions for unnamed unscoped enumerations | |
| P1815R2 | Translation-unit-local entities | |
| P2095R0 | Resolve lambda init-capture pack grammar (CWG2378からword changeあり) | 完了 |
| P2002R1 | Defaulted comparison specification cleanups | |
| P2085R0 | Consistent defaulted comparisons | |
| P1908R1 | Reserving attribute namespaces for future use | 完了 |
| P1937R2 | Fixing inconsistencies between constexpr and consteval functions |
| paper | タイトル | 対応状況(空 or 完了 or 対応しない or 担当名) |
|---|---|---|
| P0463R1 | Endian, just endian | 完了 |
| P0674R1 | Extending make_shared to support arrays |
完了 |
| P0768R1 | 宇宙船演算子をライブラリサポート | 完了 |
| P0550R2 | Transformation trait remove_cvref
|
完了 |
| P0777R1 | Treating unnecessary decay
|
完了 |
| P0600R1 |
[[nodiscard]] in the Library |
完了 |
| P0439R0 | Make std::memory_order a scoped enumeration |
完了 |
| P0053R7 | Synchronized buffered ostream
|
完了 |
| P0653R2 | Utility to convert a pointer to a raw pointer | 完了 |
| P0202R3 | Add constexpr modifiers to functions in <algorithm> and <utility> Headers |
完了 |
| P0415R1 |
constexpr for std::complex
|
完了 |
| P0718R2 | Atomic shared_ptr
|
完了 |
| P0020R6 | Floating point atomic | 完了 |
| P0616R0 | De-pessimize legacy <numeric> algorithms with std::move
|
完了 |
| P0457R2 | String prefix and suffix checking | 完了 |
| P0754R2 | <version> |
完了 |
| P0809R0 | Comparing unordered containers | 完了 |
| P0355R7 | Extending chrono to calendars and time zones (n4740でwording changeあり) | 完了 |
| P0966R1 |
string::reserve should not shrink |
完了 |
| P0551R3 | Thou shalt not specialize std function templates! | 完了 (C++20の概要ページに記載) |
| P0753R2 | Manipulators for C++ synchronized buffered ostream | 完了 |
| P0122R7 |
<span> (n4740でwording changeあり) |
完了 |
| P0858R0 | Constexpr iterator requirements | |
| P0476R2 | オブジェクト表現のビットキャスト | 完了 |
| P0788R3 | Standard library specification in a concepts and contracts world | 完了 |
| P0458R2 | Checking for existence of an element in associative containers | 完了 |
| P0759R1 |
fpos requirements |
|
| P1023R0 |
constexpr comparison operators for std::array
|
完了 |
| P0769R2 | Add shift to <algorithm>
|
完了 |
| P0887R1 | The identity metafunction | 完了 |
| P0879R0 |
constexpr for swap and swap-related functions |
完了 |
| P0758R1 | Implicit conversion traits and utility functions | 完了 |
| P0556R3 | 2の乗数整数に対する操作 | 完了 |
| P0019R8 | atomic_ref |
完了 |
| P0935R0 | Eradicating unnecessarily explicit default constructors from the standard library | 完了 |
| P0646R1 | Improving the return value of erase-like algorithms |
完了 |
| P0619R4 | C++17で非推奨となった機能を、C++20に向けてレビューする | 完了 |
| P0898R3 | Standard library concepts | 完了 |
| P1123R0 | Editorial guidance for merging P0019R8 and P0528R3 | |
| P0487R1 | Fixing operator>>(basic_istream&, CharT*)
|
完了 |
| P0602R4 |
variant and optional should propagate copy/move triviality |
完了 |
| P0655R1 |
visit<R>: explicit return type for visit
|
完了 |
| P0972R0 |
<chrono> zero(), min(), and max() should be noexcept
|
完了 |
| P1006R1 |
constexpr in std::pointer_traits
|
完了 |
| P1032R1 | Miscellaneous constexpr bits |
完了 |
| P1148R0 | Cleaning up clause 20 (strings) | |
| P0318R1 |
unwrap_ref_decay and unwrap_reference
|
完了 |
| P0357R3 |
reference_wrapper for incomplete types |
完了 |
| P0608R3 | A sane variant converting constructor |
完了 |
| P0771R1 |
std::function move constructor should be noexcept
|
完了 |
| P1007R3 | std::assume_aligned |
完了 |
| P1020R1 | Smart pointer creation with default initialization | 完了 |
| P1285R0 | Improving completeness requirements for type traits | |
| P1248R1 | Remove CommonReference requirement from StrictWeakOrdering
|
完了 |
| P0591R4 | Utility functions to implement uses-allocator construction | 完了 |
| P0899R1 | LWG 3016 is not a defect | |
| P1085R2 | Should span be regular? |
完了 |
| P1165R1 | Make stateful allocator propagation more consistent for operator+(basic_string)
|
完了 |
| P0896R4 | The One Ranges proposal | |
| P0356R5 | Simplified partial function application | 完了 |
| P0919R3 | Heterogeneous lookup for unordered containers | 完了 |
| P1209R0 | Adopt consistent container erasure from Library Fundamentals 2 | 完了 |
| P0339R6 |
polymorphic_allocator<> as a vocabulary type |
完了 |
| P0340R3 | Making std::underlying_type SFINAE-friendly |
完了 |
| P0738R2 | I Stream, You Stream, We All Stream for istream_iterator
|
|
| P1458R1 | 契約とコンセプトの導入にともなってライブラリ仕様の書き方を変更: clause 16 - language support library | |
| P1459R1 | 契約とコンセプトの導入にともなってライブラリ仕様の書き方を変更: clause 18 - diagnostics library | |
| P1462R1 | 契約とコンセプトの導入にともなってライブラリ仕様の書き方を変更: clause 20 - strings library | |
| P1463R1 | 契約とコンセプトの導入にともなってライブラリ仕様の書き方を変更: clause 21 - containers library | |
| P1464R1 | 契約とコンセプトの導入にともなってライブラリ仕様の書き方を変更: clause 22 - iterators library | |
| P1164R1 | Make create_directory() intuitive |
|
| P0811R3 | 整数とポインタで正しく動作する補間 | 完了 |
| P1001R2 | Target vectorization policies from Parallelism V2 TS | 完了 |
| P1227R2 | Signed ssize() functions, unsigned size() functions |
完了 |
| P1252R2 | Ranges design cleanup | |
| P1024R3 | Usability enhancements for std::span
|
完了 |
| P0920R2 | Precalculated hash values in lookup | 完了 |
| P1357R1 | Traits for [un]bounded arrays | 完了 |
| P1355R2 | Exposing a narrow contract for ceil2
|
完了 |
| P0553R4 | Bit operations | 完了 |
| P1424R1 |
constexpr feature macro concerns |
|
| P0645R10 | Text formatting | 完了 |
| P1361R2 | Integration of chrono with text formatting | 完了 |
| P1652R1 | Printf corner cases in std::format
|
完了 |
| P0631R8 | Math constants | 完了 |
| P1135R6 | The C++20 synchronization library | 完了 |
| P1643R1 | Add wait/notify to atomic_ref
|
完了 |
| P1644R0 | Add wait/notify to atomic<shared_ptr>
|
完了 |
| P1466R3 | Miscellaneous minor fixes for chrono | 完了 |
| P1754R1 | Rename concepts to standard_case for C++20, while we still can |
完了 |
| P1614R2 | The mothership has landed | 完了 |
| P0325R4 |
to_array from LFTS with updates |
完了 |
| P0408R7 | Efficient access to basic_stringbuf's buffer |
|
| P1423R3 |
char8_t backward compatibility remediation |
完了 |
| P1502R1 | Standard library header units | |
| P1612R1 | Relocate endian's specification |
完了 |
| P1661R1 | Remove dedicated precalculated hash lookup interface | 完了 |
| P1650R0 | Output std::chrono::days with d suffix |
完了 |
| P1651R0 |
bind_front should not unwrap reference_wrapper
|
完了 |
| P1065R2 | Constexpr invoke
|
完了 |
| P1207R4 | Movability of single-pass iterators | 完了 |
| P1035R7 | Input range adaptors | |
| P1638R1 |
basic_istream_view::iterator should not be copyable |
|
| P1522R1 | Iterator difference type and integer overflow |
<iterator>の部分は完了 |
| P1004R2 | Making std::vector constexpr |
完了 |
| P0980R1 | Making std::string constexpr |
完了 |
| P0660R10 | Stop token and joining thread | 完了 |
| P1474R1 | Helpful pointers for ContiguousIterator
|
<iterator>の部分は完了 |
| P1523R1 | Views and size types | |
| P0466R5 | Layout-compatibility and pointer-interconvertibility traits | 完了 |
| P1208R6 | source_location |
完了 |
| P1855R0 | Make <compare> freestanding |
完了 |
| P1690R1 | Refinement proposal for P0919 heterogeneous lookup for unordered containers | 完了 |
| P1872R0 |
span should have size_type, not index_type
|
完了 |
| P1965R0 | Hidden friends | 完了 |
| P1716R3 |
ranges comparison algorithms are over-constrained |
|
| P1869R1 | Rename condition_variable_any interruptible wait methods |
完了 |
| P1961R0 | Harmonizing the definitions of total order for pointers | |
| P1878R1 | Constraining readable types |
|
| P1871R1 | Concept traits should be named after concepts | 完了 |
| P1456R1 | Move-only views | |
| P1391R4 | Range constructor for std::string_view
|
完了 |
| P1394R4 | Range constructor for std::span
|
完了 |
| P1862R1 | Ranges adaptors for non-copyable iterators | |
| P1870R1 |
forwarding-range<T> is too subtle" |
|
| P1865R1 | Add max() to latch and barrier
|
完了 |
| P1960R0 | NB comment changes reviewed by SG1 | 完了 |
| P1902R1 | Missing feature-test macros 2017-2019 | |
| P0883R2 | Fixing atomic initialization | 完了 |
| P1959R0 | Remove std::weak_equality and std::strong_equality
|
完了 |
| P1892R1 | Extended locale-specific presentation specifiers for std::format
|
|
| P1645R1 |
constexpr for <numeric> algorithms |
完了 |
| P1718R2 | Mandating the standard library: Clause 25 - Algorithms library | |
| P1719R2 | Mandating the standard library: Clause 26 - Numerics library | |
| P1686R2 | Mandating the standard library: Clause 27 - Time library | |
| P1720R2 | Mandating the standard library: Clause 28 - Localization library | |
| P1721R2 | Mandating the standard library: Clause 29 - Input/Output library | |
| P1722R2 | Mandating the standard library: Clause 30 - Regular Expression library | |
| P1723R2 | Mandating the standard library: Clause 31 - Atomics library | |
| P1622R3 | Mandating the standard library: Clause 32 - Thread support library | |
| P2051R0 | C++ Standard Library Issues to be moved in Prague |
span, chrono, lexicographical_compare_three_wayは完了 |
| P2117R0 | C++ Standard Library Issues Resolved Directly In Prague |
span, chrono, to_addressは完了 |
| P1981R0 | Rename leap to leap_second
|
完了 |
| P1982R0 | Rename link to time_zone_link
|
完了 |
| P2101R0 | "Models" subsumes "satisfies" (Wording for US298 and US300) | 完了 |
| R1115R3 | Improving the Return Value of Erase-Like Algorithms II: Free erase/erase_if
|
完了 |
| P2102R0 | Make "implicit expression variations" more explicit (Wording for US185) | |
| P1994R1 |
elements_view needs its own sentinel
|
|
| P1868R2 | 🦄 width: clarifying units of width and precision in std::format
|
|
| P1956R1 | On the names of low-level bit manipulation functions | 完了 |
| P1976R2 | Fixed-size span construction from dynamic range |
完了 |
| P1964R2 | Wording for boolean-testable |
<concepts>部分のみ完了 |
| P2091R0 | Issues with range access customization point objects | |
| P0586R2 | Safe integral comparisons (NB DE 208からword changeあり) | 完了 |
| P1831R1 | Deprecating volatile: library (NB CZ 004, NB CA 210, NB US 211からword changeあり) |
完了 |
| P1973R1 | Rename _default_init functions (NB DE 002からword changeあり) |
完了 |
| P1243R4 | Rangify new algorithms | |
| P2106R0 | Alternative wording for GB315 and GB316 | |
| P1739R4 | Avoid template bloat for safe_ranges in combination with "subrange-y" view adaptors |
|
| P2116R0 | Remove tuple-like protocol support from fixed-extent span
|
完了 |
| P1970R2 | Consistency for size functions: add ranges::ssize
|
| CWG DR | タイトル | 対応状況(空 or 完了 or 対応しない or 担当名) |
|---|---|---|
| 1893 | Function-style cast with braced-init-lists and empty pack expansions | |
| 1910 | "Shall" requirement applied to runtime behavior | |
| 1983 | Inappropriate use of virt-specifier | |
| 2059 | Linkage and deduced return types | |
| 2081 | Deduced return type in redeclaration or specialization of function template | |
| 2088 | Late tiebreakers in partial ordering | |
| 2092 | Deduction failure and overload resolution | |
| 2164 | Name hiding and using-directives | |
| 2226 | Xvalues vs lvalues in conditional expressions | |
| 2227 | Destructor access and default member initializers | |
| 2229 | Volatile unnamed bit-fields | |
| 2234 | Missing rules for simple-template-id as class-name | |
| 2235 | Partial ordering and non-dependent types | |
| 2237 | Can a template-id name a constructor? | |
| 2255 | Instantiated static data member templates | |
| 2260 | Explicit specializations of deleted member functions | |
| 2299 |
constexpr vararg functions |
|
| 2254 | Standard-layout classes and bit-fields | |
| 2293 | Requirements for simple-template-id used as a class-name | |
| 2294 | Dependent auto static data members | |
| 2321 | Conditional operator and cv-qualified class prvalues | |
| 2322 | Substitution failure and lexical order | |
| 2339 | Underspecified template arguments in structured bindings | |
| 2233 | Function parameter packs following default arguments | |
| 2249 | identifiers and id-expressions | |
| 2285 | Issues with structured bindings | |
| 2351 | void{} | |
| 2356 | Base class copy and move constructors should not be inherited | |
| 2359 | Unintended copy initialization with designated initializers (not a DR) | |
| 1636 | Bits required for negative enumerator values superseded by CWG Motion 10 | |
| 1781 | Converting from nullptr_t to bool in overload resolution |
|
| 2133 | Converting std::nullptr_t to bool resolved by resolution to CWG1781 |
|
| 2373 | Incorrect handling of static member function templates in partial ordering | |
| 2256 | Lifetime of trivially-destructible objects | |
| 2267 | Copy-initialization of temporary in reference direct-initialization | |
| 2278 | Copy elision in constant expressions reconsidered | |
| 2303 | Partial ordering and recursive variadic inheritance | |
| 2309 | Restrictions on nested statements within constexpr functions |
|
| 2310 | Type completeness and derived-to-base pointer conversions | |
| 2317 | Self-referential default member initializers | |
| 2318 | Nondeduced contexts in deduction from a braced-init-list | |
| 2330 | Missing references to variable templates | |
| 2331 | Redundancy in description of class scope not applied | |
| 2332 | template-name as simple-type-name vs injected-class-name | |
| 2336 | Destructor characteristics vs potentially-constructed subobjects | |
| 2352 | Similar types and reference binding | |
| 2358 | Explicit capture of value | |
| 2360 |
[[maybe_unused]] and structured bindings |
|
| 581 | Can a templated constructor be explicitly instantiated or specialized? | |
| 1937 | Incomplete specification of function pointer from lambda | |
| 1938 | Should hosted/freestanding be implementation-defined? | |
| 2020 | Inadequate description of odr-use of implicitly-invoked functions | |
| 2051 | Simplifying alias rules | |
| 2083 | Incorrect cases of odr-use | |
| 2103 | Lvalue-to-rvalue conversion is irrelevant in odr-use of a reference resolved by 2083 | |
| 2170 | Unclear definition of odr-use for arrays resolved by 2083 | |
| 2257 | Lifetime extension of references vs exceptions | |
| 2266 | Has dependent type vs is type-dependent | |
| 2289 | Uniqueness of structured binding names | |
| 2353 | Potential results of a member access expression for a static data member | |
| 2354 | Extended alignment and object representation | |
| 2365 | Confusing specification for dynamic_cast
|
|
| 2368 | Differences in relational and three-way constant comparisons | |
| 2372 | Incorrect matching rules for block-scope extern declarations | |
| 2379 | Missing prohibition against constexpr in friend declaration |
|
| 2380 | capture-default makes too many references odr-usable | |
| 2381 | Composite pointer type of pointers to plain and noexcept member functions | |
| 2384 | Conversion function templates and qualification conversions | |
| 2385 | Lookup for conversion-function-ids | |
| 2386 |
tuple_size requirements for structured binding |
|
| 2387 | Linkage of const-qualified variable template | |
| 2394 | Const-default-constructible for members | |
| 682 | Missing description of lookup of template aliases | |
| 2207 | Alignment of allocation function return value | |
| 2300 | Lambdas in multiple definitions | |
| 2366 | Can default initialization be constant initialization? | |
| 2376 | Class template argument deduction with array declarator | |
| 2390 | Is the argument of __has_cpp_attribute macro-expanded? |
|
| 2400 | Constexpr virtual functions and temporary objects | |
| 2404 |
[[no_unique_address]] and allocation order |
|
| 2406 |
[[fallthrough]] attribute and iteration statements |
|
| 2418 | Missing cases in definition of "usable in constant expressions" | |
| 2280 | Matching a usual deallocation function with placement new
|
|
| 2382 | Array allocation overhead for non-allocating placement new
|
|
| 2416 | Explicit specializations vs constexpr and consteval
|
|
| 2441 | Inline function parameters | |
| 1621 | Member initializers in anonymous unions | |
| 2126 | Lifetime-extended temporaries in constant expressions | |
| 2282 | Consistency with mismatched aligned/non-over-aligned allocation/deallocation functions | |
| 2347 | Passing short scoped enumerations to ellipsis | |
| 2374 | Overly permissive specification of enum direct-list-initialization |
|
| 2399 | Unclear referent of “expression” in assignment-expression | |
| 2419 | Loss of generality treating pointers to objects as one-element arrays | |
| 2422 | Incorrect grammar for deduction-guide | |
| 2424 |
constexpr initialization requirements for variant members |
|
| 2426 | Reference to destructor that cannot be invoked | |
| 2427 | Deprecation of volatile operands and unevaluated contexts | |
| 2429 | Initialization of thread_local variables referenced by lambdas |
|
| 2430 | Completeness of return and parameter types of member functions | |
| 2431 | Full-expressions and temporaries bound to references | |
| 2432 | Return types for defaulted <=>
|
|
| 2433 | Variable templates in the ODR | |
| 2437 | Conversion of std::strong_ordering in a defaulted operator<=>
|
|
| 2439 | Undefined term in definition of "usable in constant expressions" resolved by CWG 2126 | |
| 2442 | Incorrect requirement for default arguments |
C++20の規格書には入らずC++23扱いだが、実際にはC++20に含まれる変更:
| CWG DR | タイトル | 対応状況(空 or 完了 or 対応しない or 担当名) |
|---|---|---|
| P1787R6 | Declarations and where to find them |
| LWG DR | タイトル | 対応状況(空 or 完了 or 対応しない or 担当名) |
|---|---|---|
| 2164 | What are the semantics of vector.emplace(vector.begin(), vector.back())? |
|
| 2243 |
istream::putback problem |
|
| 2816 |
resize_file has impossible postcondition |
完了 |
| 2843 | Unclear behavior of std::pmr::memory_resource::do_allocate()
|
完了 |
| 2849 | Why does !is_regular_file(from) cause copy_file to report a "file already exists" error? |
完了 |
| 2851 |
std::filesystem enum classes are now underspecified |
完了 |
| 2969 |
polymorphic_allocator::construct() shouldn't pass resource()
|
完了 |
| 2975 | Missing case for pair construction in scoped and polymorphic allocators |
完了 |
| 2989 |
path's stream insertion operator lets you insert everything under the sun |
完了 |
| 3000 |
monotonic_memory_resource::do_is_equal uses dynamic_cast unnecessarily |
完了 |
| 3004 | [string.capacity] and [vector.capacity] should specify time complexity for capacity()
|
完了 |
| 3005 | Destruction order of arrays by make_shared/allocate_shared only recommended? |
|
| 3007 |
allocate_shared should rebind allocator to cv-unqualified value_type for construction |
|
| 3009 | Including <string_view> doesn't provide std::size/empty/data
|
完了 |
| 3013 | (recursive_)directory_iterator construction and traversal should not be noexcept
|
完了 |
| 3014 | More noexcept issues with filesystem operations |
完了 |
| 3015 |
copy_options::unspecified underspecified |
完了 |
| 3017 |
list splice functions should use addressof
|
完了 |
| 3026 |
filesystem::weakly_canonical still defined in terms of canonical(p, base)
|
完了 |
| 3030 | Who shall meet the requirements of try_lock? |
|
| 3034 | P0767R1 breaks previously-standard-layout types | |
| 3035 |
std::allocator's constructors should be constexpr
|
|
| 3039 | Unnecessary decay in thread and packaged_task
|
完了 |
| 3041 | Unnecessary decay in reference_wrapper
|
完了 |
| 3042 |
is_literal_type_v should be inline
|
完了 |
| 3043 | Bogus postcondition for filesystem_error constructor |
完了 |
| 3045 |
atomic<floating-point> doesn't have value_type or difference_type
|
完了 |
| 3048 |
transform_reduce(exec, first1, last1, first2, init) discards execution policy |
完了 |
| 3051 | Floating point classifications were inadvertently changed in P0175 | |
| 2946 | LWG 2758's resolution missed further corrections | 完了 |
| 3075 |
basic_string needs deduction guides from basic_string_view
|
完了 |
| 2139 | What is a user-defined type? | |
| 2970 | Return type of std::visit misspecified |
完了 |
| 3058 | Parallel adjacent_difference shouldn't require creating temporaries |
|
| 3062 | Unnecessary decay_t in is_execution_policy_v should be remove_cvref_t
|
|
| 3067 |
recursive_directory_iterator::pop must invalidate |
完了 |
| 3074 | Non-member functions for valarray should only deduce from the valarray
|
完了 |
| 3076 |
basic_string CTAD ambiguity |
|
| 3079 | LWG 2935 forgot to fix the existing_p overloads of create_directory
|
|
| 3080 | Floating point from_chars pattern specification breaks round-tripping |
完了 |
| 3083 | What should ios::iword(-1) do? |
|
| 3094 | [time.duration.io] p4 makes surprising claims about encoding | 完了 |
| 3100 | Unnecessary and confusing "empty span" wording | 完了 |
| 3102 | Clarify span iterator and const_iterator behavior |
完了 |
| 3104 | Fixing duration division |
完了 |
| 2511 | Guaranteed copy elision for piecewise construction | |
| 2183 | Muddled allocator requirements for match_results constructors |
|
| 2184 | Muddled allocator requirements for match_results assignments |
|
| 2412 |
promise::set_value() and promise::get_future() should not race |
完了 |
| 2682 |
filesystem::copy() won't create a symlink to a directory |
完了 |
| 2936 | Path comparison is defined in terms of the generic format | |
| 2943 | Problematic specification of the wide version of basic_filebuf::open
|
|
| 2995 |
basic_stringbuf default constructor forbids it from using SSO capacity |
|
| 2996 | Missing rvalue overloads for shared_ptr operations |
完了 |
| 3008 |
make_shared (sub)object destruction semantics are not specified |
|
| 3025 | Map-like container deduction guides should use pair<Key, T>, not pair<const Key, T>
|
完了 |
| 3031 | Algorithms and predicates with non-const reference arguments | |
| 3037 |
polymorphic_allocator and incomplete types |
完了 |
| 3038 |
polymorphic_allocator::allocate should not allow integer overflow to create vulnerabilities |
完了 |
| 3054 |
uninitialized_copy appears to not be able to meet its exception-safety guarantee |
|
| 3065 | LWG 2989 missed that all path's other operators should be hidden friends as well | |
| 3096 |
path::lexically_relative is confused by trailing slashes |
|
| 3116 | OUTERMOST_ALLOC_TRAITS needs remove_reference_t
|
|
| 3122 |
__cpp_lib_chrono_udls was accidentally dropped |
|
| 3127 |
basic_osyncstream::rdbuf needs a const_cast
|
|
| 3128 |
strstream::rdbuf needs a const_cast |
|
| 3129 |
regex_token_iterator constructor uses wrong pointer arithmetic |
|
| 3130 | [input.output] needs many addressof
|
stringstream以外完了 |
| 3131 |
addressof all the things |
完了 |
| 3132 | Library needs to ban macros named expects or ensures | |
| 3137 | Header for __cpp_lib_to_chars
|
|
| 3140 | COMMON_REF is unimplementable as specified | |
| 3145 |
file_clock breaks ABI for C++17 implementations |
完了 |
| 3147 | Definitions of likely and unlikely are likely to cause problems | |
| 3148 |
<concepts> should be freestanding |
完了 |
| 3153 |
Common and common_type have too little in common |
完了 |
| 3154 |
Common and CommonReference have a common defect |
完了 |
| 3160 |
atomic_ref() = delete; should be deleted |
完了 |
| 3012 |
atomic is unimplementable for non-is_trivially_copy_constructible T
|
完了 |
| 3040 |
basic_string_view::starts_with Effects are incorrect |
完了 |
| 3077 | (push|emplace)_back should invalidate the end iterator |
|
| 3087 | One final &x in [list.ops] |
完了 |
| 3101 |
span's Container constructors need another constraint |
完了 |
| 3112 |
system_error and filesystem_error constructors taking a string may not be able to meet their postconditions |
system_error以外は完了 |
| 3119 | Program-definedness of closure types | |
| 3133 | Modernizing numeric type requirements | |
| 3144 |
span does not have a const_pointer typedef |
完了 |
| 3173 | Enable CTAD for ref-view | |
| 3179 |
subrange should always model Range
|
|
| 3180 | Inconsistently named return type for ranges::minmax_element
|
|
| 3182 | Specification of Same could be clearer |
完了 |
| 3209 | Expression in year::ok() returns clause is ill-formed |
完了 |
| 3208 |
Boolean's expression requirements are ordered inconsistently |
完了 |
| 3206 |
year_month_day conversion to sys_days uses not-existing member function |
完了 |
| 3202 | P0318R1 was supposed to be revised | |
| 3199 |
istream >> bitset<0> fails |
|
| 3198 | Bad constraint on std::span::span()
|
完了 |
| 3196 |
std::optional<T> is ill-formed if T is an array |
完了 |
| 3191 |
std::ranges::shuffle synopsis does not match algorithm definition |
|
| 3187 | P0591R4 reverted DR 2586 fixes to scoped_allocator_adaptor::construct()
|
|
| 3186 | Ranges remove, partition, and partial_sort_copy algorithms discard useful information |
|
| 3185 | Uses-allocator construction functions missing constexpr and noexcept
|
|
| 3184 | Inconsistencies in bind_front wording |
対応なし |
| 3183 | Normative permission to specialize ranges variable templates | |
| 3169 | Ranges permutation generators discard useful information | |
| 3158 |
tuple(allocator_arg_t, const Alloc&) should be conditionally explicit
|
|
| 3055 |
path::operator+=(single-character) misspecified |
|
| 2899 |
is_(nothrow_)move_constructible and tuple, optional and unique_ptr
|
|
| 3070 |
path::lexically_relative causes surprising results if a filename can also be a root-name |
|
| 3103 | Errors in taking subview of span should be ill-formed where possible |
完了 |
| 3149 |
default_constructible should require default initialization |
完了 |
| 3190 |
std::allocator::allocate sometimes returns too little storage |
|
| 3218 | Modifier for %d parse flag does not match POSIX and format specification |
完了 |
| 3221 | Result of year_month arithmetic with months is ambiguous |
完了 |
| 3222 | P0574R1 introduced preconditions on non-existent parameters | |
| 3224 |
zoned_time constructor from TimeZonePtr does not specify initialization of tp_
|
完了 |
| 3225 |
zoned_time converting constructor shall not be noexcept
|
完了 |
| 3230 | Format specifier %y/%Y is missing locale alternative versions |
完了 |
| 3231 |
year_month_day_last::day specification does not cover !ok() values |
完了 |
| 3232 | Inconsistency in zoned_time deduction guides |
完了 |
| 3235 |
parse manipulator without abbreviation is not callable |
完了 |
| 3241 | chrono-spec grammar ambiguity in [time.format] | 対応なし |
| 3244 | Constraints for Source in [fs.path.req] insufficiently constrainty |
|
| 3245 | Unnecessary restriction on %p parse specifier |
完了 |
| 3246 | What are the constraints on the template parameter of basic_format_arg? |
|
| 3253 |
basic_syncbuf::basic_syncbuf() should not be explicit
|
|
| 3256 | Feature testing macro for constexpr algorithms |
|
| 3257 | Missing feature testing macro update from P0858 | |
| 3259 | The definition of constexpr iterators should be adjusted | |
| 3266 |
to_chars(bool) should be deleted |
完了 |
| 3272 |
%I%p should parse/format duration since midnight |
完了 |
| 3273 | Specify weekday_indexed to range of [0, 7]
|
完了 |
| 3274 | Missing feature test macro for <span>
|
|
| 3276 | Class split_view::outer_iterator::value_type should inherit from view_interface
|
|
| 3277 | Pre-increment on prvalues is not a requirement of weakly_incrementable
|
完了 |
C++20の規格書には入らずC++23扱いだが、実際にはC++20に含まれる変更:
| LWG DR | タイトル | 対応状況(空 or 完了 or 対応しない or 担当名) |
|---|---|---|
| 3483 |
transform_view::iterator's difference is overconstrained |
|
| 3482 |
drop_view's const begin should additionally require sized_range
|
|
| 3477 | Simplify constraints for semiregular-box | |
| 3476 |
thread and jthread constructors require that the parameters be move-constructible but never move construct the parameters |
|
| 3474 | Nesting join_views is broken because of CTAD |
|
| 3473 | Normative encouragement in non-normative note | |
| 3472 |
counted_iterator is missing preconditions |
完了 |
| 3467 |
bool can't be an integer-like type |
完了 |
| 3466 | Specify the requirements for promise/future/shared_future consistently |
|
| 3465 |
compare_partial_order_fallback requires F < E
|
完了 |
| 3461 |
convertible_to's description mishandles cv-qualified void
|
完了 |
| 3460 | Unimplementable noop_coroutine_handle guarantees |
|
| 3455 | Incorrect Postconditions on unique_ptr move assignment |
|
| 3453 | Generic code cannot call ranges::advance(i, s)
|
完了 |
| 3449 |
take_view and take_while_view's sentinel<false> not comparable with their const iterator
|
|
| 3448 |
transform_view's sentinel<false> not comparable with iterator<true>
|
|
| 3446 |
indirectly_readable_traits ambiguity for types with both value_type and element_type
|
完了 |
| 3437 |
__cpp_lib_polymorphic_allocator is in the wrong header |
|
| 3434 |
ios_base never reclaims memory for iarray and parray
|
|
| 3428 |
single_view's in place constructor should be explicit |
|
| 3427 |
operator<=>(const shared_ptr<T>&, nullptr_t) definition ill-formed |
|
| 3426 |
operator<=>(const unique_ptr<T, D>&, nullptr_t) can't get no satisfaction |
|
| 3425 |
condition_variable_any fails to constrain its Lock parameters |
|
| 3421 | Imperfect ADL emulation for boolean-testable | |
| 3420 | cpp17-iterator should check that the type looks like an iterator first | |
| 3419 | [algorithms.requirements]/15 doesn't reserve as many rights as it intends to | |
| 3406 |
elements_view::begin() and elements_view::end() have incompatible constraints |
|
| 3405 |
common_view's converting constructor is bad, too |
|
| 3404 | Finish removing subrange's conversions from pair-like |
|
| 3403 | Domain of ranges::ssize(E) doesn't match ranges::size(E)
|
|
| 3306 |
ranges::advance violates its preconditions |
|
| 3171 | LWG2989 breaks directory_entry stream insertion |
|
| 3036 |
polymorphic_allocator::destroy is extraneous |
完了 |
| 3170 |
is_always_equal added to std::allocator makes the standard library treat derived types as always equal |
|
| 3120 | Unclear behavior of monotonic_buffer_resource::release()
|
|
| 2820 | Clarify <cstdint> macros |
|
| 2743 | P0083R3 node_handle private members missing "exposition only" comment |
|
| 2731 | Existence of lock_guard<MutexTypes...>::mutex_type typedef unclear |
|
| 3464 |
istream::gcount() can overflow |
|
| 3450 | The const overloads of take_while_view::begin/end are underconstrained |
|
| 3447 | Deduction guides for take_view and drop_view have different constraints |
|
| 3432 | Missing requirement for comparison_category
|
|
| 3435 | three_way_comparable_with<reverse_iterator<int*>, reverse_iterator<const int*>> |
完了 |
| 3249 | There are no 'pointers' in [atomics.lockfree] | |
| 3236 | Random access iterator requirements lack limiting relational operators domain to comparing those from the same range | |
| 3211 |
std::tuple<> should be trivially constructible |
|
| 3195 | What is the stored pointer value of an empty weak_ptr? |
|
| 3143 |
monotonic_buffer_resource growth policy is unclear |
|
| 3117 | Missing packaged_task deduction guides |
完了 |
| 2839 | Self-move-assignment of library types, again | |
| P2315R0 | C++ Standard Library Issues to be moved in Virtual Plenary, Feb. 2021 | |
| P2231R1 | Missing constexpr in std::optional and std::variant
|
|
| P2216R3 |
std::format improvements |
|
| P2281R1 | Clarifying range adaptor objects | |
| P2328R1 |
join_view should join all views of ranges |
完了 |
| P2325R3 | Views should not be required to be default constructible | 完了 |
| P2210R2 | Superior String Splitting | |
| P2367R0 | Remove misuses of list-initialization from Clause 24 | 完了 |