-
Notifications
You must be signed in to change notification settings - Fork 7
[intro.abstract] It is unclear where erroneous behavior diagnostics are issued #688
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
Comments
Since it's a "recommended practice" and not a normative requirement, it seems harmless to recommend something that cannot be realized on some platforms. In fact, that's usually why we have "recommended practice" utterances: Something we'd really like to have, but sometimes can't be provided. |
I'm not opposed to keeping "An implementation". It just looks weird when you recommend implementations (including freestanding implementations) to print to stderr. The lack of clarity regarding where the diagnostic is issued is the bigger fish to fry in this issue anyway. |
Did you think it makes more sense to output the diagnostic messages to the standard error stream than some other device (e.g. another stream or something shown in GUI)? If not, I don't think we should change the recommendation. |
We already recommend that It should probably not be Writing to It's not that important that we output to |
No. This is required, not recommended. I'd clarify that I'm not recommending alternatives. It seems to me that you thought the standard error stream is the only recommendable output, without which nothing should even be recommended. I doubt whether it is the case. |
Yeah, that's true to an extent. I didn't see any viable alternative and thought it's more of a defect that not concrete recommendation was made. In any case, this change would probably be evolutionary, so whatever. |
Prior discussion at: cplusplus/draft#7730 (comment)
Reference (section label): [intro.abstract] paragraph 6
Issue description
In [assertions.assert], we say that a diagnostic is created "on the standard error stream". One would expect diagnostics emitted as part of erroneous behavior to follow this precedent, but the Recommended practice in [intro.abstract] paragraph 6 does not state where the diagnostic is emitted.
Furthermore, erroneous behavior can occur within a freestanding implementation, but such an implementation may not be capable of producing diagnostics during execution, so the recommendation should not apply to it.
Suggested resolution
Change [intro.abstract] paragraph 6 as follows:
The text was updated successfully, but these errors were encountered: