This file has been truncated. show original
# Interoperability between Swift and C++
This document discusses the design and tradeoffs for bidirectional API-level
interoperability between Swift and C++.
* We can make changes to the Swift language and the standard library.
* The proposed changes must fit Swift's goals and philosophy. In other words,
the proposed changes must have a reasonable chance to be accepted by the
Swift community. For example, a change that requires an ABI break on Apple
platforms is a non-starter.
* Forking the Swift language or standard library, or creating a dialect
without a fork (and therefore, being able to make radical changes to Swift's
goals, philosophy, safety, or ergonomics) are not interesting options, and
therefore, are not considered or discussed.
* We can make limited changes to the C++ code, toolchain, standard library
implementation, and runtime environment.
* The cost of such changes must be taken into account. Changes that require an
ABI break for C++ might be interesting for users who control the complete