Rust 2024


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


Future work

  • Feature lifecycle
    • Stability markers
  • 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

Select a repo