-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[cxx-interop] Make experimental flag ImportNonPublicCxxMembers #79728
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
[cxx-interop] Make experimental flag ImportNonPublicCxxMembers #79728
Conversation
Guards the functionality from 66c2e2c under a new experimental feature flag, ImportCxxNonPublicBaseMembers. Inheriting non-public base members triggers some latent ClangImporter bugs that we are not quite ready to iron out.
@swift-ci Please smoke test |
@swift-ci please smoke test |
Now, I'm thinking that perhaps I should actually make this flag |
@swift-ci please smoke test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some questions inline but the changes look good to me.
Please update the title and the description with the new name/semantics. |
@swift-ci Please smoke test |
@swift-ci please test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, thanks!
ClangImporter can now import non-public members as of be73254 and 66c2e2c, but doing so triggers some latent ClangImporter bugs in projects that don't use or need those non-public members.
This patch introduces a new experimental feature flag, ImportNonPublicCxxMembers, that guards against the importation of non-public members while we iron out those latent issues. Adopters of the SWIFT_PRIVATE_FILEID feature introduced in bdf2294 can enable this flag to opt into importing private members they wish to access from Swift.
rdar://145569473