Low effort because I don't have the motivation to write an actual blog post.
focus on cleanup
There's a lot of technical debt in Rust, we should deal with it now.
why?
- Rust is at a point where it will continue to be relevant for a long time1
- any new feature we add will only have a comparatively small impact as pretty much all core features are already in place
- cleaning up the implementation will speed up development in the long term
- the fewer people are currently using Rust, the easier it is to make tiny breaking changes to clean up the language. so do them early
- by cleaning up current features, we may cause future additions to be unnecessary, keeping the language smaller and consistent
- having unsound bugs sucks, we should fix those
what?
- cleanup the type system, mainly focussing on changes necessary to fix issues with the current system
- trait solver refactor initiative
- making implied bounds fully explicit in the type system
- THAT'S ME NOW!
- cleanup other areas as well
- provide a better API for our diagnostics, refactor existing diagnostics methods
- an example is the
ObligationCtxtwhich should make it easier to interact with the trait system for diagnostics.
- an example is the
- pattern matching and MIR building
- pretty much every area could use some work I guess, I am not the expert there though
- provide a better API for our diagnostics, refactor existing diagnostics methods
- close stale tracking issues
- the feature isn't too important if nothing happened for a while
- the language changed since then, original reasoning is probably out of date
- a lot of in-progress work makes it easy to accidentally stabilize stuff with a suboptimal design
- improve tooling
- work on the language is getting less impactful over time
- lots of major improvements still possible on tools though
- we're at a point where working on
rustfmtandcargois probably far more impactful than working on rustc or the standard library
That's it
There's a bunch of other stuff which is going on but I don't have anything useful to add there. I either don't care too much or trust the people who are already thinking about these things.
-
until it is replaced by a language which is even better at combining performance, control, and safety.
