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.
- 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.
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.
230 pull requests were merged in the last week
- The essence of lexer
- Implement RFC #2203
- Add meta-variable checks in macro definitions
- Specific error for positional args after named args in
- rustc_typeck: Improve diagnostics for
-> _ fnreturn type
- Add info about undefined behavior to
- resolve: Improve candidate search for unresolved macro suggestions
- miri validation: Better error messages for dangling references
- Cancel unemitted diagnostics during error recovery
- stdarch: Add ARM Neon vmvn_/vmvnq_ bitwise not intrinsics
- cargo: Add support for multiple --features options
- cargo: Optimize runtime of
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.
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] SIMD vectors in FFI.
- [disposition: merge] Deprecate
- [disposition: merge] Stablize Euclidean Modulo (feature euclidean_division).
- [disposition: merge] Tracking issue for unstable
- Fetching cargo registry tokens from external processes.
- General floating point formatting in Debug with
- Stabilize volatile copy and set functions.
- 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.
- 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.
- 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.
- 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!
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!