Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and community. Want something mentioned? Tweet us at @ThisWeekInRust or send us a pull request. Want to get involved? We love contributions.
- Moving from Ruby to Rust.
- Rust lifetime visualization ideas.
- Generators II: The question mark problem.
- A list of itch.io games written in Rust.
- Cross-compiling Rust code to Minix.
- One hundred Rust PRs later.
- This week in Rust and WebAssembly 10.
Always wanted to contribute to open-source projects but didn't know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
- RustFest is searching for local teams to apply for the next events.
- The CLI-WG wants to help other CLI maintainers to write good first issues for contributions.
- TiKV: Figure out how to add a second "release" profile for "dev+optimized" builds.
- TiKV: Consolidate rocksdb imports into one module for engine abstraction.
- TiKV: Avoid unnecessary clone of unstable raft log.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
247 pull requests were merged in the last week
- Implement incremental "fat" LTO
- Enable comparing fat pointers
impl iter() for dyn Error
- Improve the error messages for missing stability attributes
- Cut down on number formating code size
- Reduce the size of
str::escape_*methods with new return types
- Stabilize the
- Update the future/task API
- Speed up the fast path for
- cargo: Stabilize Alternative Registries
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
Every week the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
- [disposition: merge] Relax some Ord bounds on BinaryHeap
- [disposition: merge] Relax some Hash bounds on HashMap
- [disposition: merge] Stabilize TryFrom and TryInto with a convert::Infallible empty enum.
- [disposition: merge] Clarify guarantees for
- [disposition: merge] dbg!() without parameters.
No new RFCs were proposed this week.
- Feb 28. Copenhagen, DK - Copenhagen Rust Hack Night #0xC.
- Feb 28. Torino, IT - Rust Turin Meetup.
- Feb 28. Wroclaw, PL - Rust Wroclaw Meetup.
- Mar 6. Berlin, DE - Berlin Rust Hack and Learn.
- Feb 21. San Diego, US - San Diego Rust.
- Feb 21. Arlington, US - Rust DC—Learn+Try: Custom Redis Datastructures.
- Feb 25. Durham, US - Triangle Rustaceans.
- Feb 26. Irvine, US - Orange County Rust.
- Feb 26. Stanford, US - [@ Stanford] Barriers to Learning Rust, Wasmer.
- Feb 27. Ann Arbor, US - Ann Arbor Rust Meetup.
- Feb 27. Mesa, US - Phoenix Rust: Embedded Devices.
- Mar 6. Indianapolis, US - Indy.rs.
- Mar 6. Atlanta, US - Rust Atlanta Meetup.
- Mar 6. Vancouver, CA - Vancouver Rust meetup.
- Rust Software Consultant at Knoldus, Noida, IN.
- Software Developer at Finhaven, Vancouver, CA.
- Software Engineer at Discord, San Francisco, US.
- Network Engineer at NearProtocol, San Francisco, US.
- Navitia Software Engineer at Kisio Digital, Paris, FR.
- Rust web developer at Impero, Denmark/remote.
Tweet us at @ThisWeekInRust to get your job offers listed here!
… the experience I had in 2019 was dramatically better than the first time I touched the language. After a month I’m feeling very comfortable, and looking forward to writing more.
Ryan Ragona, Learning Rust in 2019
Thanks to Jules Kerssemakers for the suggestion!