Lang team
Prepare a draft roadmap.
Goals:
- Focus ourselves
- Steer contributors
- Think long term
Rust's mission
Empower everyone to build
reliable, efficient software
Target
Environments where
- resource usage,
- security and correctness, and
- long-term maintenance
are top considerations.
Our slogan:
"A stitch in time saves nine"
- Big success:
- Network and cloud infrastructure
- Embedded development
- Kernel development
- CLI applications (scale!)
But what about when…
- Resources are important
- But so is time-to-market
Want to ensure that we
- serve existing users well
- grow Rust's market
│
Polished │
│
│ ┌──────────────┐
│ │ │
│ │ │
│ └──────────────┘
Rough │
│
└─────────────────────────────
Reliability ... Productivity
Questions for you
We believe this is a good basis
for a Rust-wide product roadmap.
Can you see your teams' work
fitting these themes?
What's missing?
Scaling…
Three big themes:
- Flatten the (learning) curve
- Help Rust's users help each other
- Help the Rust project scale
Revisiting
- This doesn't seem like a complete list
- Think "what is highest priority for 2022"
- Revisit progress in 2023, consider additions
Learning curve
- More precise analyses, less rigamarole
- Express yourself more easily
- Improve async support
- Make
dyn Trait
more usable
Examples of things underway:
- Implied bounds (more precise analysis)
- let-else, let-chains (express yourself)
- async fns in traits (async support, dyn trait)
- dyn upcasting (dyn trait)
Help users help each other
- Rust's library ecosystem is a great strength
- We want to empower library authors further
- Share tools previously only available to
rust-lang/rust
Help users help each other
- Feature lifecycle
- Richer abstractions
- Custom developer experience
- Interoperability
Examples of things underway
- Feature lifecycle
- Interoperability:
Future work
- Feature lifecycle
- Custom developer experience
- Custom diagnostics and lints
- Interoperability
- Help crates glue together other crates
- Dynamic linking
- Portability and non-portability
Help the Rust project scale
- Teams stay around the same size (7±2)
- Community grows rapidly
- Need to scale our development processes to manage more needs
- Support delegation, empower initiative owners, subteams, WGs
Help the Rust project scale
- See the status at a glance
- Clear owners and clear communication
- Efficient, open processes with tooling support
Examples of things underway
Conclusion
- Flatten the (learning) curve
- Help Rust's users help each other
- Help the Rust project scale
Zulip stream: #t-lang/roadmap-2024
Rust 2024
{"metaMigratedAt":"2023-06-16T21:45:47.073Z","metaMigratedFrom":"YAML","title":"Lang Team: Rust 2024","breaks":true,"contributors":"[{\"id\":\"e9460a2b-f342-4d37-bb46-aef96f92ebfc\",\"add\":1127,\"del\":70},{\"id\":\"27d8f2ac-a5dc-4ebe-8c31-cc45bcd8447e\",\"add\":3781,\"del\":945}]"}