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

Motions 2019 11 cwg 3: P1971R0 Core Language Changes for NB Comments #3481

Merged
merged 17 commits into from Nov 20, 2019

Conversation

burblebee
Copy link
Contributor

@burblebee burblebee commented Nov 16, 2019

Fixes #3396.
Fixes cplusplus/nbballot#7.
Fixes cplusplus/nbballot#41.
Fixes cplusplus/nbballot#19.
Fixes cplusplus/nbballot#20.
Fixes cplusplus/nbballot#37.
Fixes cplusplus/nbballot#43.
Fixes cplusplus/nbballot#51.
Fixes cplusplus/nbballot#52.
Fixes cplusplus/nbballot#64.
Fixes cplusplus/nbballot#78.
Fixes cplusplus/nbballot#86.
Fixes cplusplus/nbballot#108.
Fixes cplusplus/nbballot#109.
Fixes cplusplus/nbballot#110.
Fixes cplusplus/nbballot#131.
Fixes cplusplus/nbballot#363.
Fixes cplusplus/nbballot#374.

Issues:

  • GB079 - fyi, Section [module.global] is now [module.global.frag]
  • US111 - Comments in example use the wording " constraints" as a subject - should this be "the constraints on "?

source/templates.tex Outdated Show resolved Hide resolved
source/templates.tex Outdated Show resolved Hide resolved
source/templates.tex Outdated Show resolved Hide resolved
source/expressions.tex Show resolved Hide resolved
source/basic.tex Show resolved Hide resolved
source/modules.tex Outdated Show resolved Hide resolved
source/templates.tex Outdated Show resolved Hide resolved
@CaseyCarter
Copy link
Contributor

CaseyCarter commented Nov 18, 2019

US111 - Comments in example use the wording "constraints" as a subject - should this be "the constraints on "?

The comments use "constraint" with two different meanings:

  • To refer to an atomic constraint expression in the associated constraints of a declaration:
    • // ambiguous, !sad<T> constraints are not formed from the same expression refers to the atomic constraint expressions !sad<T> in the associated constraints of both declarations of f1
    • // OK, !sad<T> constraints both come from not_sad refers to the atomic constraint expressions !sad<T> in the associated constraints of both declarations of f2
  • To refer to the associated constraints of a declaration:
    • // error, constraint not satisfied due to substitution failure refers to the associated constraints of f3.

This overloaded meaning for "constraint" is fairly common usage when discussing code, it's annoying to always clearly specify "atomic constraint expression" or "associated constraints" when the context generally makes it clear. Given that the point of examples in the Standard is to explain things to folks who don't know that the context makes the meaning clear and why, we should avoid overloading meanings like this.

I suggest using "!sad<T> atomic constraint expressions" in the first two comments and "associated constraints not satisfied" in the third.

@jensmaurer jensmaurer added the changes requested Changes to the wording or approach have been requested and not yet applied. label Nov 18, 2019
@burblebee
Copy link
Contributor Author

@CaseyCarter Thanks for your suggestions. So for US111, we now have this in [temp.constr.op] :

  int i1 = f1(42);      // ambiguous, !sad<T> atomic constraint expressions are not formed from the same expression
  ...
  int i2 = f2(42);      // OK, !sad<T> atomic constraint expressions both come from not_sad

Which still doesn't quite read right to me. What do you think?

@burblebee burblebee removed the changes requested Changes to the wording or approach have been requested and not yet applied. label Nov 18, 2019
@CaseyCarter
Copy link
Contributor

Which still doesn't quite read right to me. What do you think?

\grammarterm{expression} in the first comment may help. A cross-reference to [temp.constr.atomic] may help more.

Copy link
Contributor

@CaseyCarter CaseyCarter left a comment

Choose a reason for hiding this comment

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

LGTM!

@jensmaurer jensmaurer added this to the post-2019-11 milestone Nov 19, 2019
Dawn Perchik added 4 commits November 19, 2019 17:03
… identity

[namespace.udecl] Added commas to clarify that the phrases following
the amended lists apply to all elements in the list.
zygoloid and others added 13 commits November 19, 2019 17:33
versus "does not disqualify some other expression from being a core
constant expression".
[dcl.fct.def.coroutine] Changed "/await-resume/" to "the /await-resume/ expression".
[module.private.frag] Changed "TU" to "translation unit" (TU is not specified).
the note, and update the example to match a revised version from Nathan
Sidwell.
Referenced change to [module.global]/p9 applied to [module.import]/p9.
unclear in a note; instead merely clarify the language's response
to the various options available to the programmer.
…ader units

[cpp.import]/p3 Changed the wording "are encouraged not to treat them" to
"are encouraged to not treat them".
@zygoloid zygoloid merged commit 788436e into master Nov 20, 2019
@jensmaurer jensmaurer deleted the motions-2019-11-cwg-3 branch February 18, 2020 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment