Learn unsafe Rust: Provide initial content for the chapter "ABI and FFI" #150
Open
Description
Todo
Provide initial content for the ABI and FFI chapter of the Learn unsafe Rust book.
Proposed content
- Explain ABI and what "C ABI/FFI" actually means
- What aspects of the ABI are defined by C and which aren't
- How compilers and compiler settings influence the ABI
- What aspects are influenced by the ABI
- Explain unsafety categories in FFI
- Mismatching calling conventions / padding (aka ABI)
- Mismatching function signatures
- Mismatching type declarations
- Unsafe actions beyond the FFI boundary
- Moveability/self-reference, especially with C++ move constructors
- Ownership
- C++ topics
- Mitigations for FFI unsafety
- Existing FFI tooling (bindgen, cbindgen, cxx)
- Checks that can be done on FFI and Rust side
- cRABI (?)
Metadata
Assignees
Labels
No labels