-
Notifications
You must be signed in to change notification settings - Fork 10.5k
skip implicit clang decls in the duplicate-decl assertion #41115
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
Conversation
SR-15801 rdar://88299954
@swift-ci Please test |
@swift-ci Please test source compatibility |
@swift-ci Please build toolchain macOS platform |
@swift-ci Please build toolchain macOS platform |
Source compatibility seems to be an issue on the CI builder, and/or an issue in SwiftPM. Trying with the SwiftPM fix... swiftlang/swift-package-manager#4075 @swift-ci Please test source compatibility |
macOS Toolchain Install command |
cc @slavapestov since you reviewed the past patches in this series |
@swift-ci Please test source compatibility |
@swift-ci Please test |
@swift-ci Please test macOS |
Resolves SR-15801
The "duplicate decls" assertion added in #40810 (and re-added in #40860) trips on modules that re-export multiple modules that themselves have underlying Clang modules. This is because of decls added implicitly by Clang, such as
__NSConstantString
. These duplicate decls should be harmless to leave in, since they are usually filtered out by consumers ofgetDisplayDecls
anyway.I'm not totally sure this is the right approach, but these decls aren't as clear-cut as "importing multiple copies of the same underlying module", so i'm posting this as a potential solution and i would like to run as many tests as possible to make sure that my assumptions are correct.