(Previous meta-issue: #2236)
At the February 2022 virtual plenary meeting, the following LWG issues were resolved in the C++ Working Paper.
❔ Not yet analyzed
❌ Not applicable
If an issue requires no action from implementers, we mark it as N/A. Categories:
- Pure wording clarifications with nothing to implement (these can be changes to non-normative text like examples and informative notes, or wording cleanups to normative text that don't impact observable behavior)
- Something that increases the restrictions placed on users, but implementers aren't expected to enforce those restrictions
- Fixes for obviously broken wording, where implementers would have done the right thing anyways
😸 Already implemented
Sometimes we cite LWG issues in product code comments as we're implementing their proposed resolutions. When the resolutions are officially accepted, we should remove the citations (as the default assumption is that we're implementing what the Standard says). If something is especially subtle, we can convert the citation to mention the relevant Standard section.
Sometimes we should add test coverage - e.g. when the Standard begins requiring something that we were already doing, but weren't explicitly testing for.
- Already implemented, comments need to be removed and messages need to cite the Standard
- Implemented without comments
🩹 Patches an unimplemented feature
We should record this LWG issue in the GitHub issue tracking the feature. That way, we'll remember to verify it, but it doesn't represent net new work.
🐞 Not yet implemented
(Previous meta-issue: #2236)
At the February 2022 virtual plenary meeting, the following LWG issues were resolved in the C++ Working Paper.
❔ Not yet analyzed
❌ Not applicable
If an issue requires no action from implementers, we mark it as N/A. Categories:
contiguous_iteratorshould not be allowed to have customiter_moveanditer_swapbehaviorvformat_tocontains ill-formedformatted_sizecalls😸 Already implemented
Sometimes we cite LWG issues in product code comments as we're implementing their proposed resolutions. When the resolutions are officially accepted, we should remove the citations (as the default assumption is that we're implementing what the Standard says). If something is especially subtle, we can convert the citation to mention the relevant Standard section.
Sometimes we should add test coverage - e.g. when the Standard begins requiring something that we were already doing, but weren't explicitly testing for.
common_iterator'spostfix-proxyneedsindirectly_readableswapforbasic_syncbufforward_list::mergebehavior unclear when passed*thisstd::basic_string'siteratorandconst_iteratorconstexpr iterators?constexprinstd::counted_iterator🩹 Patches an unimplemented feature
We should record this LWG issue in the GitHub issue tracking the feature. That way, we'll remember to verify it, but it doesn't represent net new work.
🐞 Not yet implemented
polymorphic_allocator::allocatedoes not satisfy Cpp17Allocator requirements (Filed LWG-3471polymorphic_allocator::allocatedoes not satisfy Cpp17Allocator requirements #2550)uses_allocator_construction_argsfails to handle types convertible topair(Filed LWG-3525uses_allocator_construction_argsfails to handle types convertible topair#2551)system_category().default_error_condition(0)is underspecified (filed LWG-3598system_category().default_error_condition(0)is underspecified #2552)std::format(filed LWG-3612 Inconsistent pointer alignment instd::format#2553)iter_movefortransform_view::iterator(filed LWG-3618 Unnecessaryiter_movefortransform_view::iterator#2554)formatshould not printboolwith'c'(filed LWG-3648formatshould not printboolwith'c'#2555)std::hash<std::filesystem::path>is not enabled (filed LWG-3657std::hash<std::filesystem::path>is not enabled #2556)iota_view::sizesometimes rejects integer-class types (implemented in LWG-3610:iota_view::sizesometimes rejects integer-class types #2542)__cpp_lib_monadic_optional(implemented in LWG-3621 Remove feature-test macro__cpp_lib_monadic_optional#2543)unique_ptr"Mandates: This constructor is not selected by class template argument deduction" (implemented in "Implement" LWG-3632 by commentingunique_ptrCTAD #2548)basic_format_context::arg(size_t)should benoexcept(implemented in LWG-3654:basic_format_context::arg(size_t)should be noexcept #2528)constinit atomic<shared_ptr<T>> a(nullptr);should work (implemented in LWG-3661:constinitatomic<shared_ptr<T>>a(nullptr); should work #2544)iterator_traits<common_iterator>::pointershould conform to[iterator.traits](implemented in Implement LWG-3660 foriterator_traits<common_iterator>::pointer#2549)