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
- IntelliJ Rust Changelog #152
- What's new in IntelliJ Rust
- rust-analyzer Changelog #88
- GCC Rust Monthly Report #8 July 2021
- rustc_codegen_gcc: Progress Report #2
- Rust on Espressif chips
- ConnectorX: accelerate data loading from databases to dataframes
- This week in SixtyFPS (a Rust GUI toolkit)
- This week in Fluvio 1: the programmable streaming platform
- This week in Datafuse #1
- This Week In TensorBase 14
- 15k inserts/s with Rust and SQLite
- Deep Learning in Rust with GPU using onnxruntime-rs
- Rewriting my mobile game in Rust targeting WASM
- How to write really slow Rust code
- Rust: First Thoughts
- 5 Reasons Why You Should Start Using Rust for Personal Projects
- A Borrowck Battle to Remember
- [audio] Open Source Security Episode 282 - The security of Rust: who left all this awesome in here?
- Async Rust From The Ground Up: A Simple Web Server
- Implementing Base64 from scratch with Rust
- Improvements for #[doc] attributes in Rust
- How to deploy Rust on Heroku (with Docker)
- Rust #7: Command-Line interfaces
- Adding our own custom statement to Rust language
- Core dump for Rust
- Zero to Production in Rust #9: Naive Newsletter Delivery
- Interacting with data from FFI in Rust
- How I built End-to-End Encrypted Messaging in 51 lines of Rust, using the Ockam crate
- [PT] Resumo: Closure no Rust
- [ZH-CN] Tokio Internals - 源码解读和设计分析
- Rust is the most loved language, SIX YEARS IN A ROW. StackOverflow Survey 2021 is out!
- Rust Module of the Week!
- University of Illinois at Urbana-Champaign Graduate (Ralf Jung) receives ACM Doctoral Dissertation Award
- Implementing a BLT parser by hand in Rust (vs pest and combine): OpenTally dev log
- Rust on RISC-V BL602: Is It Sunny?
- Rust Design FAQ for C++ Programmers
- 🦀 Role-Based Access Control (RBAC) Guide in Rust
- betterCode Rust Conference announced (October 13)
Crate of the Week
This week's crate is sycamore, a crate for making web applications using WebAssembly..
Thanks to Luke Chu for the self-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!
Some of these tasks may also have mentors available, visit the task page for more information.
- vandenheuvel/relp - A faster implementation of Markowitz' pivot rule in LU factorization
- vandenheuvel/relp - Parsing the LP file format
- ockam-network/ockam - Make Rust Errors more idiomatic
- ockam-network/ockam - File Transfer over end-to-end encrypted secure channels
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
#[derive(Default)]on enums with a
#[default]attribute (RFC #3107)
- fix issue with autofix for ambiguous associated function from Rust 2021 prelude when struct is generic
- add flag to configure
- make const
panic!("..")work in Rust 2021
- suggest removing unnecessary
&mutas help message
;on parse error where applicable
- fix invalid suggestions for non-ASCII characters in byte constants
- tweak opaque type mismatch error
- bail on any found recursion when expanding opaque types
- polonius: compute subset errors everywhere
- MIR borrowck does not generate lifetime variables for
'staticlifetimes during opaque type resolution
- tweak borrowing suggestion in
- remove unsound
- BTree: lazily locate leaves in rangeless iterators
- partially stabilize
P: Unpinbound on
impl Future for Pin
- futures: use
- clippy: cover
- clippy: fix
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:
- Stabilize Cargo's weak-dep-features and namespaced-features.
- RFC: Introduce concat_bytes!() to join [u8] and byte str analogous to concat! for str
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] Stabilize
- [disposition: merge] impl Default, Copy, Clone for std::io::Sink and Empty
- [disposition: merge] impl Pattern for char array
- [disposition: merge] Weaken guarantee around advancing underlying iterators in zip
- August 5, 2021, Berlin, DE - Rust Hack and Learn - Berline.rs
- August 9, 2021, Seattle, WA, US - Monthly meetup - Seattle Rust Meetup
- August 10, 2021, Dublin, IE - Rust Dublin August Remote Meetup - Rust Dublin
- 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
Sadly, this week saw no quote of the week nominations.