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-11 meeting #5109

Closed
34 tasks done
StephanTLavavej opened this issue Nov 24, 2024 · 4 comments
Closed
34 tasks done

Meta LWG issue: 2024-11 meeting #5109

StephanTLavavej opened this issue Nov 24, 2024 · 4 comments
Labels
LWG Library Working Group issue meta Issues about issues! resolved Successfully resolved without a commit

Comments

@StephanTLavavej
Copy link
Member

StephanTLavavej commented Nov 24, 2024

(Previous meta-issue: #4759)

At the November 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-4064 Clarify that std::launder is not needed when using the result of std::memcpy
    • LWG-4126 Some feature-test macros for fully freestanding features are not yet marked freestanding
    • LWG-4141 Improve prohibitions on "additional storage"
  • Something that increases the restrictions placed on users, but implementers aren't expected to enforce those restrictions
    • LWG-4170 contiguous_iterator should require to_address(I{})
  • 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.

🩹 Patches an unimplemented feature

🐞 Not yet implemented

@StephanTLavavej StephanTLavavej added LWG Library Working Group issue meta Issues about issues! labels Nov 24, 2024
@github-project-automation github-project-automation bot moved this to Available in STL LWG Issues Nov 24, 2024
@frederick-vs-ja

This comment has been minimized.

@StephanTLavavej

This comment has been minimized.

@CaseyCarter
Copy link
Member

CaseyCarter commented Nov 24, 2024

LWG-4044 Confusing requirements for std::print on POSIX platforms

  • @StephanTLavavej thinks this should have no effect for Windows; need to double-check

There exist terminals that can only display Unicode via a "native Unicode API", and terminals that can display Unicode simply via the normal means of dumping output. The intent of the issue is that only the former require the determination if a stream refers to such a terminal, and require flushing the "normal" output before invoking such a "native Unicode API" to output Unicode.

In real world terms, "native Unicode API" means "WriteConsoleW on Windows". Non-Windows platforms are supposed to ignore these instructions but it wasn't clear to them that they should, so the issue is trying to clarify that intent.

Of course there are also terminals on Windows that are capable of displaying Unicode via the normal output mechanisms. My machine with the "Beta: Use UTF-8 for language support" feature activated defaults to codepage 65001 in terminals and doesn't need "native Unicode API" to output Unicode. At some point we should start detecting this condition and avoiding the mess of flushing stdout and transcoding to UTF-16 to call WriteConsoleW.

TLDR: We don't need to do anything for correctness with regard to LWG-4044, we may want to make changes for performance.

@frederick-vs-ja

This comment has been minimized.

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

3 participants