-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
(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
- Filed a GitHub issue labeled LWG
- LWG-3471
polymorphic_allocator::allocate
does not satisfy Cpp17Allocator requirements (Filed LWG-3471polymorphic_allocator::allocate
does not satisfy Cpp17Allocator requirements #2550) - LWG-3525
uses_allocator_construction_args
fails to handle types convertible topair
(Filed LWG-3525uses_allocator_construction_args
fails to handle types convertible topair
#2551) - LWG-3598
system_category().default_error_condition(0)
is underspecified (filed LWG-3598system_category().default_error_condition(0)
is underspecified #2552) - LWG-3612 Inconsistent pointer alignment in
std::format
(filed LWG-3612 Inconsistent pointer alignment instd::format
#2553) - LWG-3618 Unnecessary
iter_move
fortransform_view::iterator
(filed LWG-3618 Unnecessaryiter_move
fortransform_view::iterator
#2554) - LWG-3648
format
should not printbool
with'c'
(filed LWG-3648format
should not printbool
with'c'
#2555) - LWG-3657
std::hash<std::filesystem::path>
is not enabled (filed LWG-3657std::hash<std::filesystem::path>
is not enabled #2556)
- LWG-3471
- PR out for review
- LWG-3610
iota_view::size
sometimes rejects integer-class types (implemented in LWG-3610:iota_view::size
sometimes rejects integer-class types #2542) - LWG-3621 Remove feature-test macro
__cpp_lib_monadic_optional
(implemented in LWG-3621 Remove feature-test macro__cpp_lib_monadic_optional
#2543) - LWG-3632
unique_ptr
"Mandates: This constructor is not selected by class template argument deduction" (implemented in "Implement" LWG-3632 by commentingunique_ptr
CTAD #2548) - LWG-3654
basic_format_context::arg(size_t)
should benoexcept
(implemented in LWG-3654:basic_format_context::arg(size_t)
should be noexcept #2528) - LWG-3661
constinit atomic<shared_ptr<T>> a(nullptr);
should work (implemented in LWG-3661:constinit
atomic<shared_ptr<T>>
a(nullptr); should work #2544) - LWG-3660
iterator_traits<common_iterator>::pointer
should conform to[iterator.traits]
(implemented in Implement LWG-3660 foriterator_traits<common_iterator>::pointer
#2549)
- LWG-3610
Metadata
Metadata
Assignees
Labels
Type
Projects
Status