You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
LWG-3607contiguous_iterator should not be allowed to have custom iter_move and iter_swap behavior
LWG-3619 Specification of vformat_to contains ill-formed formatted_size calls
😸 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
LWG-3616LWG-3498 seems to miss the non-member swap for basic_syncbuf
Implemented without comments
LWG-3088forward_list::merge behavior unclear when passed *this
LWG-3650 Are std::basic_string's iterator and const_iterator constexpr iterators?
LWG-3643 Missing constexpr in std::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.
Thanks, @frederick-vs-ja! That's a ton of work. I put LWG-3632 under "not implemented" because I think we need a comment to explain why those constructors don't look like they do in the Standard to avoid confusion.
I've pushed a commit into #2549 to cleanup the comments for LWG-3601 and LWG-3616, after which I think we no longer need this tracking issue.
(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_iterator
should not be allowed to have customiter_move
anditer_swap
behaviorvformat_to
contains ill-formedformatted_size
calls😸 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-proxy
needsindirectly_readable
swap
forbasic_syncbuf
forward_list::merge
behavior unclear when passed*this
std::basic_string
'siterator
andconst_iterator
constexpr iterators?constexpr
instd::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::allocate
does not satisfy Cpp17Allocator requirements (Filed LWG-3471polymorphic_allocator::allocate
does not satisfy Cpp17Allocator requirements #2550)uses_allocator_construction_args
fails to handle types convertible topair
(Filed LWG-3525uses_allocator_construction_args
fails 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_move
fortransform_view::iterator
(filed LWG-3618 Unnecessaryiter_move
fortransform_view::iterator
#2554)format
should not printbool
with'c'
(filed LWG-3648format
should not printbool
with'c'
#2555)std::hash<std::filesystem::path>
is not enabled (filed LWG-3657std::hash<std::filesystem::path>
is not enabled #2556)iota_view::size
sometimes rejects integer-class types (implemented in LWG-3610:iota_view::size
sometimes 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_ptr
CTAD #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:constinit
atomic<shared_ptr<T>>
a(nullptr); should work #2544)iterator_traits<common_iterator>::pointer
should conform to[iterator.traits]
(implemented in Implement LWG-3660 foriterator_traits<common_iterator>::pointer
#2549)The text was updated successfully, but these errors were encountered: