Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 1.42 KB

unsafety.md

File metadata and controls

44 lines (32 loc) · 1.42 KB

r[safety]

Unsafety

r[safety.intro] Unsafe operations are those that can potentially violate the memory-safety guarantees of Rust's static semantics.

r[safety.unsafe-ops] The following language level features cannot be used in the safe subset of Rust:

r[safety.unsafe-deref]

r[safety.unsafe-static]

r[safety.unsafe-union-access]

  • Accessing a field of a union, other than to assign to it.

r[safety.unsafe-call]

  • Calling an unsafe function (including an intrinsic or foreign function).

r[safety.unsafe-target-feature-call]

  • Calling a safe function marked with a [target_feature][attributes.codegen.target_feature] from a function that does not have a target_feature attribute enabling the same features (see [attributes.codegen.target_feature.safety-restrictions]).

r[safety.unsafe-impl]

r[safety.unsafe-extern]

r[safety.unsafe-attribute]

Footnotes

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