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
The phrase "has an interface dependency [...] prior to X" appears in [module.reach]p1 and [basic.start.dynamic]p1, but isn't defined. Per [module.import]p7, "has an interface dependency on" is a relation between translation units, with no associated "location" to be prior to.
It's obvious what it means: the interface dependency is caused by some construct (in this case, a module-declaration or module-import-declaration) that appears prior to X. But we should say that!
The text was updated successfully, but these errors were encountered:
http://eel.is/c++draft/module#reach-2 uses a similar construction "translation units on which the point within the program has an interface dependency". With the current definition of "has an interface dependency on" it is ambiguous whether the intent was to allow a later import is allowed to make a TU incidentally reachable as of an earlier point in the program. Because that paragraph is a relaxation of the strict necessarily reachable rule intended to simplify implementations, that seems like a reasonable interpretation because it would allow eagerly loading all referenced BMIs at the start of compiling a TU, rather than lazily loading them as they are imported.
The phrase "has an interface dependency [...] prior to X" appears in [module.reach]p1 and [basic.start.dynamic]p1, but isn't defined. Per [module.import]p7, "has an interface dependency on" is a relation between translation units, with no associated "location" to be prior to.
It's obvious what it means: the interface dependency is caused by some construct (in this case, a module-declaration or module-import-declaration) that appears prior to X. But we should say that!
The text was updated successfully, but these errors were encountered: