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.
Check out this week's This Week in Rust Podcast
Updates from Rust Community
Official
Tooling
Observations/Thoughts
- An Inside Look at the Rust Programming Language
- Notes on A Smaller Rust
- Rust at FP Complete, 2020 Update
- Why the Rust Module System Might Be Hard to Understand
- Giving Rust Another Shot in 2020
Learn
- Rust Explained using Easy English
- (A Few) Advanced Variable Types in Rust
- Tutorial for Tokio and async Rust
- An introduction to Data-Oriented Design in Rust
- Learning Rust by Converting Python to Rust
- Writing a file system from scratch in Rust
- Memory safety in Rust - part 1
- Analyzing terabytes of GitHub Archive data with Rusoto and Serde
- Sizedness in Rust
- This July in my Database project written in Rust
- Cell, RefCell, and Interior Mutability in Rust
- CLI Autocompletion Algorithm in Rust
- Compressing Authority
- From C# to Rust: Code Basics
- Hello World with Rust and WebAssembly
- Interactive Chord Diagrams (Data Analysis with Rust)
- Some (Number) of Ways to Calculate a Fibonacci Number in Rust
- Writing A Simple Query System in Rust
- JSONB Data with Rust and Diesel
- Enum or Trait Object
- Parallel Stream Processing with Rayon
- Compile Time CUDA Device Checking in Rust
- Async/Await for AVR with Rust
- Making a Game in 48 hours with Rust and WebAssembly
- [PT] Aprendendo Rust: 04 - Comentários, documentação e tipos de variáveis primitivas
- [UK] Пошук в глибину на прикладі задачі Ханойської вежі
- [video] Utility AI (with Rust example) - How-To
- [video] Writing A Guide to Slice Data in Rust
- [video] Learning Rust GameDev Patterns
- [video] Run any web container for free on Google CloudRun (example in rust/warp)
- [video] Technologieplauscherl: Memory Ownership in C# and Rust
- [video] FLTK Rust Tutorial: Create a media player using the vlc crate
- [video] Rust at Speed - Building A Fast Concurrent Database
- [FR] [video] Développement Web Rust & Rocket
- [PT] [video] Hoje sai o data tables em RUST
Project Updates
- Ballista Distributed Compute: One Year Later
- Cross-compiling to Redox using Nix
- Public Announcement: You Can Now Debug Programs Using GDB on Redox OS
- Rocket Can Now Compile on Stable Rust
Miscellaneous
- ANSSI - Programming Rules to Develop Secure Applications with Rust
- Rust is now a top 20 language in all of the 5 most major language popularity listings
- Under the Hood of Linkerd's State of the Art Rust Proxy, Linkerd2-proxy
- Performance Comparison: Rust vs PyO3 vs Python
- Optimising Rust: Clockwise Triangles
Crate of the Week
This week's crate is polyfuse, a library for writing FUSE file systems using async code.
Thanks to Ivan Kozik 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
347 pull requests were merged in the last week
- AVR: correctly set the pointer address space when constructing pointers to functions
- detect turbofish missing surrounding angle brackets
- serialize span hygiene data
- proc_macro: add API for tracked access to environment variables
- correctly deal with unsorted generic parameters
- normalize bounds fully when checking defaulted types
- disallow non-static lifetimes in const generics
- forbid generic parameters in anon consts inside of type defaults
- add a system for creating diffs across multiple mir optimizations
- optimize away
BitAnd
andBitOr
when possible - make more primitive integer methods const
- impl Default for ranges
- remove needless unsafety from
BTreeMap::drain_filter
- hashbrown: refactor probing logic into an external iterator
- rustlings: add ability to run rustlings on repl.it
Rust Compiler Performance Triage
- 2020-07-28. 2 regressions, 1 improvement, none in rollups.
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- Inline assembly
- Add a new
#[instruction_set(...)]
attribute for supporting per-function instruction set changes
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
Tracking Issues & PRs
- [disposition: merge] Stabilize Vec::leak as a method
- [disposition: merge] add
slice::array_chunks
to std
New RFCs
Upcoming Events
Online
- July 27 - August 2. Rusty Days Virtual Rust Conference
- August 5. Johannesburg, ZA - Johannesburg Rust Meetup - Monthly Joburg Rust Chat
- August 5. Dublin, IE - Rust Dublin - August Remote Meetup
- August 5. Buffalo, NY, US - Buffalo Rust Meetup - Rust User Group
- August 5. Indianapolis, IN, US - Indy Rust - Indy.rs with Social Distancing
- August 6. Linz, AT - Rust Meetup Linz - Kick Off
- August 6. Berlin, DE - Berline.rs - Rust Hack and Learn
- August 11. Seattle, WA, US - Seattle Rust Meetup - Monthly meetup
North America
Asia Pacific
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 Backend (m/f/d) Rust at Snapview GmbH ( München, DE)
- Backend Engineer at Spruce (Remote)
- Backend Engineer - Rust at Kraken (Remote)
- Backend Engineer - Data Processing - Rust at Kraken (Remote)
- Senior Backend Engineer - Rust at Kraken (Remote)
- Front End Engineer at Solana
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Sadly, we had no quote suggestions this week.
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, and cdmistman.