Skip to content

Support Swift-Cxx reverse interop, bidirectional interop, and mixed Swift-Cxx targets #8945

@maddyadams

Description

@maddyadams

Description

In Xcode with Swift-Cxx interop enabled, developers can use:

  • forward interop (importing C++ into Swift via a bridging header/modulemap)
  • reverse interop (importing Swift into C++ via an autogenerated SwiftModule-Swift.h C++ header)
  • mixed language targets (using both Swift and C++ source files in the same target)
  • bidirectional interop (using both forward and reverse interop in the same mixed language target)

Currently, SwiftPM only supports forward interop in non-mixed language targets. It should improve feature parity by adding support for reverse interop, mixed language targets, and bidirectional interop.

Expected behavior

No response

Actual behavior

No response

Steps to reproduce

No response

Swift Package Manager version/commit hash

No response

Swift & OS version (output of swift --version && uname -a)

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions