Rust programming language introduces ownership and borrowing systems to optimize memory management without garbage collection. The type system in Rust, separate from the ownership model, aims to incorporate functional programming guarantees into performant systems code. Recent models such as RustBelt and Oxide seek to formalize Rust deeply, focusing on integrating core concepts into traditional type systems. Uniqueness types in functional settings offer a coarse-grained view of memory management, but recent work combines linear and uniqueness types for more robust control over program behavior and memory usage. Rust’s ownership model is seen as a graded generalization of uniqueness, integrating smoothly into standard type systems alongside linearity and graded types.
https://arxiv.org/abs/2310.18166