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 March 2024 meeting, the following LWG issues were resolved in the C++ Working Paper.
❔ Not yet analyzed
Remaining issues:
All done!
❌ 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)
LWG-4011 "Effects: Equivalent to return" in [span.elem]
LWG-4030 Clarify whether arithmetic expressions in [numeric.sat.func] are mathematical or C++
LWG-4036__alignof_is_defined is only implicitly specified in C++ and not yet deprecated
Like LWG-3827, there's nothing for us to do here. Should we ping UCRT to implement macro deprecation? See also DevCom-10559200.
LWG-4043"ASCII" is not a registered character encoding
Something that increases the restrictions placed on users, but implementers aren't expected to enforce those restrictions
LWG-3975 Specializations of basic_format_context should not be permitted
LWG-4023 Preconditions of std::basic_streambuf::setg/setp
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
LWG-4025 Move assignment operator of std::expected<cv void, E> should not be conditionally deleted
LWG-4031bad_expected_access<void> member functions should be noexcept
🩹 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.
LWG-4038std::text_encoding::aliases_view should have constexpr iterators
Precondition checking for LWG-4023 and test coverages for LWG-4025/LWG-4031 may be wanted.
After looking at these issues, while I wouldn't object to PRs addressing them, I don't think it's so urgent that we need tracking issues.
LWG-4023 involves protected member functions of iostreams. These aren't directly called, and people implementing new iostreams need to be experts.
LWG-4025 would involve writing test coverage to observe the difference between "defined as deleted" and "constraints" which seems like a ton of effort for little return, given that we automatically got this right to begin with.
LWG-4031 would involve writing test coverage to observe the noexceptness of protected member functions, which is doable but requires extra effort. We just =defaulted them, getting this automatically correct, and I don't think we need to bother testing this.
(In general, test coverage is most valuable for things that were tricky to achieve, or that might regress due to compiler or library changes.)
I've filed tracking issues for everything else, so we can close this meta-issue. Thanks again for doing the massive work needed to understand our current status, and so rapidly too! 😻 ✅ 🎉
(Previous meta-issue: #4158)
At the March 2024 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:
__alignof_is_defined
is only implicitly specified in C++ and not yet deprecated"ASCII"
is not a registered character encodingbasic_format_context
should not be permittedstd::basic_streambuf::setg
/setp
😸 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.
std::expected<cv void, E>
should not be conditionally deletedbad_expected_access<void>
member functions should benoexcept
🩹 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.
std::text_encoding::aliases_view
should have constexpr iterators<text_encoding>
: Naming Text Encodings To Demystify Them #3791tuple
can create dangling references fromtuple-like
🐞 Not yet implemented
codecvt<charN_t, char8_t, mbstate_t>
incorrectly added to locale #4498enumerate_view
may invoke UB for sized common non-forward underlying ranges #4499std::basic_string_view
comparison operators are overspecified #4500ranges::to
's recursion branch may be ill-formed #4501common_view::begin
/end
are missing thesimple-view
check #4502lazy_split_view::outer-iterator::value_type
should not provide default constructor #4503container-insertable
checks do not match whatcontainer-inserter
does #4504single_view
should provideempty
#4505ctype_base
are not yet required to be usable in constant expressions #4506std::views::repeat
does not decay the argument #4507repeat_view
should repeat the view #4508The text was updated successfully, but these errors were encountered: