Unsafety
Unsafe operations are those that potentially violate the memory-safety guarantees of Rust's static semantics.
The following language level features cannot be used in the safe subset of Rust:
- Dereferencing a raw pointer.
- Reading or writing a mutable static variable.
- Reading a field of a
union
, or writing to a field of a union that isn'tCopy
. - Calling an unsafe function (including an intrinsic or foreign function).
- Implementing an unsafe trait.