Rusty Links in Local Chains
James Noble, Julian Mackay, Tobias Wrigstad

TL;DR
This paper proposes an extension to Rust's ownership model, called local ownership, to enable more flexible data structures like doubly-linked lists while preserving safety guarantees.
Contribution
It introduces a novel local ownership concept allowing multiple mutable references within Rust's safety framework, expanding its expressiveness for complex data structures.
Findings
Local ownership enables doubly-linked lists in Safe Rust.
Thread-safety is maintained through thread-local object constraints.
Memory safety is preserved via lifetime-based deallocation.
Abstract
Rust successfully applies ownership types to control memory allocation. This restricts the programs' topologies to the point where doubly-linked lists cannot be programmed in Safe Rust. We sketch how more flexible "local" ownership could be added to Rust, permitting multiple mutable references to objects, provided each reference is bounded by the object's lifetime. To maintain thread-safety, locally owned objects must remain thread-local; to maintain memory safety, local objects can be deallocated when their owner's lifetime expires.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Logic, programming, and type systems · Security and Verification in Computing
