Rust is often described as a "library-first language," yet user-defined smart pointers are second-class compared to built-in types like &, &mut, and Box. These native types enjoy special privileges, like integration with the borrow checker, that ordinary library types like Arc, RefCell, and PyRef cannot currently replicate. These limitations make Rust much clunkier than it has to be. They also prevent powerful concepts like in-place initialization from being expressed safely.
This talk presents an update on the "Beyond the &" roadmap, an initiative to bridge these gaps. We explore how exposing the borrow checker's fundamental primitives allows us to generalize standard "superpowers" to user-defined types. We discuss plans to extend the reference model itself by investigating new types like &own and &uninit, which aim to solve long-standing issues with safe in-place construction.
By mapping out these primitives, we enable a future where pointer types like VolatilePtr and CppRef – as well as wrapper types like Cell and MaybeUninit – are as ergonomic to use as builtin types. This creates powerful new patterns for systems programming, interoperability, and abstraction.