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
- 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!
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.
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::Or
in 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
- Add
Result::cloned
{,_err
} andResult::copied
{,_err
} - Stabilize
bind_by_move_pattern_guards
in Rust 1.39.0 - Stabilize
checked_duration_since
for 1.38.0 - Stabilize
pin_into_inner
in 1.39.0 Rev::rposition
counts from the wrong end- Override
StepBy::{try_fold, try_rfold}
- Add Iterator comparison methods that take a comparison function
- Add methods for converting
bool
toOption<T>
- cargo: Rename
--all
to--workspace
Approved RFCs
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.
RFCs
- [disposition: merge] RFC for an operator to take a raw reference.
Tracking Issues & PRs
- [disposition: merge] Stabilize
Vec::new
andString::new
asconst fn
s. - [disposition: merge] Stabilize
param_attrs
in Rust 1.39.0. - [disposition: merge] Stabilise weak_ptr_eq.
New RFCs
Upcoming Events
Asia Pacific
Europe
- 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.
North America
- 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.
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
- 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.
– James Munns (@bitshiftmask) on Twitter
Thanks to llogiq for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.