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

[std] Remove problematic phrases from notes #6758

Merged
merged 2 commits into from Jan 8, 2024
Merged

Conversation

tkoeppe
Copy link
Contributor

@tkoeppe tkoeppe commented Jan 5, 2024

Only specific phrases involving the word "required" are problematic, namely when they appear to establish a normative requirement. They have been reworded, often by replacing "is required" with "needs", sometimes with slightly larger edits.

Also reword "necessary", "permitted", "allowed" in notes, so that they do not (inappropriately) state requirements or
permissions.

On request of ISO.

@tkoeppe tkoeppe force-pushed the required branch 4 times, most recently from 88312a6 to e9c3253 Compare January 5, 2024 14:55
Only specific phrases involving the word "required" are problematic,
namely when they appear to establish a normative requirement. They
have been reworded, often by replacing "is required" with "needs",
sometimes with slightly larger edits.
@tkoeppe tkoeppe changed the title [std] Remove problematic 'requires' phrases from notes. [std] Remove problematic phrases from notes Jan 5, 2024
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.

I've added some comments. Some are just ideas, some are suggested improvements.

source/basic.tex Outdated Show resolved Hide resolved
source/basic.tex Show resolved Hide resolved
source/basic.tex Outdated Show resolved Hide resolved
source/basic.tex Outdated Show resolved Hide resolved
source/basic.tex Outdated Show resolved Hide resolved
source/expressions.tex Outdated Show resolved Hide resolved
The generic format is required to ensure lexicographical
comparison works correctly.
It is possible that the use of the generic format is needed
to ensure correct lexicographical comparison.
Copy link
Member

Choose a reason for hiding this comment

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

Sigh. This would be so much easier to read as "The use of the generic format may be needed to ensure ..." if that wasn't a forbidden word.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

word :-(

source/lib-intro.tex Outdated Show resolved Hide resolved
source/numerics.tex Outdated Show resolved Hide resolved
source/overloading.tex Outdated Show resolved Hide resolved
This is so that notes do not (inappropriately) state requirements or
permissions.
@tkoeppe tkoeppe merged commit 43fc5a1 into cplusplus:main Jan 8, 2024
2 checks passed
@jensmaurer
Copy link
Member

Uh, I'm a bit late to the game, it seems. Anyway, the changes look good to me. (I dimly remember that we've excised "need" in a prior iteration, because that was considered a bad word at some point, but if that's a good word now --- fine.)

@tkoeppe
Copy link
Contributor Author

tkoeppe commented Jan 8, 2024

Thanks, Jens! I think "need" does not appear as an official equivalent phrase in https://www.iso.org/sites/directives/current/part2/index.xhtml#_idTextAnchor078.

For that matter, I also don't see "could" and "might" being generally forbidden; they're merely not allowed for provisions. I'm not sure if ISO is really consistent in what they're asking for...

I do still want to compose a general guidance document for the wording groups. I think what we can agree on so far is that a) provisions have to use the explicitly describled verbal forms, and b) notes must not contain requirements, recommendations, permissions, or instructions.

It's true that "might" should not be used for permission (instead of "may"), but that doesn't seem to ban "might" outright. I think the argument (back from the C++20 cycle) was similar to the argument against "cannot" we have now: that it is not immediately clear that the word isn't accidentally trying to be a permission or requirement. And that's perhaps not a bad point.

Anyway, we're just left with all the "cannot"s now.

@jensmaurer
Copy link
Member

Do you ... want to do something about the "cannot"s? Some of them were recently introduced as workarounds for other forbidden words.

@@ -1558,7 +1558,7 @@
\begin{codeblock}
friend class T;
\end{codeblock}
is ill-formed. However, the similar declaration \tcode{friend T;} is allowed\iref{class.friend}.
is ill-formed. However, the similar declaration \tcode{friend T;} is well-formed.\iref{class.friend}.
Copy link
Contributor

Choose a reason for hiding this comment

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

@tkoeppe You introduced an extra period . here — the one after the \iref should stay but the new one before the \iref should be deleted again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants