Foreign Function Interface (FFI)
No language is an island. Decades of critical software — operating systems, libraries, codecs, crypto — is written in C, and any systems language that couldn't talk to it would be dead on arrival. Rust's foreign function interface lets it call C code (and be called from C), which is essential for interoperating with the existing world and for adopting Rust incrementally into C/C++ codebases. Crossing that boundary means leaving Rust's safety guarantees behind, so FFI is inherently unsafe — but it's a controlled, well-defined kind of unsafe.
No language is an island. Decades of critical software is written in C, and any systems language that couldn't talk to it would be dead on arrival. Rust's foreign function interface lets it call C (and be called from C) — essential for interoperating with the existing world and adopting Rust incrementally.