Unsafety

Unsafe operations are those that can 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:

  • Accessing a field of a union, other than to assign to it.
  • Calling an unsafe function (including an intrinsic or foreign function).
1

Prior to the 2024 edition, extern blocks were allowed to be declared without unsafe.