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
Fix modal verbs #4194
Fix modal verbs #4194
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! I think we can be a bit bolder in using "can" rather than "could"; usually there doesn't seem to be any real difference in the result, and it seems like ISO is a lot happier about "can" than "could".
source/algorithms.tex
Outdated
Consequently, the algorithms cannot | ||
be called with explicitly-specified template argument lists. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm. "cannot portably" would be more accurate, but I don't know that we want to talk about portability. How about:
Consequently, the algorithms cannot | |
be called with explicitly-specified template argument lists. | |
Consequently, an implementation can reject | |
calls that specify an explicit template argument list. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
source/algorithms.tex
Outdated
@@ -9537,7 +9537,7 @@ | |||
that \tcode{exclusive_scan} excludes the $i^\text{th}$ input element | |||
from the $i^\text{th}$ sum. | |||
If \tcode{binary_op} is not mathematically associative, | |||
the behavior of \tcode{exclusive_scan} may be nondeterministic. | |||
the behavior of \tcode{exclusive_scan} is nondeterministic. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the behavior of \tcode{exclusive_scan} is nondeterministic. | |
the behavior of \tcode{exclusive_scan} might be nondeterministic. |
I think whether it actually is deterministic or not depends on the implementation. We certainly don't want to imply that an implementation is required to have a source of true nondeterminism. (Use "can be" if you prefer.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
source/algorithms.tex
Outdated
@@ -9664,7 +9664,7 @@ | |||
that \tcode{inclusive_scan} includes the $i^\text{th}$ input element | |||
in the $i^\text{th}$ sum. | |||
If \tcode{binary_op} is not mathematically associative, | |||
the behavior of \tcode{inclusive_scan} may be nondeterministic. | |||
the behavior of \tcode{inclusive_scan} is nondeterministic. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the behavior of \tcode{inclusive_scan} is nondeterministic. | |
the behavior of \tcode{inclusive_scan} might be nondeterministic. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
source/algorithms.tex
Outdated
@@ -9739,7 +9739,7 @@ | |||
\tcode{transform_inclusive_scan} is that \tcode{transform_exclusive_scan} | |||
excludes the $i^\text{th}$ input element from the $i^\text{th}$ sum. | |||
If \tcode{binary_op} is not mathematically associative, | |||
the behavior of \tcode{transform_exclusive_scan} may be nondeterministic. | |||
the behavior of \tcode{transform_exclusive_scan} is nondeterministic. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the behavior of \tcode{transform_exclusive_scan} is nondeterministic. | |
the behavior of \tcode{transform_exclusive_scan} might be nondeterministic. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
source/algorithms.tex
Outdated
@@ -9843,7 +9843,7 @@ | |||
\tcode{transform_inclusive_scan} is that \tcode{transform_inclusive_scan} | |||
includes the $i^\text{th}$ input element in the $i^\text{th}$ sum. | |||
If \tcode{binary_op} is not mathematically associative, | |||
the behavior of \tcode{transform_inclusive_scan} may be nondeterministic. | |||
the behavior of \tcode{transform_inclusive_scan} is nondeterministic. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the behavior of \tcode{transform_inclusive_scan} is nondeterministic. | |
the behavior of \tcode{transform_inclusive_scan} might be nondeterministic. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
source/templates.tex
Outdated
@@ -3696,7 +3696,7 @@ | |||
the relationship between the template parameters and the rest of the | |||
signature. | |||
\begin{note} | |||
Two distinct function templates may have identical function return types and | |||
Two distinct function templates could have identical function return types and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two distinct function templates could have identical function return types and | |
Two distinct function templates can have identical function return types and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
source/templates.tex
Outdated
@@ -7717,7 +7717,7 @@ | |||
|
|||
\pnum | |||
\begin{note} | |||
Type deduction may fail for the following reasons: | |||
Type deduction could fail for the following reasons: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Type deduction could fail for the following reasons: | |
Type deduction can fail for the following reasons: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
source/time.tex
Outdated
@@ -1058,7 +1058,7 @@ | |||
\pnum | |||
The \tcode{duration} template uses the \tcode{duration_values} trait to | |||
construct special values of the duration's representation (\tcode{Rep}). This is | |||
done because the representation might be a class type with behavior which | |||
done because the representation can be a class type with behavior which |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done because the representation can be a class type with behavior which | |
done because the representation can be a class type with behavior that |
(en passant)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
source/time.tex
Outdated
@@ -1140,7 +1140,7 @@ | |||
\tcode{duration} arguments will convert to it without requiring a division | |||
operation. The representation of this type is intended to be able to hold any | |||
value resulting from this conversion with no truncation error, although | |||
floating-point durations may have round-off errors. | |||
floating-point durations could have round-off errors. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
floating-point durations could have round-off errors. | |
floating-point durations can have round-off errors. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
Rebased, fixed + force-pushed. |
6a86bab
to
1154577
Compare
source/basic.tex
Outdated
\recommended | ||
Implementations should ensure that | ||
repeated and particularly inopportune interference | ||
from other threads, e.g. by repeatedly stealing a cache line |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
from other threads, e.g. by repeatedly stealing a cache line | |
from other threads, for example by repeatedly stealing a cache line |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
source/basic.tex
Outdated
\recommended | ||
Implementations should ensure that | ||
repeated and particularly inopportune interference | ||
from other threads, e.g. by repeatedly stealing a cache line | ||
for unrelated purposes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is a new, independent "should", but a restatement of the prior normative "should". Maybe something like this would be an improvement:
[Note: Under this condition, interference from other threads cannot indefinitely delay progress, even if such interference is repeated and particularly inopportune (for example, by repeatedly stealing a cache line between load-locked and store-conditional instructions), and such anomalies can therefore be safely ignored by programmers. -- end note]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Under this condition" sounded not good. Rephrased by putting programmers first; please check again.
source/basic.tex
Outdated
may prevent forward progress, | ||
e.g., | ||
by repeatedly stealing a cache line | ||
\recommended |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we want a \recommended
here. I think the text that follows is just an elaboration of the should
on the previous two lines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
source/containers.tex
Outdated
\tcode{vector} | ||
is the type of sequence container that should be used by default. | ||
is the sequence container that can be used by default. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think "can" is appropriate here; this really is advice for the programmer. Maybe we can avoid normative encouragement with factual statements like: "The sequence container vector
is appropriate in most circumstances. Use of array
may be appropriate when the container has a fixed size [...]"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed "can", but otherwise left the structure intact. Note the funny part right afterwards, for which we should leave the context intact.
72c2bfa
to
90f630a
Compare
Fixed, rebased, and force-pushed. |
Added a commit that removes should and may from footnotes (simple "grep"). |
Hi Jens, there are quite a lot of unaddressed comments still. The github UI is pretty bad and sometimes hides comments in the "Conversation" view, but you can manually unhide them, and most of them (those that still match a line in the current set of changes) will show up in the "Files changed" view. |
@zygoloid , I found the rest of the comments and hopefully addressed them all. |
Some more fixes for footnotes. |
All fixed + pushed. |
Partially addresses ISO/CS 017 (C++20 DIS)
Partially addresses ISO/CS 017 (C++20 DIS)
Partially addresses ISO/CS 017 (C++20 DIS)
and prefix them with "Recommended practice" Partially addresses ISO/CS 017 (C++20 DIS)
Partially addresses ISO/CS 017 (C++20 DIS)
Partially addresses ISO/CS 017 (C++20 DIS)
Partially addresses cplusplus/nbballot#393