Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Meta LWG issue: 2024-03 meeting #4491

Closed
21 tasks done
frederick-vs-ja opened this issue Mar 19, 2024 · 3 comments
Closed
21 tasks done

Meta LWG issue: 2024-03 meeting #4491

frederick-vs-ja opened this issue Mar 19, 2024 · 3 comments
Labels
LWG Library Working Group issue meta Issues about issues! resolved Successfully resolved without a commit

Comments

@frederick-vs-ja
Copy link
Contributor

frederick-vs-ja commented Mar 19, 2024

(Previous meta-issue: #4158)

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-4031 bad_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.

🐞 Not yet implemented

@frederick-vs-ja
Copy link
Contributor Author

Precondition checking for LWG-4023 and test coverages for LWG-4025/LWG-4031 may be wanted.

@StephanTLavavej StephanTLavavej added LWG Library Working Group issue meta Issues about issues! labels Mar 19, 2024
@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej
Copy link
Member

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! 😻 ✅ 🎉

@StephanTLavavej StephanTLavavej added the resolved Successfully resolved without a commit label Mar 28, 2024
@StephanTLavavej StephanTLavavej changed the title March 2024 LWG issues Meta LWG issue: 2024-03 meeting Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
LWG Library Working Group issue meta Issues about issues! resolved Successfully resolved without a commit
Projects
Status: Done
Development

No branches or pull requests

2 participants