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

[LWG 1] P3504R0 C++ Standard Library Ready Issues #7459

Open
wants to merge 35 commits into
base: main
Choose a base branch
from

Conversation

burblebee
Copy link
Contributor

@burblebee burblebee commented Nov 28, 2024

Fixes #7413.

Notes: I assumed the Tentatively Ready issues were to be applied also.

Also fixes cplusplus/papers#1983

[specialized.algorithms.general] Changed to "function templates" as per #6265.
…ared_for_overwrite/std::allocate_shared_for_overwrite
[ostream.formatted.print] New paragraphs not numbered as indicated since they are part of the \effects clause.
[optional.assign] Removed "<T>" from declaration to match that in synopsis.
…lloc>)'s nested generator may be ill-formed
[template.bitset.general] [vector.bool.pspc] bitset already removed.
@burblebee burblebee marked this pull request as ready for review November 28, 2024 11:43
@jwakely
Copy link
Member

jwakely commented Nov 28, 2024

Notes: I assumed the Tentatively Ready issues were to be applied also.

Yes: "Apply the changes for all Ready and Tentatively Ready issues in P3504R0 (C++ Standard Library Ready Issues to be moved in Wrocław, Nov. 2024) to the C++ working paper."

@jensmaurer jensmaurer added this to the post-2024-11 milestone Dec 4, 2024
Comment on lines 6867 to 6868
\tcode{os} is a stream that refers to a terminal that
is only capable of displaying Unicode via a native Unicode API,
Copy link
Contributor

@CaseyCarter CaseyCarter Dec 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per discussion on the LWG reflectors, "only" is ambiguous here:

Suggested change
\tcode{os} is a stream that refers to a terminal that
is only capable of displaying Unicode via a native Unicode API,
\tcode{os} is a stream that refers to a terminal that
is capable of displaying Unicode only via a native Unicode API,

("Get out with this change that's not in the ingress paper and come back after the motion is merged" is a perfectly valid response to this suggestion.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change was requested and agreed to on the LWG reflector. I think it qualifies as an editorial improvement that clarifies the intended meaning.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that's better. done.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like this change hasn't been pushed to the branch though?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 7849 needs the same change.

@@ -16995,6 +16995,9 @@
template<class R2, class V2, class Alloc2, class Unused>
requires @\libconcept{same_as}@<typename generator<R2, V2, Alloc2>::yielded, yielded>
auto yield_value(ranges::elements_of<generator<R2, V2, Alloc2>&&, Unused> g) noexcept;
template<class R2, class V2, class Alloc2, class Unused>
requires same_as<typename generator<R2, V2, Alloc2>::yielded, yielded>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to use \libconcept{same_as} or was it intentionally omitted because it's on the declaration immediately above?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We want \libconcept everywhere a library concept appears. This is refactoring-safe and if we ever want to have color highlighting for concept names (for example), we actually can do that.

@@ -17122,6 +17125,9 @@
template<class R2, class V2, class Alloc2, class Unused>
requires @\libconcept{same_as}@<typename generator<R2, V2, Alloc2>::yielded, yielded>
auto yield_value(ranges::elements_of<generator<R2, V2, Alloc2>&&, Unused> g) noexcept;
template<class R2, class V2, class Alloc2, class Unused>
requires same_as<typename generator<R2, V2, Alloc2>::yielded, yielded>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question about \libconcept here

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same answer. \libconcept, please

@jensmaurer jensmaurer added the changes requested Changes to the wording or approach have been requested and not yet applied. label Dec 13, 2024
@@ -9261,8 +9261,6 @@

// bit reference
class @\libmember{reference}{vector<bool>}@ {
constexpr reference() noexcept;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the record, the friend declarations were removed by #6427

@@ -1969,6 +1969,7 @@
\item \tcode{to_address(a) == addressof(*a)},
\item \tcode{to_address(b) == to_address(a) + D(b - a)},
\item \tcode{to_address(c) == to_address(a) + D(c - a)},
\item \tcode{address(I\{\})} is well-defined,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be to_address not address

Copy link
Member

@jwakely jwakely left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move two occurrences of "only" to later in the sentence, for more goodly Englishing.

Change address to to_address.

Use \libconcept for same_as, twice

\begin{itemize}
\item
If \tcode{stream} refers to a terminal that
is only capable of displaying Unicode via a native Unicode API,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
is only capable of displaying Unicode via a native Unicode API,
is capable of displaying Unicode only via a native Unicode API,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changes requested Changes to the wording or approach have been requested and not yet applied.
Projects
None yet
4 participants