March 7, 2026
Rust: glow-up or blow-up?
A Grand Vision for Rust
Rust’s big plan ignites: safer code or feature overload
TLDR: Rust’s roadmap promises safer, stricter code with new function guarantees and tighter rules to prevent bugs. Fans cheer the ambition, but many warn of Scala/C++‑style feature bloat and complexity, debating whether bigger safety gains are worth a steeper learning curve and trickier language.
Rust just dropped a “grand vision” for the future—more safety promises from functions, stricter rules about how many times you can use a value, and smarter checks to prevent bugs. Translation: the Rust team wants code that can prove it won’t crash, won’t loop forever, and won’t do anything sneaky. Ambitious? Absolutely. But the comment section turned it into a full-on sequel to “Language Wars.”
On one side, the safety superfans cheered. One user celebrated, “Finally seeing more movement on effects,” dreaming of Rust catching up to safety-first languages like Ada and Lean. Effects—think function “labels” that say “I won’t panic” or “I won’t touch the network”—had folks buzzing about effect systems like they’re a new superpower.
Then came the skeptics with the torches. A veteran warned, “I had some Scala 3 feelings,” worried Rust could drown in fancy features. Another went nuclear: “Rust is fast tracking being as bad as C++,” throwing around the ultimate scare word—complexity. Meanwhile, a practical voice asked, “What are people writing in Rust today?” as the thread split between theorists and builders. The memes wrote themselves: function colors become “Skittles for code,” and the C++ flashbacks are real. The vibe: brilliant vision vs. feature bloat panic, with popcorn on standby.
Key Points
- •The article proposes three focus areas for Rust: richer effect typing, enhanced substructural type support, and refinement types.
- •Rust already supports const fn and async fn (stable) and try fn and gen fn (nightly) as examples of effect-typed functions.
- •The author seeks additional effect guarantees: no unwind (panic), guaranteed termination (no div), determinism (no ndet), and no host I/O (no io).
- •Beyond affine types, the vision includes enabling linear types (exactly-once use) and ordered types (exactly-once, in order) to prevent leaks and ensure stable addresses.
- •New traits like Forget and Move are proposed to unlock linear and ordered type guarantees, and refinement types are discussed to improve spatial safety beyond default runtime bounds checks.