mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Swift handles Clang submodules as far as controlling visibility, but pretends that all the declarations live in the top-level module for the purposes of lookup. This was interacting poorly with another feature: automatically importing the Swift part of a mixed-source framework and using that as the "presentation" of a Clang module... or a submodule in the same framework. Therefore, if you are - compiling the Swift part of a mixed-source framework, and - importing one of the framework's (Clang) submodules name binding would say that the current file imports the Swift module currently being compiled, in addition to the Clang module we actually want. Just break the cycle in that case.
2 lines
24 B
C
2 lines
24 B
C
extern void topLevel();
|