a grand vision for rust
— 2026-03-05
I don’t think I’ve ever quite articulated my “grand vision” for Rust, despite having written a fair bit about the language and its features. There is a lot I could say here, but currently there are three directions of development which I find particularly interesting:
Improving Rust’s support for effects Improving Rust’s support for substructural rules Adding support for refinement types in Rust
There are more things in the language to be excited about, but these three in particular interest me. If you’ve followed my work in Rust even a little bit for the past few years, this might provide some clarity about what exactly it is I’m trying to work towards here.
Effects
Rust has support for const fn and async fn on stable Rust. And on nightly it also has support for try fn and gen fn . These are often referred to as “function colors”, but more formally they’re also known as “effect types” which are part of a broader category of programming language research called “type-and-effect systems”.
Dealing with only one or two effects is generally fine. But the more effects you add the more painful they become to work with. And from talking with people who work on compilers, operating systems, VMs, and the like I believe that Rust would benefit greatly from being able to provide more guarantees on functions including:
Functions which guarantee they do not unwind (absence of the panic effect)
effect) Functions which guarantee they terminate (absence of the div effect)
... continue reading