Skip to content

✨ Swift should provide support for internal imports and resilience for all platforms (that can be enabled in SwiftPM) to allow Swift modules to depend on C++ modules without requiring that the clients enable C++ interoperability #66156

Open
@hyp

Description

@hyp

Right now, a Swift target that enables C++ interoperability in SwiftPM requires its dependencies to enable C++ interoperability as well.

We can fix it when Swift supports the following:

  • internal imports
  • resilience for all platforms (that can be enabled in SwiftPM)

This will allow a Swift target to import C++ clang modules using internal qualifier and will allow it to enable resilience. This will ensure that the dependencies that want to use such Swift target do not have to enable C++ interoperability unless they desire to do so.

This issue tracks the support for both features in Swift. Once both features are supported we can start supporting this C++ interoperability use case as well.

Metadata

Metadata

Assignees

Labels

access controlFeature → modifiers: Access control and access levelsc++ interopFeature: Interoperability with C++compilerThe Swift compiler itselfdeclarationsFeature: declarationsfeatureA feature request or implementationimportFeature → declarations: `import` declarationslibrary evolutionFeature: library evolution (umbrella feature for features that facilitate resilient libraries)platform support

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions