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
- 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_bytes!
/include_str
with compile-time DEFLATE compression and runtime lazy decompression.
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.
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
- Stabilize
async_await
in 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_mark
in built-in macros + Remove default macro transparencies - Ensure miri can do bit ops on pointer values
- Use more optimal
Ord
implementation for integers - Fix bug in
iter::Chain::size_hint
- Implement
nth_back
forChunksExactMut
- Avoid unnecessary reservations in
std::io::Take::read_to_end
- cargo: Fix
error:
/warning:
coloring inconsistency with rustc - rustdoc: Support
impl Trait
in inlined documentation - rustup: Replace mem::uninitialized with MaybeUninit
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] hint::bench_black_box.
Tracking Issues & PRs
- [disposition: merge] Constify LinkedList new function.
- [disposition: merge] Test that Wrapping arithmetic ops are implemented for all int types.
New RFCs
No new RFCs were proposed this week.
Upcoming Events
Africa
Asia Pacific
- Sep 2. Auckland, NZ - Rust AKL - Introduction to Rust (session 1 of 3).
- Sep 11. Selangor, MY - Rust Malaysia Meetup September 2019.
Europe
- Sep 4. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn.
- Sep 5. Hamburg, DE - Rust Hack & Learn September 2019.
North America
- 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.
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 - 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!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.