Chapter 10. Unsafe Rust and Foreign Function Interfaces
Rust is a language that has two modes: safe mode (the default) and unsafe mode. In safe mode, you get all sorts of safety features to protect you from serious mistakes, but there are times when you're required to shake off the safety harness provided by the compiler and get that extra level of control. One use case is interfacing with other languages, such as C, which can be very unsafe. In this chapter, you will get to know what sort of extra work is required when Rust has to interact with other languages and how unsafe mode is used to facilitate and make this interaction explicit.
In this chapter, we will cover the following topics:
- Understanding the safe and unsafe modes
- Operations that are unsafe in Rust
- Foreign function interface, talking to C, and vice versa
- Interfacing with Python using PyO3
- Interfacing with Node.js using Neon