[module.import]/3 remove redundant importing of interface partitions #4907
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://eel.is/c++draft/module.import#7 already describes how importing a TU implicitly imports all TUs that are
export import
ed from the TU. https://eel.is/c++draft/module.unit#3.sentence-3 ensures that all interface partitions are transitively exported by the primary interface unit. Therefore, [module.import]/3 does not need to say that it imports "all module interface units ofM
" (unless the implication is that it also imports interface partitions that are not transitively exported by the PMI). I think it is simpler if [module.import]/3 only describes the "root" interface TU being imported with /7 handling the transitive importing of partitions. This also matches the wording used at https://eel.is/c++draft/module.unit#8 to describe the implicitimport M;
that occurs aftermodule M;
.