diff --git a/libcxx/docs/Helpers/Styles.rst b/libcxx/docs/Helpers/Styles.rst --- a/libcxx/docs/Helpers/Styles.rst +++ b/libcxx/docs/Helpers/Styles.rst @@ -17,6 +17,10 @@ font-style: italic; } .complete { background-color: #99FF99; } + .chrono { background-color: #00FFFF; } + .format { background-color: #1E90FF; } + .ranges { background-color: #32CD32; } + .spaceship { background-color: #CD5C5C; } .. role:: notstarted @@ -33,5 +37,15 @@ .. |Partial| replace:: :partial:`Partial` .. |Complete| replace:: :complete:`Complete` +.. role:: chrono +.. role:: format +.. role:: ranges +.. role:: spaceship + +.. |chrono| replace:: :chrono:`chrono` +.. |format| replace:: :format:`format` +.. |ranges| replace:: :ranges:`ranges` +.. |spaceship| replace:: :spaceship:`spaceship` + .. |sect| unicode:: U+00A7 .. |hellip| unicode:: U+2026 diff --git a/libcxx/docs/Status/Cxx20.rst b/libcxx/docs/Status/Cxx20.rst --- a/libcxx/docs/Status/Cxx20.rst +++ b/libcxx/docs/Status/Cxx20.rst @@ -30,22 +30,6 @@ .. _paper-status-cxx20: -Paper Status -==================================== - -.. csv-table:: - :file: Cxx20Papers.csv - :header-rows: 1 - :widths: auto - -.. note:: - - .. [#note-P0600] P0600: The missing bits in P0600 are in |sect|\ [mem.res.class] and |sect|\ [mem.poly.allocator.class]. - .. [#note-P0966] P0966: It was previously erroneously marked as complete in version 8.0. See `bug 45368 `__. - .. [#note-P0619] P0619: Only sections D.8, D.9, D.10 and D.13 are implemented. Sections D.4, D.7, D.11, D.12, and D.14 remain undone. - .. [#note-P0883] P0883: shared_ptr and floating-point changes weren't applied as they themselves aren't implemented yet. - - .. _issues-status-cxx20: Library Working Group Issues Status diff --git a/libcxx/docs/Status/Cxx20Issues.csv b/libcxx/docs/Status/Cxx20Issues.csv --- a/libcxx/docs/Status/Cxx20Issues.csv +++ b/libcxx/docs/Status/Cxx20Issues.csv @@ -1,300 +1,11 @@ -"Issue #","Issue Name","Meeting","Status","First released version" -"`2070 `__","``allocate_shared``\ should use ``allocator_traits::construct``\ ","Toronto","Resolved by `P0674R1 `__","" -"`2444 `__","Inconsistent complexity for ``std::sort_heap``\ ","Toronto","","" -"`2593 `__","Moved-from state of Allocators","Toronto","","" -"`2597 `__","``std::log``\ misspecified for complex numbers","Toronto","","" -"`2783 `__","``stack::emplace()``\ and ``queue::emplace()``\ should return ``decltype(auto)``\ ","Toronto","|Complete|","" -"`2932 `__","Constraints on parallel algorithm implementations are underspecified","Toronto","","" -"`2937 `__","Is ``equivalent(""existing_thing"", ""not_existing_thing"")``\ an error","Toronto","|Complete|","" -"`2940 `__","``result_of``\ specification also needs a little cleanup","Toronto","","" -"`2942 `__","LWG 2873's resolution missed ``weak_ptr::owner_before``\ ","Toronto","|Complete|","" -"`2954 `__","Specialization of the convenience variable templates should be prohibited","Toronto","|Complete|","" -"`2961 `__","Bad postcondition for ``set_default_resource``\ ","Toronto","","" -"`2966 `__","Incomplete resolution of US 74","Toronto","|Nothing To Do|","" -"`2974 `__","Diagnose out of bounds ``tuple_element/variant_alternative``\ ","Toronto","|Complete|","" -"","","","","" -"`2779 `__","[networking.ts] Relax requirements on buffer sequence iterators","Albuquerque","","" -"`2870 `__","Default value of parameter theta of polar should be dependent","Albuquerque","|Complete|","" -"`2935 `__","What should create_directories do when p already exists but is not a directory?","Albuquerque","|Nothing To Do|","" -"`2941 `__","[thread.req.timing] wording should apply to both member and namespace-level functions","Albuquerque","|Nothing To Do|","" -"`2944 `__","LWG 2905 accidentally removed requirement that construction of the deleter doesn't throw an exception","Albuquerque","|Nothing To Do|","" -"`2945 `__","Order of template parameters in optional comparisons","Albuquerque","|Complete|","" -"`2948 `__","unique_ptr does not define operator<< for stream output","Albuquerque","|Complete|","" -"`2950 `__","std::byte operations are misspecified","Albuquerque","|Complete|","" -"`2952 `__","iterator_traits should work for pointers to cv T","Albuquerque","|Complete|","" -"`2953 `__","LWG 2853 should apply to deque::erase too","Albuquerque","|Complete|","" -"`2958 `__","Moves improperly defined as deleted","Albuquerque","*We already do this*","" -"`2964 `__","Apparently redundant requirement for dynamic_pointer_cast","Albuquerque","","" -"`2965 `__","Non-existing path::native_string() in filesystem_error::what() specification","Albuquerque","|Nothing To Do|","" -"`2972 `__","What is ``is_trivially_destructible_v``\ ?","Albuquerque","|Complete|","" -"`2976 `__","Dangling uses_allocator specialization for packaged_task","Albuquerque","|Complete|","" -"`2977 `__","unordered_meow::merge() has incorrect Throws: clause","Albuquerque","|Nothing To Do|","" -"`2978 `__","Hash support for pmr::string and friends","Albuquerque","","" -"`2979 `__","aligned_union should require complete object types","Albuquerque","|Complete|","" -"`2980 `__","Cannot compare_exchange empty pointers","Albuquerque","","" -"`2981 `__","Remove redundant deduction guides from standard library","Albuquerque","","" -"`2982 `__","Making size_type consistent in associative container deduction guides","Albuquerque","","" -"`2988 `__","Clause 32 cleanup missed one typename","Albuquerque","","" -"`2993 `__","reference_wrapper conversion from T&&","Albuquerque","|Complete|","13.0" -"`2998 `__","Requirements on function objects passed to {``forward_``,}list-specific algorithms","Albuquerque","|Nothing To Do|","" -"`3001 `__","weak_ptr::element_type needs remove_extent_t","Albuquerque","","" -"`3024 `__","variant's copies must be deleted instead of disabled via SFINAE","Albuquerque","|Complete|","" -"","","","","" -"`2164 `__","What are the semantics of ``vector.emplace(vector.begin(), vector.back())``\ ?","Jacksonville","|Complete|","" -"`2243 `__","``istream::putback``\ problem","Jacksonville","|Complete|","" -"`2816 `__","``resize_file``\ has impossible postcondition","Jacksonville","|Nothing To Do|","" -"`2843 `__","Unclear behavior of ``std::pmr::memory_resource::do_allocate()``\ ","Jacksonville","|Complete|","" -"`2849 `__","Why does ``!is_regular_file(from)``\ cause ``copy_file``\ to report a ""file already exists"" error?","Jacksonville","|Nothing To Do|","" -"`2851 `__","``std::filesystem``\ enum classes are now underspecified","Jacksonville","|Nothing To Do|","" -"`2946 `__","LWG 2758's resolution missed further corrections","Jacksonville","|Complete|","" -"`2969 `__","``polymorphic_allocator::construct()``\ shouldn't pass ``resource()``\ ","Jacksonville","|Complete|","" -"`2975 `__","Missing case for ``pair``\ construction in scoped and polymorphic allocators","Jacksonville","","" -"`2989 `__","``path``\ 's stream insertion operator lets you insert everything under the sun","Jacksonville","|Complete|","" -"`3000 `__","``monotonic_memory_resource::do_is_equal``\ uses ``dynamic_cast``\ unnecessarily","Jacksonville","","" -"`3002 `__","[networking.ts] ``basic_socket_acceptor::is_open()``\ isn't ``noexcept``\ ","Jacksonville","","" -"`3004 `__","|sect|\ [string.capacity] and |sect|\ [vector.capacity] should specify time complexity for ``capacity()``\ ","Jacksonville","|Nothing To Do|","" -"`3005 `__","Destruction order of arrays by ``make_shared/allocate_shared``\ only recommended?","Jacksonville","","" -"`3007 `__","``allocate_shared``\ should rebind allocator to *cv*-unqualified ``value_type``\ for construction","Jacksonville","","" -"`3009 `__","Including ````\ doesn't provide ``std::size/empty/data``\ ","Jacksonville","|Complete|","" -"`3010 `__","[networking.ts] ``uses_executor``\ says ""if a type ``T::executor_type``\ exists""","Jacksonville","","" -"`3013 `__","``(recursive_)directory_iterator``\ construction and traversal should not be ``noexcept``\ ","Jacksonville","|Complete|","" -"`3014 `__","More ``noexcept``\ issues with filesystem operations","Jacksonville","|Complete|","" -"`3015 `__","``copy_options::*unspecified*``\ underspecified","Jacksonville","|Nothing To Do|","" -"`3017 `__","``list splice``\ functions should use ``addressof``\ ","Jacksonville","|Complete|","" -"`3020 `__","[networking.ts] Remove spurious nested ``value_type``\ buffer sequence requirement","Jacksonville","","" -"`3026 `__","``filesystem::weakly_canonical``\ still defined in terms of ``canonical(p, base)``\ ","Jacksonville","|Complete|","" -"`3030 `__","Who shall meet the requirements of ``try_lock``\ ?","Jacksonville","|Nothing To Do|","" -"`3034 `__","P0767R1 breaks previously-standard-layout types","Jacksonville","|Complete|","" -"`3035 `__","``std::allocator``\ 's constructors should be ``constexpr``\ ","Jacksonville","|Complete|","" -"`3039 `__","Unnecessary ``decay``\ in ``thread``\ and ``packaged_task``\ ","Jacksonville","|Complete|","" -"`3041 `__","Unnecessary ``decay``\ in ``reference_wrapper``\ ","Jacksonville","|Complete|","" -"`3042 `__","``is_literal_type_v``\ should be inline","Jacksonville","|Complete|","" -"`3043 `__","Bogus postcondition for ``filesystem_error``\ constructor","Jacksonville","|Complete|","" -"`3045 `__","``atomic<*floating-point*>``\ doesn't have ``value_type``\ or ``difference_type``\ ","Jacksonville","","" -"`3048 `__","``transform_reduce(exec, first1, last1, first2, init)``\ discards execution policy","Jacksonville","","" -"`3051 `__","Floating point classifications were inadvertently changed in P0175","Jacksonville","|Nothing To Do|","" -"`3075 `__","``basic_string``\ needs deduction guides from ``basic_string_view``\ ","Jacksonville","|Complete|","" -"","","","","" -"`2139 `__","What is a user-defined type?","Rapperswil","","" -"`2970 `__","Return type of std::visit misspecified","Rapperswil","","" -"`3058 `__","Parallel adjacent_difference shouldn't require creating temporaries","Rapperswil","","" -"`3062 `__","Unnecessary decay_t in is_execution_policy_v should be remove_cvref_t","Rapperswil","","" -"`3067 `__","recursive_directory_iterator::pop must invalidate","Rapperswil","|Nothing To Do|","" -"`3071 `__","[networking.ts] read_until still refers to ""input sequence""","Rapperswil","|Nothing To Do|","" -"`3074 `__","Non-member functions for valarray should only deduce from the valarray","Rapperswil","","" -"`3076 `__","basic_string CTAD ambiguity","Rapperswil","|Complete|","" -"`3079 `__","LWG 2935 forgot to fix the existing_p overloads of create_directory","Rapperswil","|Nothing To Do|","" -"`3080 `__","Floating point from_chars pattern specification breaks round-tripping","Rapperswil","","" -"`3083 `__","What should ios::iword(-1) do?","Rapperswil","|Nothing To Do|","" -"`3094 `__","[time.duration.io]p4 makes surprising claims about encoding","Rapperswil","","" -"`3100 `__","Unnecessary and confusing ""empty span"" wording","Rapperswil","|Nothing To Do|","" -"`3102 `__","Clarify span iterator and ``const_iterator`` behavior","Rapperswil","|Complete|","" -"`3104 `__","Fixing duration division","Rapperswil","|Complete|","" -"","","","","" -"`2183 `__","Muddled allocator requirements for ``match_results``\ constructors","San Diego","|Complete|","" -"`2184 `__","Muddled allocator requirements for ``match_results``\ assignments","San Diego","|Complete|","" -"`2412 `__","``promise::set_value()``\ and ``promise::get_future()``\ should not race","San Diego","","" -"`2499 `__","``operator>>(basic_istream&, CharT*)``\ makes it hard to avoid buffer overflows","San Diego","Resolved by P0487R1","" -"`2682 `__","``filesystem::copy()``\ won't create a symlink to a directory","San Diego","|Nothing To Do|","" -"`2697 `__","[concurr.ts] Behavior of ``future/shared_future``\ unwrapping constructor when given an invalid ``future``\ ","San Diego","","" -"`2797 `__","Trait precondition violations","San Diego","Resolved by 1285R0","" -"`2936 `__","Path comparison is defined in terms of the generic format","San Diego","|Complete|","" -"`2943 `__","Problematic specification of the wide version of ``basic_filebuf::open``\ ","San Diego","|Nothing To Do|","" -"`2960 `__","[fund.ts.v3] ``nonesuch``\ is insufficiently useless","San Diego","|Complete|","" -"`2995 `__","``basic_stringbuf``\ default constructor forbids it from using SSO capacity","San Diego","","" -"`2996 `__","Missing rvalue overloads for ``shared_ptr``\ operations","San Diego","","" -"`3008 `__","``make_shared``\ (sub)object destruction semantics are not specified","San Diego","","" -"`3022 `__","``is_convertible``\ may lead to ODR","San Diego","Resolved by 1285R0","" -"`3025 `__","Map-like container deduction guides should use ``pair``\ , not ``pair``\ ","San Diego","|Complete|","" -"`3031 `__","Algorithms and predicates with non-const reference arguments","San Diego","","" -"`3037 `__","``polymorphic_allocator``\ and incomplete types","San Diego","","" -"`3038 `__","``polymorphic_allocator::allocate``\ should not allow integer overflow to create vulnerabilities","San Diego","","" -"`3054 `__","``uninitialized_copy``\ appears to not be able to meet its exception-safety guarantee","San Diego","","" -"`3065 `__","LWG 2989 missed that all ``path``\ 's other operators should be hidden friends as well","San Diego","|Complete|","" -"`3096 `__","``path::lexically_relative``\ is confused by trailing slashes","San Diego","|Complete|","" -"`3116 `__","``*OUTERMOST_ALLOC_TRAITS*``\ needs ``remove_reference_t``\ ","San Diego","","" -"`3122 `__","``__cpp_lib_chrono_udls``\ was accidentally dropped","San Diego","|Complete|","" -"`3127 `__","``basic_osyncstream::rdbuf``\ needs a ````const_cast````\ ","San Diego","","" -"`3128 `__","``strstream::rdbuf``\ needs a ````const_cast````\ ","San Diego","|Nothing To Do|","" -"`3129 `__","``regex_token_iterator``\ constructor uses wrong pointer arithmetic","San Diego","","" -"`3130 `__","|sect|\ [input.output] needs many ``addressof``\ ","San Diego","","" -"`3131 `__","``addressof``\ all the things","San Diego","","" -"`3132 `__","Library needs to ban macros named ``expects``\ or ``ensures``\ ","San Diego","|Nothing To Do|","" -"`3134 `__","[fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961","San Diego","Resolved by P1210R0","" -"`3137 `__","Header for ``__cpp_lib_to_chars``\ ","San Diego","|Complete|","" -"`3145 `__","``file_clock``\ breaks ABI for C++17 implementations","San Diego","|Complete|","" -"`3147 `__","Definitions of ""likely"" and ""unlikely"" are likely to cause problems","San Diego","","" -"`3148 `__","````\ should be freestanding","San Diego","","" -"`3153 `__","``Common``\ and ``common_type``\ have too little in common","San Diego","|Complete|","13.0" -"`3154 `__","``Common``\ and ``CommonReference``\ have a common defect","San Diego","","" -"","","","","" -"`3012 `__","``atomic``\ is unimplementable for non-``is_trivially_copy_constructible T``\ ","Kona","","" -"`3040 `__","``basic_string_view::starts_with``\ *Effects* are incorrect","Kona","|Complete|","" -"`3077 `__","``(push|emplace)_back``\ should invalidate the ``end``\ iterator","Kona","|Nothing To Do|","" -"`3087 `__","One final ``&x``\ in |sect|\ [list.ops]","Kona","|Nothing To Do|","" -"`3101 `__","``span``\ 's ``Container``\ constructors need another constraint","Kona","|Complete|","" -"`3112 `__","``system_error``\ and ``filesystem_error``\ constructors taking a ``string``\ may not be able to meet their postconditions","Kona","","" -"`3119 `__","Program-definedness of closure types","Kona","|Nothing To Do|","" -"`3133 `__","Modernizing numeric type requirements","Kona","","" -"`3144 `__","``span``\ does not have a ````const_pointer````\ typedef","Kona","|Complete|","" -"`3173 `__","Enable CTAD for *``ref-view``*\ ","Kona","","" -"`3179 `__","``subrange``\ should always model ``Range``\ ","Kona","","" -"`3180 `__","Inconsistently named return type for ``ranges::minmax_element``\ ","Kona","","" -"`3182 `__","Specification of ``Same``\ could be clearer","Kona","","" -"","","","","" -"`2899 `__","``is_(nothrow_)move_constructible``\ and ``tuple``\ , ``optional``\ and ``unique_ptr``\ ","Cologne","","" -"`3055 `__","``path::operator+=(*single-character*)``\ misspecified","Cologne","|Complete|","7.0" -"`3158 `__","``tuple(allocator_arg_t, const Alloc&)``\ should be conditionally explicit","Cologne","|Complete|","10.0" -"`3169 `__","``ranges``\ permutation generators discard useful information","Cologne","","" -"`3183 `__","Normative permission to specialize Ranges variable templates","Cologne","","" -"`3184 `__","Inconsistencies in ``bind_front``\ wording","Cologne","|Complete|","13.0" -"`3185 `__","Uses-allocator construction functions missing ``constexpr``\ and ``noexcept``\ ","Cologne","","" -"`3186 `__","``ranges``\ removal, partition, and ``partial_sort_copy``\ algorithms discard useful information","Cologne","","" -"`3187 `__","`P0591R4 `__ reverted DR 2586 fixes to ``scoped_allocator_adaptor::construct()``\ ","Cologne","","" -"`3191 `__","``std::ranges::shuffle``\ synopsis does not match algorithm definition","Cologne","","" -"`3196 `__","``std::optional``\ is ill-formed is ``T``\ is an array","Cologne","|Complete|","" -"`3198 `__","Bad constraint on ``std::span::span()``\ ","Cologne","|Complete|","" -"`3199 `__","``istream >> bitset<0>``\ fails","Cologne","","" -"`3202 `__","P0318R1 was supposed to be revised","Cologne","|Complete|","" -"`3206 `__","``year_month_day``\ conversion to ``sys_days``\ uses not-existing member function","Cologne","|Complete|","" -"`3208 `__","``Boolean``\ 's expression requirements are ordered inconsistently","Cologne","|Nothing To Do|","" -"`3209 `__","Expression in ``year::ok()``\ returns clause is ill-formed","Cologne","|Complete|","" -"","","","","" -"`3231 `__","``year_month_day_last::day``\ specification does not cover ``!ok()``\ values","Belfast","|Nothing To Do|","" -"`3225 `__","``zoned_time``\ converting constructor shall not be ``noexcept``\ ","Belfast","","" -"`3190 `__","``std::allocator::allocate``\ sometimes returns too little storage","Belfast","","" -"`3218 `__","Modifier for ``%d``\ parse flag does not match POSIX and ``format``\ specification","Belfast","","" -"`3224 `__","``zoned_time``\ constructor from ``TimeZonePtr``\ does not specify initialization of ``tp_``\ ","Belfast","","" -"`3230 `__","Format specifier ``%y/%Y``\ is missing locale alternative versions","Belfast","","" -"`3232 `__","Inconsistency in ``zoned_time``\ deduction guides","Belfast","","" -"`3222 `__","P0574R1 introduced preconditions on non-existent parameters","Belfast","","" -"`3221 `__","Result of ``year_month``\ arithmetic with ``months``\ is ambiguous","Belfast","|Complete|","8.0" -"`3235 `__","``parse``\ manipulator without abbreviation is not callable","Belfast","","" -"`3246 `__","What are the constraints on the template parameter of ``basic_format_arg``\ ?","Belfast","","" -"`3253 `__","``basic_syncbuf::basic_syncbuf()``\ should not be explicit","Belfast","","" -"`3245 `__","Unnecessary restriction on ``'%p'``\ parse specifier","Belfast","","" -"`3244 `__","Constraints for ``Source``\ in |sect|\ [fs.path.req] insufficiently constrainty","Belfast","","" -"`3241 `__","``chrono-spec``\ grammar ambiguity in |sect|\ [time.format]","Belfast","","" -"`3257 `__","Missing feature testing macro update from P0858","Belfast","","" -"`3256 `__","Feature testing macro for ``constexpr``\ algorithms","Belfast","|Complete|","13.0" -"`3273 `__","Specify ``weekday_indexed``\ to range of ``[0, 7]``\ ","Belfast","","" -"`3070 `__","``path::lexically_relative``\ causes surprising results if a filename can also be a *root-name*","Belfast","","" -"`3266 `__","``to_chars(bool)``\ should be deleted","Belfast","","" -"`3272 `__","``%I%p``\ should parse/format ``duration``\ since midnight","Belfast","","" -"`3259 `__","The definition of *constexpr iterators* should be adjusted","Belfast","","" -"`3103 `__","Errors in taking subview of ``span``\ should be ill-formed where possible","Belfast","","" -"`3274 `__","Missing feature test macro for ````\ ","Belfast","","" -"`3276 `__","Class ``split_view::outer_iterator::value_type``\ should inherit from ``view_interface``\ ","Belfast","","" -"`3277 `__","Pre-increment on prvalues is not a requirement of ``weakly_incrementable``\ ","Belfast","","" -"`3149 `__","``DefaultConstructible``\ should require default initialization","Belfast","|Complete|","13.0" -"","","","","" -"`1203 `__","More useful rvalue stream insertion","Prague","|Complete|","12.0" -"`2859 `__","Definition of *reachable* in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object","Prague","","" -"`3018 `__","``shared_ptr``\ of function type","Prague","","" -"`3050 `__","Conversion specification problem in ``chrono::duration``\ constructor","Prague","","" -"`3141 `__","``CopyConstructible``\ doesn't preserve source values","Prague","|Nothing to do|","" -"`3150 `__","``UniformRandomBitGenerator``\ should validate ``min``\ and ``max``\ ","Prague","|Complete|","13.0" -"`3175 `__","The ``CommonReference``\ requirement of concept ``SwappableWith``\ is not satisfied in the example","Prague","|Complete|","13.0" -"`3194 `__","``ConvertibleTo``\ prose does not match code","Prague","|Complete|","13.0" -"`3200 `__","``midpoint``\ should not constrain ``T``\ is complete","Prague","|Nothing To Do|","" -"`3201 `__","``lerp``\ should be marked as ``noexcept``\ ","Prague","|Complete|","" -"`3226 `__","``zoned_time``\ constructor from ``string_view``\ should accept ``zoned_time``\ ","Prague","","" -"`3233 `__","Broken requirements for ``shared_ptr``\ converting constructors","Prague","","" -"`3237 `__","LWG 3038 and 3190 have inconsistent PRs","Prague","","" -"`3238 `__","Insufficiently-defined behavior of ``std::function``\ deduction guides","Prague","","" -"`3242 `__","``std::format``\ : missing rules for ``arg-id``\ in ``width``\ and ``precision``\ ","Prague","|Complete|","Clang 14" -"`3243 `__","``std::format``\ and negative zeroes","Prague","","" -"`3247 `__","``ranges::iter_move``\ should perform ADL-only lookup of ``iter_move``\ ","Prague","","" -"`3248 `__","``std::format``\ ``#b``\ , ``#B``\ , ``#o``\ , ``#x``\ , and ``#X``\ presentation types misformat negative numbers","Prague","|Complete|","14.0" -"`3250 `__","``std::format``\ : ``#``\ (alternate form) for NaN and inf","Prague","","" -"`3251 `__","Are ``std::format``\ alignment specifiers applied to string arguments?","Prague","","" -"`3252 `__","Parse locale's aware modifiers for commands are not consistent with POSIX spec","Prague","","" -"`3254 `__","Strike ``stop_token``\ 's ``operator!=``\ ","Prague","","" -"`3255 `__","``span``\ 's ``array``\ constructor is too strict","Prague","|Complete|","" -"`3260 `__","``year_month*``\ arithmetic rejects durations convertible to years","Prague","","" -"`3262 `__","Formatting of negative durations is not specified","Prague","","" -"`3264 `__","``sized_range``\ and ``ranges::size``\ redundantly use ``disable_sized_range``\ ","Prague","","" -"`3269 `__","Parse manipulators do not specify the result of the extraction from stream","Prague","","" -"`3270 `__","Parsing and formatting ``%j``\ with ``duration``\ s","Prague","","" -"`3280 `__","View converting constructors can cause constraint recursion and are unneeded","Prague","","" -"`3281 `__","Conversion from ``*pair-like*``\ types to ``subrange``\ is a silent semantic promotion","Prague","","" -"`3282 `__","``subrange``\ converting constructor should disallow derived to base conversions","Prague","","" -"`3284 `__","``random_access_iterator``\ semantic constraints accidentally promote difference type using unary negate","Prague","","" -"`3285 `__","The type of a customization point object shall satisfy ``semiregular``\ ","Prague","","" -"`3286 `__","``ranges::size``\ is not required to be valid after a call to ``ranges::begin``\ on an input range","Prague","","" -"`3291 `__","``iota_view::iterator``\ has the wrong ``iterator_category``\ ","Prague","","" -"`3292 `__","``iota_view``\ is under-constrained","Prague","","" -"`3294 `__","``zoned_time``\ deduction guides misinterprets ``string``\ /``char*``\ ","Prague","","" -"`3296 `__","Inconsistent default argument for ``basic_regex<>::assign``\ ","Prague","|Complete|","" -"`3299 `__","Pointers don't need customized iterator behavior","Prague","","" -"`3300 `__","Non-array ``ssize``\ overload is underconstrained","Prague","","" -"`3301 `__","``transform_view::iterator``\ has incorrect ``iterator_category``\ ","Prague","","" -"`3302 `__","Range adaptor objects ``keys``\ and ``values``\ are unspecified","Prague","","" -"`3303 `__","Bad ""``constexpr``\ "" marker for ``destroy/destroy_n``\ ","Prague","","" -"`3304 `__","Allocate functions of ``std::polymorphic_allocator``\ should require ``[[nodiscard]]``\ ","Prague","","" -"`3307 `__","``std::allocator().allocate(n)``\ ","Prague","","" -"`3310 `__","Replace ``SIZE_MAX``\ with ``numeric_limits::max()``\ ","Prague","","" -"`3313 `__","``join_view::iterator::operator--``\ is incorrectly constrained","Prague","","" -"`3314 `__","Is stream insertion behavior locale dependent when ``Period::type``\ is ``micro``\ ?","Prague","","" -"`3315 `__","Correct Allocator Default Behavior","Prague","","" -"`3316 `__","Correctly define epoch for ``utc_clock``\ / ``utc_timepoint``\ ","Prague","","" -"`3317 `__","Incorrect ``operator<<``\ for floating-point durations","Prague","","" -"`3318 `__","Clarify whether clocks can represent time before their epoch","Prague","","" -"`3319 `__","Properly reference specification of IANA time zone database","Prague","","" -"`3320 `__","``span::cbegin/cend``\ methods produce different results than ``std::[ranges::]cbegin/cend``\ ","Prague","|Complete|","" -"`3321 `__","``uninitialized_construct_using_allocator``\ should use ``construct_at``\ ","Prague","","" -"`3323 `__","``*has-tuple-element*``\ helper concept needs ``convertible_to``\ ","Prague","","" -"`3324 `__","Special-case ``std::strong/weak/partial_order``\ for pointers","Prague","","" -"`3325 `__","Constrain return type of transformation function for ``transform_view``\ ","Prague","","" -"`3326 `__","``enable_view``\ has false positives","Prague","|In progress|","" -"`3327 `__","Format alignment specifiers vs. text direction","Prague","|Nothing To Do|","" -"`3328 `__","Clarify that ``std::string``\ is not good for UTF-8","Prague","","" -"`3329 `__","``totally_ordered_with``\ both directly and indirectly requires ``common_reference_with``\ ","Prague","|Complete|","13.0" -"`3330 `__","Include ````\ from most library headers","Prague","","" -"`3331 `__","Define ``totally_ordered/_with``\ in terms of ``*partially-ordered-with*``\ ","Prague","|Complete|","13.0" -"`3332 `__","Issue in |sect|\ [time.format]","Prague","","" -"`3334 `__","``basic_osyncstream``\ move assignment and destruction calls ``basic_syncbuf::emit()``\ twice","Prague","","" -"`3335 `__","Resolve C++20 NB comments US 273 and GB 274","Prague","","" -"`3338 `__","Rename ``default_constructible``\ to ``default_initializable``\ ","Prague","|Complete|","13.0" -"`3340 `__","Formatting functions should throw on argument/format string mismatch in |sect|\ [format.functions]","Prague","","" -"`3346 `__","``pair``\ and ``tuple``\ copy and move constructor have backwards specification","Prague","","" -"`3347 `__","``std::pair``\ now requires ``T``\ and ``U``\ to be less-than-comparable","Prague","","" -"`3348 `__","``__cpp_lib_unwrap_ref``\ in wrong header","Prague","|Complete|","12.0" -"`3349 `__","Missing ``__cpp_lib_constexpr_complex``\ for P0415R1","Prague","","" -"`3350 `__","Simplify return type of ``lexicographical_compare_three_way``\ ","Prague","","" -"`3351 `__","``ranges::enable_safe_range``\ should not be constrained","Prague","","" -"`3352 `__","``strong_equality``\ isn't a thing","Prague","","" -"`3354 `__","``has_strong_structural_equality``\ has a meaningless definition","Prague","","" -"`3355 `__","The memory algorithms should support move-only input iterators introduced by P1207","Prague","","" -"`3356 `__","``__cpp_lib_nothrow_convertible``\ should be ``__cpp_lib_is_nothrow_convertible``\ ","Prague","|Complete|","12.0" -"`3358 `__","|sect|\ [span.cons] is mistaken that ``to_address``\ can throw","Prague","","" -"`3359 `__","````\ leap second support should allow for negative leap seconds","Prague","","" -"`3360 `__","``three_way_comparable_with``\ is inconsistent with similar concepts","Prague","","" -"`3362 `__","Strike ``stop_source``\ 's ``operator!=``\ ","Prague","","" -"`3363 `__","``drop_while_view``\ should opt-out of ``sized_range``\ ","Prague","","" -"`3364 `__","Initialize data members of ranges and their iterators","Prague","","" -"`3367 `__","Integer-class conversions should not throw","Prague","","" -"`3369 `__","``span``\ 's deduction-guide for built-in arrays doesn't work","Prague","","" -"`3371 `__","``visit_format_arg``\ and ``make_format_args``\ are not hidden friends","Prague","|Complete|","14.0" -"`3372 `__","``vformat_to``\ should not try to deduce ``Out``\ twice","Prague","","" -"`3373 `__","``{to,from}_chars_result``\ and ``format_to_n_result``\ need the ""we really mean what we say"" wording","Prague","","" -"`3374 `__","P0653 + P1006 should have made the other ``std::to_address``\ overload ``constexpr``\ ","Prague","|Complete|","12.0" -"`3375 `__","``decay``\ in ``viewable_range``\ should be ``remove_cvref``\ ","Prague","","" -"`3377 `__","``elements_view::iterator``\ befriends a specialization of itself","Prague","","" -"`3379 `__","""``safe``\ "" in several library names is misleading","Prague","|In Progress|","" -"`3380 `__","``common_type``\ and comparison categories","Prague","","" -"`3381 `__","``begin``\ and ``data``\ must agree for ``contiguous_range``\ ","Prague","","" -"`3382 `__","NTTP for ``pair``\ and ``array``\ ","Prague","","" -"`3383 `__","|sect|\ [time.zone.leap.nonmembers] ``sys_seconds``\ should be replaced with ``seconds``\ ","Prague","","" -"`3384 `__","``transform_view::*sentinel*``\ has an incorrect ``operator-``\ ","Prague","","" -"`3385 `__","``common_iterator``\ is not sufficiently constrained for non-copyable iterators","Prague","","" -"`3387 `__","|sect|\ [range.reverse.view] ``reverse_view``\ unintentionally requires ``range``\ ","Prague","","" -"`3388 `__","``view``\ iterator types have ill-formed ``<=>``\ operators","Prague","","" -"`3389 `__","A move-only iterator still does not have a ``counted_iterator``\ ","Prague","","" -"`3390 `__","``make_move_iterator()``\ cannot be used to construct a ``move_iterator``\ for a move-only iterator","Prague","","" -"`3393 `__","Missing/incorrect feature test macro for coroutines","Prague","","" -"`3395 `__","Definition for three-way comparison needs to be updated (US 152)","Prague","","" +"Issue #","Issue Name","Meeting","Status","First released version","Labels" "`3396 `__","Clarify point of reference for ``source_location::current()``\ (DE 169)","Prague","","" "`3397 `__","``ranges::basic_istream_view::iterator``\ should not provide ``iterator_category``\ ","Prague","","" "`3398 `__","``tuple_element_t``\ is also wrong for ``const subrange``\ ","Prague","","" "`3446 `__","``indirectly_readable_traits``\ ambiguity for types with both ``value_type``\ and ``element_type``\ ","November virtual meeting","|Complete|","13.0" + +"1234","Chrono","???","|Complete|",12.0,"|chrono|" +"1234","Format","???","|Complete|",12.0,"|format|" +"1234","Format + Chrono","???","|Complete|",12.0,"|format|, |chrono|" +"1234","Ranges","???","|Complete|",12.0,"|ranges|" +"1234","Spaceship","???","|Complete|",12.0,"|spaceship|"