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
- U.S. House Committee on Financial Services hearing: Why was the Rust language chosen?
- Microsoft Security Response Center: Why Rust for safe systems programming.
- Compiler speed has improved 30-40% across the board year-to-date, with some projects seeing 45%+ improvements.
- Perils of constructors.
- Notes on a smaller Rust.
- Announcing heim project.
- Gotham — from start to Heroku.
- How to write full stack Rust code.
- HOWTO: Replace mem::uninitialized with mem::MaybeUninit.
- Stream combinators implemented using for await syntax.
- CLion Rust plugin adds a new experimental macro expansion engine.
Crate of the Week
This week's crate is abscissa, a security-oriented Rust application framework. Thanks to Tony Arcieri 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
230 pull requests were merged in the last week
- The essence of lexer
- Implement RFC #2203
- Add meta-variable checks in macro definitions
- Stabilize
<*mut _>::cast
and<*const _>::cast
- Specific error for positional args after named args in
format!()
- rustc_typeck: Improve diagnostics for
-> _ fn
return type - Add info about undefined behavior to
as_ref
suggestions - resolve: Improve candidate search for unresolved macro suggestions
- miri validation: Better error messages for dangling references
- Cancel unemitted diagnostics during error recovery
- Make
VaListImpl<'f>
invariant over'f
- Add
Option::expect_none(msg)
andunwrap_none()
- stdarch: Add ARM Neon vmvn_/vmvnq_ bitwise not intrinsics
- cargo: Add support for multiple --features options
- cargo: Optimize runtime of
#[cargo_test_macro]
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] SIMD vectors in FFI.
Tracking Issues & PRs
- [disposition: merge] Deprecate
try!
macro. - [disposition: merge] Stablize Euclidean Modulo (feature euclidean_division).
- [disposition: merge] Tracking issue for unstable
--json-rendered
flag.
New RFCs
- Fetching cargo registry tokens from external processes.
- General floating point formatting in Debug with
{:g?}
. - Stabilize volatile copy and set functions.
Upcoming Events
Africa
Asia Pacific
- Jun 25. Seoul, KR - Seoul Rust Meetup, Hapjeong.
- Aug 10. Singapore, SG - Rust Meetup.
- Aug 5. Auckland, NZ - Rust AKL August - Rust usage in Firefox.
Europe
- Jul 26. Stuttgart, DE - Rust Meetup Stuttgart - Hack and Learn.
- Aug 7. Erlangen, DE - Rust Franken Meetup #1.
- Aug 7. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn.
North America
- Jul 30. Dallas, TX, US - Dallas Rust - Last Tuesday.
- Aug 7. Portland, OR, US - PDXRust - Trees = Boxes + Enums + Iterators.
- Aug 7. Vancouver, BC, CA - Vancouver Rust meetup.
- Aug 8. San Diego, CA, US - San Diego Rust August Meetup.
- Aug 8. Columbus, OH, US - Columbus Rust Society - Monthly Meeting.
- Aug 7. Atlanta, GA, US - Grab a beer with fellow Rustaceans.
- Aug 7. Indianapolis, IN, US - Indy.rs.
South America
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
- Infrastructure Engineer at Neuralink, San Francisco, US.
- Rust Developer at Red Sift, London, UK or remote.
- Blockchain Runtime Engineer at Parity, Berlin, DE or remote.
- Software Engineer at TenX, Singapore.
- Senior Software Engineer (Rust) at IOTA, Remote.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Roses are red, Rust-lang is fine, cannot borrow `i` as mutable more than once at a time
Thanks to Jelte Fennema for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.