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
- Should small Rust structs be passed by-copy or by-borrow?
- Thoughts on Rust bloat.
- Rust GUI ecosystem overview.
- Introduction to C2Rust.
- Async stack traces in Rust.
- Polsim - a case study for small-scale scientific computing in Rust.
- Managing memory in Rust: Entity-component systems.
- Actually using Crev, or, the problem of trusting software dependencies.
- Review of “Everything in Rust” of COSCUP 2019.
Crate of the Week
This week's crate is include_flate, a variant of
include_str with compile-time DEFLATE compression and runtime lazy decompression.
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.
No issues were proposed for CfP.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
221 pull requests were merged in the last week
async_awaitin Rust 1.39.0
- When declaring a declarative macro in an item it's only accessible inside it
- Improve diagnostics: break/continue in wrong context
- Audit uses of
apply_markin built-in macros + Remove default macro transparencies
- Ensure miri can do bit ops on pointer values
- Use more optimal
Ordimplementation for integers
- Fix bug in
- Avoid unnecessary reservations in
- cargo: Fix
warning:coloring inconsistency with rustc
- rustdoc: Support
impl Traitin inlined documentation
- rustup: Replace mem::uninitialized with MaybeUninit
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] hint::bench_black_box.
- [disposition: merge] Constify LinkedList new function.
- [disposition: merge] Test that Wrapping arithmetic ops are implemented for all int types.
No new RFCs were proposed this week.
- Sep 4. Johannesburg, ZA - Johannesburg Rust Meetup - informal discussions on topics related to the language.
- Sep 2. Auckland, NZ - Rust AKL - Introduction to Rust (session 1 of 3).
- Sep 11. Selangor, MY - Rust Malaysia Meetup September 2019.
- Sep 4. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn.
- Sep 5. Hamburg, DE - Rust Hack & Learn September 2019.
- Sep 4. Vancouver, BC, CA - Vancouver Rust meetup.
- Sep 4. Indianapolis, IN, US - Indy.rs.
- Sep 5. Seattle, WA, US - Seattle Rust Meetup - Physical Computing Workshop.
- Sep 10. Detroit, MI, US - Detroit Rust - September Detroit Rust at the Altimetrik Collider.
- Sep 12. Columbus, OH, US - Columbus Rust Society - Monthly Meeting.
- Sep 12. San Diego, CA, US - San Diego Rust September Meetup.
- Software Engineer - Rust at IOHK, Remote.
- Senior Software Engineer at ConsenSys R&D, Remote.
- Rust/Core Developer at Parity, Berlin, DE.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Just as Bruce Lee practiced Jeet Kune Do, the style of all styles, Rust is not bound to any one paradigm. Instead of trying to put it into an existing box, it's best to just feel it out. Rust isn't Haskell and it's not C. It has aspects in common with each and it has traits unique to itself.
Thanks to Louis Cloete for the suggestion!