Language Interop
Ideal scenario:
This section of the course covers interacting with Rust and external languages via its foreign-function interface (FFI), with a special focus on interoperability with C++.
Ideally, users of Rust and the external language (in this case C++) could call each others’ methods directly.
This ideal scenario is very difficult to achieve:
Different languages have different semantics and mapping between them implies trade-offs Neither Rust nor C++ offer ABI stability1, making it difficult to build from a stable foundation
-
Some C++ compiler vendors provide support for ABI stability within their toolchain. ↩