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
Restructure CA 107 functionally equivalent IFNDR note #3807
Restructure CA 107 functionally equivalent IFNDR note #3807
Conversation
Adjusts a note identified in cplusplus#3782 as being difficult to parse.
@@ -1662,8 +1662,7 @@ | |||
\end{codeblock} | |||
\end{example} | |||
This similarity includes the situation where a program is ill-formed, no diagnostic required, | |||
when the meaning of the program depends on whether two constructs are equivalent, | |||
and they are functionally equivalent but not equivalent. | |||
when the meaning of the program would be changed by considering constructs that are merely functionally equivalent to be equivalent. |
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.
Would saying "because the meaning of the program depends ..." instead of "when the meaning of the program depends ..." help? Or "due to the meaning of the program depending on ..."
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.
Although I originally argued against having this be different from the temp.over.link text, I think the new formulation here points at the rationale better. I also found the number of commas awkward before (but had no alternative ready).
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 agree that it's formally equivalent to ask "are they functionally equivalent but not equivalent and does the meaning depend on whether they're equivalent?" or to ask "would the meaning be changed if we considered functionally-equivalent constructs to be equivalent?" However, given that this is referring to normative wording specified elsewhere, I'd like to keep the descriptive approach broadly the same between the two.
How about replacing this sentence with:
"As specified in [temp.over.link], if the validity or meaning of the program depends on whether two constructs are equivalent, and they are functionally equivalent but not equivalent, the program is ill-formed, no diagnostic required."
If we're not happy with that formulation, we should change it everywhere.
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.
How about replacing this sentence with:
"As specified in [temp.over.link], if the validity or meaning of the program depends on whether two constructs are equivalent, and they are functionally equivalent but not equivalent, the program is ill-formed, no diagnostic required."
I'm fine with that. @burblebee, as the person who raised the readability concern with respect to the note, do you have an opinion on this?
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 too find @zygoloid's suggestion clear and straight-forward, and easier to parse than the current proposal.
@burblebee: What do you think? Could you please update the PR if you agree?
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.
@burblebee , ping?
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.
@hubert-reinterpretcast: maybe just go ahead and make the update?
@burblebee Do you have an opinion on this? |
Done by Jens and merged: #5071 |
Adjusts a note identified in #3782 as being difficult to parse.