You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a translation unit U imports translation unit T, the wording in 10.3/6 treats non-exported imports in T differently depending on whether T and U are in the same module. If they are in the same module those imports are also imported by U. This inconsistency is presumably to allow U to implicitly import implementation partitions imported by T, which cannot be exported. However this also applies to unrelated imports in T, including those within the global module fragment caused by implicit translation of #includes. This has an effect on the reachability rules in 10.6/1
Proposed change:
A few options, some of which can be sensibly combined:
1. Apply this only to imports within the module purview of T
2. Apply this only for imports of partitions of the same module as T. Possibly only implementation partitions, because interface partitions could be directly exported
3. Eliminate this implicit import rule, and only implicitly import explicitly exported imports.
4. Eliminate the distinction between interface and implementation partitions. Allow any partition unit to be exported. Only require partition units containing export declarations to be exported by the primary interface unit.
The text was updated successfully, but these errors were encountered:
When a translation unit U imports translation unit T, the wording in 10.3/6 treats non-exported imports in T differently depending on whether T and U are in the same module. If they are in the same module those imports are also imported by U. This inconsistency is presumably to allow U to implicitly import implementation partitions imported by T, which cannot be exported. However this also applies to unrelated imports in T, including those within the global module fragment caused by implicit translation of #includes. This has an effect on the reachability rules in 10.6/1
Proposed change:
A few options, some of which can be sensibly combined:
1. Apply this only to imports within the module purview of T
2. Apply this only for imports of partitions of the same module as T. Possibly only implementation partitions, because interface partitions could be directly exported
3. Eliminate this implicit import rule, and only implicitly import explicitly exported imports.
4. Eliminate the distinction between interface and implementation partitions. Allow any partition unit to be exported. Only require partition units containing export declarations to be exported by the primary interface unit.
The text was updated successfully, but these errors were encountered: