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.
This Week in Rust is openly developed on GitHub. If you find any errors in this week's issue, please submit a PR.
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
This week's crate is validator, a crate offering simple validation for Rust structs. Thanks to Willi Kappler for the suggestion!
Submit your suggestions and votes for next 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
- Mention
unwind(aborts)
in diagnostics for#[unwind]
- Add const generics to ty (and transitive dependencies)
- Make the Entry API of HashMap
Sync and Send - On return type
impl Trait
for 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
- Make
Unique::as_ptr
,NonNull::dangling
andNonNull::cast
const - MaybeUninit: add read_initialized, add examples
- Add
as_slice()
toslice::IterMut
andvec::Drain
- cargo: Emit warning on misspelled environment variables
- rustdoc: add option to calculate "documentation coverage"
Approved RFCs
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.
RFCs
- [disposition: merge] Stabilize the alloc crate.
- [disposition: merge] Transparent Unions and Enums.
- [disposition: postpone] Initial pipeline.
Tracking Issues & PRs
- [disposition: merge] Add provided methods
Seek::{stream_len, stream_position}
. - [disposition: merge] Tracking issue for Ref/RefMut::map_split.
New RFCs
Upcoming Events
Online
Asia Pacific
- Mar 16. Chennai, IN - Rust Chennai monthly meetup.
- Mar 20. Tokyo, JP - Tokyo Rust Game Hack.
- Mar 25. Melbourne, AU - Rust Melbourne Meetup.
Europe
- 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.
North America
- 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.
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Rust Jobs
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)
Thanks to Xidorn Quan and GolDDranks for the suggestion!
Please submit your quotes for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.