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
No newsletters this week.
- [Inside] Core team membership changes
- Fighting Rust's Expressive Type System
- XMHell: Handling 38GB of UTF-16 XML with Rust
- LudumDare 47 - The Island
- Building a Recipe Manager - Part 3 - Parsing and more Druid
- Imitating specialization with OIBITs
- Flask Creator Armin Ronacher Interview
- clue solver now in Rust with more accurate simulations!
- Rust for a Gopher Lesson 1
- Rust for a Gopher Lesson 2
- Build a "todo list" backend with AssemblyLift 🚀🔒
- So you want to write object oriented Rust
- [series] A Web App in Rust
- Contributing to the IntelliJ Rust plugin: Implementing a refactoring
- 5x Faster Rust Docker Builds with cargo-chef
- Writing a simple AWS Lambda Custom Runtime in Rust
- Is Rust Web Yet? Yes, and it's freaking fast!
- [video] (Live Coding) Audio adventures in Rust: Local files playback & library interface
- Introducing Ungrammar
- A new group of maintainers has taken ownership of the deps.rs project and revived the deps.rs page, making the page and generated badges for READMEs usable again.
- Sandbox Rust Development with Rust Analyzer
- [audio] Security Headlines: Tokio special with Carl Lerche
Crate of the Week
This week's crate is rust-gpu from Embark Studios, a system to compile Rust code into Vulkan graphics shaders (with other shader types to follow).
Thanks to Vlad Frolov 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.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
400 pull requests were merged in the last week
if letsuggestion to be more liberal with suggestion and to not ICE
- reduce diagram mess in 'match arms have incompatible types' error
- tweak match arm semicolon removal suggestion to account for futures
- explain where the closure return type was inferred
collect_tokensimplementations to use a flattened buffer
- fix trait solving ICEs
- stop promoting union field accesses in 'const'
- ensure that statics are inhabited
- rustc_mir: track inlined callees in
- optimize const value interning for ZST types
- calculate visibilities once in resolve
- mir-opt: disable MatchBranchSimplification
- support custom allocators in
- hashbrown: parametrize RawTable, HashSet and HashMap over an allocator
- rustdoc: greatly improve display for small mobile devices screens
- clippy: add linter for a single element for loop
- clippy: add lint for
- clippy: add new lint for undropped
- clippy: lint unnecessary int-to-int and float-to-float casts
Rust Compiler Performance Triage
- 2020-10-27: 0 Regressions, 2 Improvements, 3 Mixed
See the full report for more.
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- Destructuring assignment
- RFC: Reading into uninitialized buffers
- RFC: Promote aarch64-unknown-linux-gnu to a Tier-1 Rust target
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] Allow making
RUSTC_BOOTSTRAPconditional on the crate name
- [disposition: merge] consider assignments of union field of ManuallyDrop type safe
- [disposition: merge] Define
fs::hard_linkto not follow symlinks.
- [disposition: merge] repr(transparent) on generic type skips "exactly one non-zero-sized field" check
- [disposition: merge] Rename/Deprecate LayoutErr in favor of LayoutError
- [disposition: merge] Tracking Issue for raw_ref_macros
- October 29. Berlin, DE - Rust Hack and Learn - Berline.rs
- November 4. Johannesburg, ZA - Monthly Joburg Rust Chat! - Johannesburg Rust Meetup
- November 4. Dublin, IE - Rust Dublin November - Rust Dublin
- November 4. Indianapolis, IN, US - Indy.rs - with Social Distancing - Indy.rs
- November 7 & 8, Global, RustFest Global
- November 10, Seattle, WA, US - Seattle Rust Meetup
- Software Engineer - Rust at IOHK (Remote - EU Time Zone)
- Senior Software Engineer - Data Access at Roblox (San Mateo, CA)
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
what many devs often miss initially when talking about Rust is that it isn't just about the design & details of the language (which is great), Rust's super power is that in combination with its fantastic community & ecosystem, and the amazing friendly people that create & form it
llogiq is pretty pleased with his own suggestion and unanimously voted for it.