Definition
Borrow checking is compile-time tracking of references to ensure safe aliasing—classically Rust’s shared-xor-mutable rule. Alternative designs (e.g., group borrowing) track provenance to forbid use-after-free while allowing more flexible mutation patterns.
Key Points
-
2026-10-13: rustc issue #164250—covariant field assignment can bypass struct lifetime bounds leading to use-after-scope via
Drop; see rust-compiler-soundness (2026-10-13-rust-borrow-checker-covariant-lifetime-unsoundness) -
2026-10-11: Valen’s group-borrowing checker remembers reference targets and unifies borrow kinds for Rust FFI (2026-10-11-valen-memory-safety-borrow-checking)
-
Originated in Nick Smith’s group borrowing proposal; adopted across multiple language experiments