Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. 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
- This Month in Rust GameDev #24 - July 2021
- This Month in Rust OSDev (July 2021)
- The Monthly Oxide #5
- Rust Module of the Week: std::fs (Part 2): Dirs, Dirs, Dirs
- Rustdoc will now add Jump to Definition links in source code pages!
- rust-analyzer Changelog #89
- rust-analyzer Financial Report #3
- Whats New in IntelliJ Rust for the 2021.2 Release Cycle
- SixtyFPS weekly report for 8th of August 2021
- How do Mina nodes communicate? Implementing bin_prot in Rust
- Trunk v0.10 – v0.13
- Bevy's First Birthday
- Progress report on rustc_codegen_cranelift (July 2021)
- [upcoming] Volt - A rust-based package manager that's up to 12x faster than Yarn
- On Collecting Result Types in Rust
- Rust in Production: Qovery
- How to write really slow Rust code - Part 2
- Slitter: a slab allocator that trusts but verifies (in Rust, for C)
- When Zero Cost Abstractions Aren't Zero Cost
- Rust cli example: Ferris fetches Go gopher postcards
- A Little Bit About PRNG Stuff
- Rust's Vector
- Interacting with data from FFI in Rust
- Loading a Rust library as a Lua module in Neovim
- Adding Rust-Stable libstd Support for Xous
- Rust BDD tests with Cucumber
- So you want to write a GUI framework
- Tauri with Standard Svelte or SvelteKit
- [JP] Rust で Web バックエンド開発をはじめる
- [video] Explaining Rust Analyzer 08: Mini Rowan, Green and Red Trees
- CVE-2021-29922 – rust standard library “net” – Improper Input Validation of octal literals in rust 1.52.0 std::net and below results in indeterminate SSRF & RFI vulnerabilities.
- Retrofitting Typestates into Rust
- SIMD usage in C++, C# and RUST
- RIP 16-bit crate IDs
- Your favorite Rust CLI utility?
- Go, Rust "net" library affected by critical IP address validation vulnerability
- Microsoft Rust intro says "Rust is known to leak memory"
Crate of the Week
This week's crate is ockam, a crate to implement transport-agnostic end-to-end encryption for the rest of us.
Thanks to staticassert for the suggestion.
Module of the 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!
- rust-lang/this-week-in-rust - Feature request: Dark theme for the website
- Stranger6667/jsonschema-rs - Implement the uuid format validator
- Stranger6667/jsonschema-rs - Implement the duration format validator
- Stranger6667/jsonschema-rs - Option to turn off processing of the format keyword
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
324 pull requests were merged in the last week
- fill out remaining parts of C-unwind ABI
- CTFE: throw unsupported error when partially overwriting a pointer
- proc macro spans: make columns 1 based
- improve diagnostics for wrongly ordered keywords in function declaration
config.tomloptions for enabling overflow checks in rustc and std
- use zeroed allocations in the mir interpreter instead eagerly touching the memory
- only compute
is_freezefor layout-constrained ADTs
- allow generic SIMD array element type
- properly find owner of closure in THIR unsafeck
impl Default, Copy, Clone for std::io::Sinkand
- change environment variable getters to error recoverably
- futures: implement
- clippy: don't emit
- clippy: add xor case to manual swap lint
Rust Compiler Performance Triage
Quiet week for performance, with no large changes. Regressions are limited to just a few benchmarks.
Triage done by @simulacrum. Revision range: 998cfe5..3354a44
2 Regressions, 0 Improvements, 0 Mixed; 1 of them in rollups
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation 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.
No RFCs are currently in the final comment period.
- [disposition: merge] Tracking issue for UnsafeCell::raw_get
- August 10, 2021, Dallas, TX, US - Second Tuesday - Dallas Rust
- August 18, 2021, Denver, CO, US - Level up our Rust skills by building an ECS by Brooks Patton - Rust Denver
- August 18, 2021, Vancouver, BC, CA - Solving LeetCode Problems with Rust - Vancouver Rust
- August 19, 2021, Manchester, UK - Rust Manchester - Speeding Up the Snake: Extending Python with Rust
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
We regrettably lack nominations,
so as I can't choose fresh quotations,
at last nor this time,
I'll offer this rhyme
to quell all discombombulations.
– a very sorry llogiq