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.
Updates from Rust Community
News & Blog Posts
- New members for the Rust core team.
- Tools team changes.
- Raspberry Pi 3: Hardware debugging using JTAG.
- From 46s to 5s - Optimizing a 350 line raytracer in Rust.
- Should Rust channels panic on send if nobody's listening?
- In nightly Rust, 'await!' may never return (dropping futures).
- The rise of wgpu.
- Making a case: Rust for Python developers.
- Intro to web programming in Rust for NodeJS developers.
- Remote development and debugging of Rust with CLion.
- This week in Rust and WebAssembly 13.
- The Embedded WG newsletter 16.
Crate of the Week
Call for Participation
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.
- Classic Unix utilities make great beginner projects.
- TiKV: Set compile-time env vars in build script instead of Makefile
- TiKV: Use breakpad + symbolic to generate and interpret minidump-format core dumps
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
173 pull requests were merged in the last week
- Make the rustc driver and interface demand driven
- Make the lifetime parameters of tcx consistent
- Don't promote function calls to nonpromotable things
- HirIdification: almost there
- Monomorphize generator field types for debuginfo
- Always emit unclosed delimiter diagnostics
unwind(aborts)in diagnostics for
- Add const generics to ty (and transitive dependencies)
- Make the Entry API of HashMap
Sync and Send
- On return type
impl Traitfor block with no expr point at last semi
- Create a derive macro for HashStable and allow proc macros in rustc
- Move index updates off the web server
- MaybeUninit: add read_initialized, add examples
- cargo: Emit warning on misspelled environment variables
- rustdoc: add option to calculate "documentation coverage"
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
Final Comment Period
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] Stabilize the alloc crate.
- [disposition: merge] Transparent Unions and Enums.
- [disposition: postpone] Initial pipeline.
- [disposition: merge] Add provided methods
- [disposition: merge] Tracking issue for Ref/RefMut::map_split.
- Mar 16. Chennai, IN - Rust Chennai monthly meetup.
- Mar 20. Tokyo, JP - Tokyo Rust Game Hack.
- Mar 25. Melbourne, AU - Rust Melbourne Meetup.
- Mar 14. Brno, CZ - Rust Brno Meetup at Masaryk University.
- Mar 14. Göteborg, SE - Rust Gothenburg.
- Mar 17. St. Petersburg, RU - St. Petersburg Rust Meetup.
- Mar 19. Nijmegen, NL - Rust Nijmegen: Rust for the (Inter)Net - API's, HTTP/3 and Tide.
- Mar 20. Berlin, DE - Berlin Rust Hack and Learn.
- Mar 21. Torino, IT - Turin Rust Meetup.
- Mar 26. Berlin, DE - Rust and Tell Berlin.
- Apr 04. Wroclaw, PL - Rust Wroclaw Meetup.
- Mar 14. Columbus, US - Columbus Rust Society.
- Mar 14. Utah, US - Utah Rust monthly meetup.
- Mar 14. San Diego, US - San Diego Rust.
- Mar 19. Austin, US - March Meetup.
- Mar 20. Vancouver, CA - Vancouver Rust meetup.
- Mar 20. Ciudad de México, MX - Study group RustMX.
- Mar 25. Durham, US - Triangle Rustaceans.
- Mar 27. Ann Arbor, US - Ann Arbor Rust Meetup.
- Mar 27. Mesa, US - Phoenix Rust: Scientific Computing.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Ownership is hard. It indeed is. And you managed to do that exact hard thing by hand, without any mechanical checks. (Or so you think.)
– @Cryolite on twitter (translated from Japanese)