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

[module.reach] Clarify that only TUs with an interface dependency may be incidentally reachable #4032

Merged
merged 1 commit into from Sep 18, 2020

Conversation

RedBeard0531
Copy link
Contributor

@RedBeard0531 RedBeard0531 commented Jun 10, 2020

I think this is the intent of that sentence. Another possible reading, and the one my rewording attempts to prevent, is that because it doesn't say that no other TUs may be reachable, any TU may be, and it is just giving an example of a specific likely case of incidental reachability. But if that is the intent, then we probably shouldn't have it in normative text.

There is an existing issue in the wording (#3502) in that http://eel.is/c++draft/module#import-10 defines "has an interface dependency" as a relationship between two TUs, but this uses it as a relationship between "point with the program" and a TU. This makes it ambiguous about whether TU imported later in a file may be reachable at an earlier point. I am not trying to resolve that ambiguity with this change.

… be incidentally reachable

I think this is the intent of that sentence. Another possible reading, and the one my rewording attempts to prevent, is that because it doesn't say that no other TUs may be reachable, any TU may be, and it is just giving an example of a specific likely case of incidental reachability. But if that is the intent, then we probably shouldn't have it in normative text.

There is an existing issue in the wording in that http://eel.is/c++draft/module#import-10 defines "has an interface dependency" as a relationship between two TUs, but this uses it as a relationship between "point with the program" and a TU. This makes it ambiguous about whether TU imported later in a file may be reachable at an earlier point. I am not trying to resolve that ambiguity with this change.
@jensmaurer jensmaurer added this to the C++20 milestone Sep 17, 2020
@zygoloid zygoloid merged commit 122a892 into cplusplus:master Sep 18, 2020
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

3 participants