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
- How Rust optimizes async/await II: program analysis.
- Rust on the ESP32.
- Linux.Fe2O3: a Rust virus.
- Improvement to the compile time of a crate.
- hyper 0.13 alpha supports async/await.
- Writing an OS in Rust: updates in August 2019.
- Rust in large organizations - meeting notes.
- Futures concurrency.
Crate of the Week
This week's crate is viu, a terminal image viewer.
Thanks to Willi Kappler for the suggestion!
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.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
303 pull requests were merged in the last week
- Support both static and dynamic linking mode in testing for vxWorks
- Point at variant on pattern field count mismatch
- Use hygiene for AST passes
- Account for doc comments coming from proc macros without spans
- Reduce span to function name in unreachable calls
- Move path parsing earlier
- or-patterns: Uniformly use
PatKind::Orin AST & Fix/Cleanup resolve
- Allow checking of run-pass execution output in compiletest
- Rust 2018: NLL migrate mode => hard error
- Extend Polonius fact generation for (some) move tracking
- polonius: Finalise initialisation calculations
- libc: Remove WASI Core API
- Use wasi crate for Core API
- Use unicode-xid crate instead of libcore
bind_by_move_pattern_guardsin Rust 1.39.0
Rev::rpositioncounts from the wrong end
- Add Iterator comparison methods that take a comparison function
- Add methods for converting
- cargo: Rename
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved 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] RFC for an operator to take a raw reference.
- [disposition: merge] Stabilize
- [disposition: merge] Stabilize
param_attrsin Rust 1.39.0.
- [disposition: merge] Stabilise weak_ptr_eq.
- Sep 17. Wrocław, PL - Rust Wrocław Meetup #12
- Sep 18. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn.
- Sep 25. Milano, IT - Rust Language Milano - Virtual Filesystem with Rust.
- Sep 18. Portland, OR, US - PDXRust - Hack Night (not the usual meetup!).
- Sep 18. Vancouver, BC, CA - Vancouver Rust meetup.
- Sep 20-21. Denver, CO, US - Colorado Gold Rust.
- Sep 23. Durham, NC, US - Triangle Rustaceans - Project Night & Lightning Talks.
- Sep 24. Dallas, TX, US - Dallas Rust - Last Tuesday.
- Sep 25. Chicago, IL, US - Chicago Rust Meetup - Wait, why does Rust have 4 string types.
- Sep 25. Ann Arbor, MI, US - Ann Arbor Rust Meetup - Monthly Gathering.
- Sep 25. Mesa, AZ, US - Desert Rust - Rust: Web assembly.
- Software Engineer at Laika, Hillsboro, OR, US.
- Senior Distributed Systems Engineer at Interchain Foundation, Toronto, CA.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
The Rust compiler is basically 30 years of trying to figure out how to teach a computer how to see the things we worry about as C developers.
Thanks to llogiq for the suggestion!