Rust’s Borrow Checker as Applied Type Theory

Ownership and borrowing are usually pitched as “smart pointers with extra steps.” They’re actually a decades-old branch of mathematics, put to work. Ask a room of engineers what the Rust borrow checker does, and most will describe it as a strict compiler feature that stops you from misusing memory. That’s true, but it undersells the …