Updates from Rust Community
Official
Announcing Rust 1.50.0
blog.rust-lang.org
Project/Tooling Updates
IntelliJ Rust changelog #141
intellij-rust.github.io
rust-analyzer changelog #64
rust-analyzer.github.io
A big release for relm
relm.antoyo.xyz
Observations/Thoughts
The XDG base directory specification and Rust
blog.liw.fi
Zero dependency images (of chaos) in Rust
state.smerity.com
Examples of declarative style in Rust
https://radekvit.medium.com/examples-of-declarative-style-in-rust-9fae89c0fea
Rust 2030 Christmas list: Better cfg
https://gist.github.com/PoignardAzur/8038f5ed7dc8d00e3e9472aca57fb35c
For the Love of Macros
matklad.github.io
The Tokio Upgrade from 0.2 to 1.x
fly.io
Cranelift, Part 2: Compiler Efficiency, CFGs, and a Branch Peephole Optimizer
cfallin.org
[audio] Building with Rust: Luca Palmieri on TrueLayer and Zero to Production
anchor.fm
[audio] Chats with James 008 - Yoshua Wuyts
jamesmunns.com
[video] Rust 1.50 Patch Review
www.youtube.com
Rust Walkthroughs
Actors with Tokio
ryhl.io
Building a microservice with Rust
medium.com/tenable-techblog
Rust is cool - Enums
thatgeoguy.ca
Rust CLI Game of Life tutorial - Part 2
dev.to
Calling Rust from a Cloudflare Worker
dev.to
Validating JSON input with Rust web services
dev.to
What would SQLite look like if written in Rust? -- Part 1
dev.to
Generalizing over Generics in Rust (Part 1) - AKA Higher Kinded Types in Rust
rustyyato.github.io
Procedural Macros: The Basics
blog.turbo.fish
Building an OpenStreetMap app in Rust, Part II
blogg.bekk.no
Look, Ma! No JS! - Compiling Rust to WebAssembly
www.novatec-gmbh.de
Simple ray tracer written in Rust from scratch
dranikpg/simple-rays
Short Circuit Sum in Rust
www.fpcomplete.com
Zero to Production in Rust, Part 7.1 - Skeleton And Principles For A Maintainable Test Suite
www.lpalmieri.com
CCSS Devclub Rust Workshop
www.notion.so
[video] Graphs in Rust: Let's Build a Maze!
youtu.be
Miscellaneous
Cleora - an ultra fast graph embedding tool written in Rust
Synerise/cleora
Cost-based query optimizations in multithreaded environments
vertexclique.com
Writing our own Cheat Engine: Exact Value scanning
lonami.dev
What would SQLite look like if written in Rust? — Part 1
medium.com/the-polyglot-programmer
Official
Announcing Rust 1.50.0
blog.rust-lang.org
Project/Tooling Updates
IntelliJ Rust changelog #141
intellij-rust.github.io
rust-analyzer changelog #64
rust-analyzer.github.io
A big release for relm
relm.antoyo.xyz
Observations/Thoughts
The XDG base directory specification and Rust
blog.liw.fi
Zero dependency images (of chaos) in Rust
state.smerity.com
Examples of declarative style in Rust
https://radekvit.medium.com/examples-of-declarative-style-in-rust-9fae89c0fea
Rust 2030 Christmas list: Better cfg
https://gist.github.com/PoignardAzur/8038f5ed7dc8d00e3e9472aca57fb35c
For the Love of Macros
matklad.github.io
The Tokio Upgrade from 0.2 to 1.x
fly.io
Cranelift, Part 2: Compiler Efficiency, CFGs, and a Branch Peephole Optimizer
cfallin.org
[audio] Building with Rust: Luca Palmieri on TrueLayer and Zero to Production
anchor.fm
[audio] Chats with James 008 - Yoshua Wuyts
jamesmunns.com
[video] Rust 1.50 Patch Review
www.youtube.com
Rust Walkthroughs
Actors with Tokio
ryhl.io
Building a microservice with Rust
medium.com/tenable-techblog
Rust is cool - Enums
thatgeoguy.ca
Rust CLI Game of Life tutorial - Part 2
dev.to
Calling Rust from a Cloudflare Worker
dev.to
Validating JSON input with Rust web services
dev.to
What would SQLite look like if written in Rust? -- Part 1
dev.to
Generalizing over Generics in Rust (Part 1) - AKA Higher Kinded Types in Rust
rustyyato.github.io
Procedural Macros: The Basics
blog.turbo.fish
Building an OpenStreetMap app in Rust, Part II
blogg.bekk.no
Look, Ma! No JS! - Compiling Rust to WebAssembly
www.novatec-gmbh.de
Simple ray tracer written in Rust from scratch
dranikpg/simple-rays
Short Circuit Sum in Rust
www.fpcomplete.com
Zero to Production in Rust, Part 7.1 - Skeleton And Principles For A Maintainable Test Suite
www.lpalmieri.com
CCSS Devclub Rust Workshop
www.notion.so
[video] Graphs in Rust: Let's Build a Maze!
youtu.be
Miscellaneous
Cleora - an ultra fast graph embedding tool written in Rust
Synerise/cleora
Cost-based query optimizations in multithreaded environments
vertexclique.com
Writing our own Cheat Engine: Exact Value scanning
lonami.dev
What would SQLite look like if written in Rust? — Part 1
medium.com/the-polyglot-programmer
Crate of the week: firestorm
Despite having no nominations, this week's crate is firestorm, a fast intrusive flamegraph profiling library.
Despite having no nominations, this week's crate is firestorm, a fast intrusive flamegraph profiling library.
This week in Rust #379 — 24 feb 2021
https://this-week-in-rust.org/blog/2021/02/24/this-week-in-rust-379/
https://this-week-in-rust.org/blog/2021/02/24/this-week-in-rust-379/
Updates from core
suggest to create a new const item if the fn in the array is a const fn
rust-lang/rust/pull/81503
fixing bad suggestion for _ in const type when a function
rust-lang/rust/pull/81914
simplify eat_digits
rust-lang/rust/pull/81427
precompute ancestors when checking privacy
rust-lang/rust/pull/81574
optimize counting digits in line numbers during error reporting
rust-lang/rust/pull/82248
only store a LocalDefId in some HIR nodes
rust-lang/rust/pull/81611
to digit simplification
rust-lang/rust/pull/82094
reduce size of InterpErrorInfo to 8 bytes
rust-lang/rust/pull/82116
pass large interpreter types by reference, not value
rust-lang/rust/pull/82124
improve assert_eq! and assert_ne!
rust-lang/rust/pull/79100
add Mutex::unlock
rust-lang/rust/pull/81873
stabilize Arguments::as_str
rust-lang/rust/pull/82120
futures: FuturesUnordered: do not poll the same future twice per iteration
rust-lang/futures-rs/pull/2333
remove unsafe impl Send for CompletedTest & TestResult
rust-lang/rust/pull/82302
test: print test name only once on timeout
rust-lang/rust/pull/82349
cargo: propagate lto=off harder
rust-lang/cargo/pull/9182
suggest to create a new const item if the fn in the array is a const fn
rust-lang/rust/pull/81503
fixing bad suggestion for _ in const type when a function
rust-lang/rust/pull/81914
simplify eat_digits
rust-lang/rust/pull/81427
precompute ancestors when checking privacy
rust-lang/rust/pull/81574
optimize counting digits in line numbers during error reporting
rust-lang/rust/pull/82248
only store a LocalDefId in some HIR nodes
rust-lang/rust/pull/81611
to digit simplification
rust-lang/rust/pull/82094
reduce size of InterpErrorInfo to 8 bytes
rust-lang/rust/pull/82116
pass large interpreter types by reference, not value
rust-lang/rust/pull/82124
improve assert_eq! and assert_ne!
rust-lang/rust/pull/79100
add Mutex::unlock
rust-lang/rust/pull/81873
stabilize Arguments::as_str
rust-lang/rust/pull/82120
futures: FuturesUnordered: do not poll the same future twice per iteration
rust-lang/futures-rs/pull/2333
remove unsafe impl Send for CompletedTest & TestResult
rust-lang/rust/pull/82302
test: print test name only once on timeout
rust-lang/rust/pull/82349
cargo: propagate lto=off harder
rust-lang/cargo/pull/9182
Updates from Rust Community
Project/Tooling Updates
MoonZoon - New Rust fullstack framework
moonzoon.rs
rust-analyzer Changelog #65
rust-analyzer.github.io
Knurling-rs changelog #17
ferrous-systems.com
Observations/Thoughts
Rust for web development: 2 years later
kerkour.com
Integrating Rust and C++ in Firefox
manishearth.github.io
Building a telnet chat server with Rust and Lunatic
dev.to
Against Packaging Rust Crates
fy.blackhats.net.au
Why building a front-end framework in Rust is hard
lik.ai
Oxidizing Kraken
blog.kraken.com
Maybe We Can Have Nice Things
noncombatant.org
Three Things I Miss About Rust
bennett.dev/
Storages: an alternative to allocators
www.reddit.com
Rust Walkthroughs
Rust ownership, the hard way
chrismorgan.info
Handling Unix Kill Signals in Rust
dev.to
Replacing FastAPI with Rust: Part 5 - Rocket 0.5
dev.to
Running ML models in a game (and in Wasm!)
dev.to
What would SQLite look like if written in Rust? - Part 2
dev.to
A primer on code generation in Cranelift
blog.benj.me
Testing a Hardware Abstraction Layer (HAL)
ferrous-systems.com
Cross Compiling Rust GTK Projects for Windows
nivethan.dev
Procedural Macros: A simple derive macro
blog.turbo.fish
Building an OpenStreetMap app in Rust, Part III
blogg.bekk.no
Generalizing over Generics in Rust (Part 1.5): Mechanisms
rustyyato.github.io
Macros in Rust: A tutorial with examples
blog.logrocket.com
[ES] Pipelines en Rust(II)
yorodm.is-a.dev
[video] Rust for Windows
youtu.be
[video] Crust of Rust: Subtyping and Variance
youtu.be
[video] Learning Rust: Web Server with Actix Web
youtu.be
[video] [series] Rust For Beginners - Watch me code the Rustlings Tutorial
youtube.com
[video] [series] Easy Rust - learn to program in Rust with simple English
youtube.com
Miscellaneous
Python cryptography, Rust, and Gentoo
lwn.net
Mitigating Memory Safety Issues in Open Source Software
security.googleblog.com
matklad @ NEAR
matklad.github.io
Application-wide panic handling
domwillia.ms
Benchmarking low-level I/O: C, C++, Rust, Golang, Java, Python
medium.com/star-gazers
[video] Ask the Expert: Rust at Microsoft
youtu.be
[video] AWS re:Invent 2020: Next-gen networking infrastructure with Rust and Tokio
youtu.be
[video] Interview Part 2/2 with Ashley Williams, Rust Foundation Interim Executive Director
youtu.be
Project/Tooling Updates
MoonZoon - New Rust fullstack framework
moonzoon.rs
rust-analyzer Changelog #65
rust-analyzer.github.io
Knurling-rs changelog #17
ferrous-systems.com
Observations/Thoughts
Rust for web development: 2 years later
kerkour.com
Integrating Rust and C++ in Firefox
manishearth.github.io
Building a telnet chat server with Rust and Lunatic
dev.to
Against Packaging Rust Crates
fy.blackhats.net.au
Why building a front-end framework in Rust is hard
lik.ai
Oxidizing Kraken
blog.kraken.com
Maybe We Can Have Nice Things
noncombatant.org
Three Things I Miss About Rust
bennett.dev/
Storages: an alternative to allocators
www.reddit.com
Rust Walkthroughs
Rust ownership, the hard way
chrismorgan.info
Handling Unix Kill Signals in Rust
dev.to
Replacing FastAPI with Rust: Part 5 - Rocket 0.5
dev.to
Running ML models in a game (and in Wasm!)
dev.to
What would SQLite look like if written in Rust? - Part 2
dev.to
A primer on code generation in Cranelift
blog.benj.me
Testing a Hardware Abstraction Layer (HAL)
ferrous-systems.com
Cross Compiling Rust GTK Projects for Windows
nivethan.dev
Procedural Macros: A simple derive macro
blog.turbo.fish
Building an OpenStreetMap app in Rust, Part III
blogg.bekk.no
Generalizing over Generics in Rust (Part 1.5): Mechanisms
rustyyato.github.io
Macros in Rust: A tutorial with examples
blog.logrocket.com
[ES] Pipelines en Rust(II)
yorodm.is-a.dev
[video] Rust for Windows
youtu.be
[video] Crust of Rust: Subtyping and Variance
youtu.be
[video] Learning Rust: Web Server with Actix Web
youtu.be
[video] [series] Rust For Beginners - Watch me code the Rustlings Tutorial
youtube.com
[video] [series] Easy Rust - learn to program in Rust with simple English
youtube.com
Miscellaneous
Python cryptography, Rust, and Gentoo
lwn.net
Mitigating Memory Safety Issues in Open Source Software
security.googleblog.com
matklad @ NEAR
matklad.github.io
Application-wide panic handling
domwillia.ms
Benchmarking low-level I/O: C, C++, Rust, Golang, Java, Python
medium.com/star-gazers
[video] Ask the Expert: Rust at Microsoft
youtu.be
[video] AWS re:Invent 2020: Next-gen networking infrastructure with Rust and Tokio
youtu.be
[video] Interview Part 2/2 with Ashley Williams, Rust Foundation Interim Executive Director
youtu.be
This week in Rust #380 — 03 mar 2021
https://this-week-in-rust.org/blog/2021/03/03/this-week-in-rust-380/
https://this-week-in-rust.org/blog/2021/03/03/this-week-in-rust-380/
Updates from core
implement -Z hir-stats for nested foreign items
rust-lang/rust/pull/82258
suggest character encoding is incorrect when encountering random null bytes
rust-lang/rust/pull/81856
suggest returning tail expressions that match return type
rust-lang/rust/pull/81769
improve suggestion for tuple struct pattern matching errors
rust-lang/rust/pull/81235
improve error message when found type is deref of expected
rust-lang/rust/pull/82364
AST: remove some unnecessary boxes
rust-lang/rust/pull/82321
apply lint restrictions from renamed lints
rust-lang/rust/pull/82620
remove storage markers if they won't be used during code generation
rust-lang/rust/pull/78360
remove many RefCells from DocContext
rust-lang/rust/pull/82305
prevent computing Item attributes twice
rust-lang/rust/pull/82265
new mir-opt pass to simplify gotos with const values
rust-lang/rust/pull/80475
add an impl of Error on Arc<impl Error>
rust-lang/rust/pull/80553
make ptr::write const
rust-lang/rust/pull/81167
make char and u8 methods const
rust-lang/rust/pull/82078
slight perf improvement on char::to_ascii_lowercase
rust-lang/rust/pull/81837
stabilize str_split_once
rust-lang/rust/pull/81940
specialize slice::fill with Copy type and u8/i8/bool
rust-lang/rust/pull/81874
futures: future::SelectAll::into_inner
rust-lang/futures-rs/pull/2363
futures: futures_util::stream::SelectAll::push should use &self
rust-lang/futures-rs/pull/2293
cargo: run rustdoc doctests relative to the workspace
rust-lang/cargo/pull/9105
cargo: throw error if CARGO_TARGET_DIR is an empty string
rust-lang/cargo/pull/8939
cargo: add support for [env] section in .cargo/config.toml
rust-lang/cargo/pull/9175
cargo: make it more clear which module is being tested when running cargo test
rust-lang/cargo/pull/9195
implement -Z hir-stats for nested foreign items
rust-lang/rust/pull/82258
suggest character encoding is incorrect when encountering random null bytes
rust-lang/rust/pull/81856
suggest returning tail expressions that match return type
rust-lang/rust/pull/81769
improve suggestion for tuple struct pattern matching errors
rust-lang/rust/pull/81235
improve error message when found type is deref of expected
rust-lang/rust/pull/82364
AST: remove some unnecessary boxes
rust-lang/rust/pull/82321
apply lint restrictions from renamed lints
rust-lang/rust/pull/82620
remove storage markers if they won't be used during code generation
rust-lang/rust/pull/78360
remove many RefCells from DocContext
rust-lang/rust/pull/82305
prevent computing Item attributes twice
rust-lang/rust/pull/82265
new mir-opt pass to simplify gotos with const values
rust-lang/rust/pull/80475
add an impl of Error on Arc<impl Error>
rust-lang/rust/pull/80553
make ptr::write const
rust-lang/rust/pull/81167
make char and u8 methods const
rust-lang/rust/pull/82078
slight perf improvement on char::to_ascii_lowercase
rust-lang/rust/pull/81837
stabilize str_split_once
rust-lang/rust/pull/81940
specialize slice::fill with Copy type and u8/i8/bool
rust-lang/rust/pull/81874
futures: future::SelectAll::into_inner
rust-lang/futures-rs/pull/2363
futures: futures_util::stream::SelectAll::push should use &self
rust-lang/futures-rs/pull/2293
cargo: run rustdoc doctests relative to the workspace
rust-lang/cargo/pull/9105
cargo: throw error if CARGO_TARGET_DIR is an empty string
rust-lang/cargo/pull/8939
cargo: add support for [env] section in .cargo/config.toml
rust-lang/cargo/pull/9175
cargo: make it more clear which module is being tested when running cargo test
rust-lang/cargo/pull/9195
Updates from Rust Community
Official
Const generics MVP hits beta!
blog.rust-lang.org
[Inside] Lang team March update
blog.rust-lang.org
Project/Tooling Updates
IntelliJ Rust Changelog #142
intellij-rust.github.io
rust-analyzer changelog #66
rust-analyzer.github.io
Knurling-rs changelog #18
ferrous-systems.com
Last Month in Flott - March 2021
flott-motion.org
RampMaker 0.2 - Stepper Motor Acceleration Ramp Generator
flott-motion.org
Observations/Thoughts
Why we built the core auth library in Rust (interview with CTO of Oso)
console.dev
Data Manipulation: Pandas vs Rust
able.bio
Achieving warp speed with Rust
https://gist.github.com/little-dude/674de61df7f48547bdcc5bbe2860563d
Evolution of Kube
clux.github.io
Temporal RDO update optimization
dev.to
Introducing The Calypso Chronicles
dev.to
Rust: Beware of Escape Sequences\n
https://d3lm.medium.com/rust-beware-of-escape-sequences-85ec90e9e243#ee0e-58229fc84d02
Introducing Rustybot (part 3 of n)
objectdisoriented.evokewonder.com
Delete Cargo Integration Tests
matklad.github.io
Rust Walkthroughs
C++ to Rust - or how to render your mindset
jduchniewicz.com
Generic impl blocks are kinda like macros...
dev.to
Make a Back-End Number Guessing Game with Rust
dev.to
Captures in closures and async blocks
www.fpcomplete.com
Testing a driver crate
ferrous-systems.com
Using Rust for AWS Lambdas
beanseverywhere.xyz
Always-On Benchmarking in Rust
medium.com/edge-node-engineering
Building an OpenStreetMap app in Rust, Part IV
blogg.bekk.no
Solving Advent of Code 2020 in under a second
timvisee.com
The Case for the Typestate Pattern - Introducing Algebraic Data Types
www.novatec-gmbh.de
[DE] Weniger Frust mit Rust
www.golem.de
[video] Learning Rust: Procedural Macros
youtu.be
[video] Rust proxy server with Warp and Hyper
youtu.be
Miscellaneous
Ferrocene Part 3: The Road to Rust in mission- and safety-critical
ferrous-systems.com
How our AWS Rust team will contribute to Rust's future successes
aws.amazon.com
Librnoscript, Rust, and non-mainstream architectures
people.gnome.org
Always-On Benchmarking In Rust
medium.com/edge-node-engineering
[DE] Weniger Frust mit Rust
www.golem.de
Official
Const generics MVP hits beta!
blog.rust-lang.org
[Inside] Lang team March update
blog.rust-lang.org
Project/Tooling Updates
IntelliJ Rust Changelog #142
intellij-rust.github.io
rust-analyzer changelog #66
rust-analyzer.github.io
Knurling-rs changelog #18
ferrous-systems.com
Last Month in Flott - March 2021
flott-motion.org
RampMaker 0.2 - Stepper Motor Acceleration Ramp Generator
flott-motion.org
Observations/Thoughts
Why we built the core auth library in Rust (interview with CTO of Oso)
console.dev
Data Manipulation: Pandas vs Rust
able.bio
Achieving warp speed with Rust
https://gist.github.com/little-dude/674de61df7f48547bdcc5bbe2860563d
Evolution of Kube
clux.github.io
Temporal RDO update optimization
dev.to
Introducing The Calypso Chronicles
dev.to
Rust: Beware of Escape Sequences\n
https://d3lm.medium.com/rust-beware-of-escape-sequences-85ec90e9e243#ee0e-58229fc84d02
Introducing Rustybot (part 3 of n)
objectdisoriented.evokewonder.com
Delete Cargo Integration Tests
matklad.github.io
Rust Walkthroughs
C++ to Rust - or how to render your mindset
jduchniewicz.com
Generic impl blocks are kinda like macros...
dev.to
Make a Back-End Number Guessing Game with Rust
dev.to
Captures in closures and async blocks
www.fpcomplete.com
Testing a driver crate
ferrous-systems.com
Using Rust for AWS Lambdas
beanseverywhere.xyz
Always-On Benchmarking in Rust
medium.com/edge-node-engineering
Building an OpenStreetMap app in Rust, Part IV
blogg.bekk.no
Solving Advent of Code 2020 in under a second
timvisee.com
The Case for the Typestate Pattern - Introducing Algebraic Data Types
www.novatec-gmbh.de
[DE] Weniger Frust mit Rust
www.golem.de
[video] Learning Rust: Procedural Macros
youtu.be
[video] Rust proxy server with Warp and Hyper
youtu.be
Miscellaneous
Ferrocene Part 3: The Road to Rust in mission- and safety-critical
ferrous-systems.com
How our AWS Rust team will contribute to Rust's future successes
aws.amazon.com
Librnoscript, Rust, and non-mainstream architectures
people.gnome.org
Always-On Benchmarking In Rust
medium.com/edge-node-engineering
[DE] Weniger Frust mit Rust
www.golem.de
Crate of the week: camino
This week's crate is camino, a library with UTF-8 coded paths mimicking std::os::Path's API.
This week's crate is camino, a library with UTF-8 coded paths mimicking std::os::Path's API.
This week in Rust #381 — 10 mar 2021
https://this-week-in-rust.org/blog/2021/03/10/this-week-in-rust-381/
https://this-week-in-rust.org/blog/2021/03/10/this-week-in-rust-381/
Updates from core
upgrade to LLVM 12
rust-lang/rust/pull/81451
backport some LLVM compile-time improvements
rust-lang/rust/pull/82783
add natvis for Result, NonNull, CString, CStr, and Cow
rust-lang/rust/pull/82557
change error about unknown attributes to a warning
rust-lang/rust/pull/82702
shrink the size of Rvalue by 16 bytes
rust-lang/rust/pull/82727
move check only relevant in error case out of critical path
rust-lang/rust/pull/82738
add assert_matches! macro
rust-lang/rust/pull/82770
generalize Write impl for Vec<u8> to Vec<u8, A>
rust-lang/rust/pull/82862
avoid unnecessary Vec construction in BufReader
rust-lang/rust/pull/82728
improve slice.binary_search_by()'s best-case performance to O(1)
rust-lang/rust/pull/74024
add {BTreeMap, HashMap}::try_insert
rust-lang/rust/pull/82764
hashbrown: add try_insert
rust-lang/hashbrown/pull/247
cargo: fix filter_platform to run on targets other than x86
rust-lang/cargo/pull/9246
make rustdoc lints a tool lint instead of built-in
rust-lang/rust/pull/80527
upgrade to LLVM 12
rust-lang/rust/pull/81451
backport some LLVM compile-time improvements
rust-lang/rust/pull/82783
add natvis for Result, NonNull, CString, CStr, and Cow
rust-lang/rust/pull/82557
change error about unknown attributes to a warning
rust-lang/rust/pull/82702
shrink the size of Rvalue by 16 bytes
rust-lang/rust/pull/82727
move check only relevant in error case out of critical path
rust-lang/rust/pull/82738
add assert_matches! macro
rust-lang/rust/pull/82770
generalize Write impl for Vec<u8> to Vec<u8, A>
rust-lang/rust/pull/82862
avoid unnecessary Vec construction in BufReader
rust-lang/rust/pull/82728
improve slice.binary_search_by()'s best-case performance to O(1)
rust-lang/rust/pull/74024
add {BTreeMap, HashMap}::try_insert
rust-lang/rust/pull/82764
hashbrown: add try_insert
rust-lang/hashbrown/pull/247
cargo: fix filter_platform to run on targets other than x86
rust-lang/cargo/pull/9246
make rustdoc lints a tool lint instead of built-in
rust-lang/rust/pull/80527
Updates from Rust Community
Official
Planning the Rust 2021 Edition
blog.rust-lang.org
Newsletters
This Month in Rust GameDev #19 - February 2021
rust-gamedev.github.io
This Month in Rust OSDev (February 2021)
rust-osdev.com
RiB Newsletter #21 - More Rust and blockchains
www.reddit.com
Project/Tooling Updates
rust-analyzer Changelog #67
rust-analyzer.github.io
rust-gpu v0.3
EmbarkStudios/rust-gpu/releases/tag/v0.3.0
cargo-generate 0.6.0
cargo-generate/cargo-generate/releases/tag/v0.6.0
Automatically generate APIs for datasets using Rust, Arrow and Datafusion
roapi.github.io
Observations/Thoughts
Serverless Rust Testing
www.peakscale.com
Rust's Type System is Turing-Complete
sdleffler.github.io
Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun
kevinlynagh.com
Calling a private Rust function from outside of its module
tim.mcnamara.nz
Safe, Flexible Aliasing with Deferred Borrows
cfallin.org
Evaluating Memory Models for Graph-Like Data Structures in the Rust Programming Language: Performance and Usability
www.diva-portal.org
Rusts Universes
aloso.github.io
How I significantly improved Giganotes app performance using Rust
www.reddit.com
Rust Walkthroughs
OS in Rust: Incorporate VGA buffer: Part-6
blog.knoldus.com
Writing a 3D Shooter using rg3d - #1 - Character Controller
rg3d.rs
Writing a 3D Shooter using rg3d - #2 - Weapons
rg3d.rs
Writing Pong in Rust for my OS Written in Rust
blog.stephenmarz.com
Replacing FastAPI with Rust: Part 6 - AWS Lambda
dev.to
Creating an Iterator in Rust
aloso.github.io
Building an OpenStreetMap app in Rust, Part V
blogg.bekk.no
[video] Learning Rust: Structs and Traits
youtu.be
[video] Answers to StackOverflow's top Rust programming questions explained
youtu.be
[video] (Live Coding) Learning Timely Dataflow
youtu.be
[FA] [video] Rust in Farsi ツ
www.youtube.com
Miscellaneous
Debian running on Rust coreutils
sylvestre.ledru.info
A friend and I made pipes-rs, a Rust clone of pipes.sh
www.reddit.com
Half of curl's vulnerabilities are C mistakes
daniel.haxx.se
[video] USENIX Enigma 2021 - Quantifying Memory Unsafety and Reactions to It
youtu.be
Official
Planning the Rust 2021 Edition
blog.rust-lang.org
Newsletters
This Month in Rust GameDev #19 - February 2021
rust-gamedev.github.io
This Month in Rust OSDev (February 2021)
rust-osdev.com
RiB Newsletter #21 - More Rust and blockchains
www.reddit.com
Project/Tooling Updates
rust-analyzer Changelog #67
rust-analyzer.github.io
rust-gpu v0.3
EmbarkStudios/rust-gpu/releases/tag/v0.3.0
cargo-generate 0.6.0
cargo-generate/cargo-generate/releases/tag/v0.6.0
Automatically generate APIs for datasets using Rust, Arrow and Datafusion
roapi.github.io
Observations/Thoughts
Serverless Rust Testing
www.peakscale.com
Rust's Type System is Turing-Complete
sdleffler.github.io
Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun
kevinlynagh.com
Calling a private Rust function from outside of its module
tim.mcnamara.nz
Safe, Flexible Aliasing with Deferred Borrows
cfallin.org
Evaluating Memory Models for Graph-Like Data Structures in the Rust Programming Language: Performance and Usability
www.diva-portal.org
Rusts Universes
aloso.github.io
How I significantly improved Giganotes app performance using Rust
www.reddit.com
Rust Walkthroughs
OS in Rust: Incorporate VGA buffer: Part-6
blog.knoldus.com
Writing a 3D Shooter using rg3d - #1 - Character Controller
rg3d.rs
Writing a 3D Shooter using rg3d - #2 - Weapons
rg3d.rs
Writing Pong in Rust for my OS Written in Rust
blog.stephenmarz.com
Replacing FastAPI with Rust: Part 6 - AWS Lambda
dev.to
Creating an Iterator in Rust
aloso.github.io
Building an OpenStreetMap app in Rust, Part V
blogg.bekk.no
[video] Learning Rust: Structs and Traits
youtu.be
[video] Answers to StackOverflow's top Rust programming questions explained
youtu.be
[video] (Live Coding) Learning Timely Dataflow
youtu.be
[FA] [video] Rust in Farsi ツ
www.youtube.com
Miscellaneous
Debian running on Rust coreutils
sylvestre.ledru.info
A friend and I made pipes-rs, a Rust clone of pipes.sh
www.reddit.com
Half of curl's vulnerabilities are C mistakes
daniel.haxx.se
[video] USENIX Enigma 2021 - Quantifying Memory Unsafety and Reactions to It
youtu.be
Crate of the week: Sorceress
This week's crate is Sorceress, a Rust environment for sound synthesis and algorithmic composition.
This week's crate is Sorceress, a Rust environment for sound synthesis and algorithmic composition.
This week in Rust #382 — 17 mar 2021
https://this-week-in-rust.org/blog/2021/03/17/this-week-in-rust-382/
https://this-week-in-rust.org/blog/2021/03/17/this-week-in-rust-382/
Updates from core
expand: do not allocate Lrc for allow_internal_unstable list unless necessary
rust-lang/rust/pull/82422
account for if (let pat = expr) {}
rust-lang/rust/pull/82854
introduce proc_macro_back_compat lint, and emit for time-macros-impl
rust-lang/rust/pull/83127
eagerly construct bodies of THIR
rust-lang/rust/pull/82495
store HIR attributes in a side table
rust-lang/rust/pull/79519
add StatementKind::CopyNonOverlapping
rust-lang/rust/pull/77511
tweaks to stable hashing
rust-lang/rust/pull/83064
rustc_query_system: simplify QueryCache::iter
rust-lang/rust/pull/83069
mir-opt-level 4 is the new 3
rust-lang/miri/pull/1737
miri: ensure we catch incorrectly unwinding calls
rust-lang/miri/pull/1744
miri: check callee ABI when Miri calls closures
rust-lang/miri/pull/1743
don't implement mem::replace with mem::swap
rust-lang/rust/pull/83022
fix io::copy specialization using copy_file_range when writer was opened with O_APPEND
rust-lang/rust/pull/82417
added #[repr(transparent)] to core::cmp::Reverse
rust-lang/rust/pull/81879
add Option::get_or_default
rust-lang/rust/pull/82849
implement Extend and FromIterator for OsString
rust-lang/rust/pull/82121
improve sift_down performance in BinaryHeap
rust-lang/rust/pull/81127
fix leak in Vec::extend_from_within
rust-lang/rust/pull/82760
regex: substantially reduce regex stack size
rust-lang/regex/pull/752
clippy: implement new lint: if_then_some_else_none
rust-lang/rust-clippy/pull/6859
expand: do not allocate Lrc for allow_internal_unstable list unless necessary
rust-lang/rust/pull/82422
account for if (let pat = expr) {}
rust-lang/rust/pull/82854
introduce proc_macro_back_compat lint, and emit for time-macros-impl
rust-lang/rust/pull/83127
eagerly construct bodies of THIR
rust-lang/rust/pull/82495
store HIR attributes in a side table
rust-lang/rust/pull/79519
add StatementKind::CopyNonOverlapping
rust-lang/rust/pull/77511
tweaks to stable hashing
rust-lang/rust/pull/83064
rustc_query_system: simplify QueryCache::iter
rust-lang/rust/pull/83069
mir-opt-level 4 is the new 3
rust-lang/miri/pull/1737
miri: ensure we catch incorrectly unwinding calls
rust-lang/miri/pull/1744
miri: check callee ABI when Miri calls closures
rust-lang/miri/pull/1743
don't implement mem::replace with mem::swap
rust-lang/rust/pull/83022
fix io::copy specialization using copy_file_range when writer was opened with O_APPEND
rust-lang/rust/pull/82417
added #[repr(transparent)] to core::cmp::Reverse
rust-lang/rust/pull/81879
add Option::get_or_default
rust-lang/rust/pull/82849
implement Extend and FromIterator for OsString
rust-lang/rust/pull/82121
improve sift_down performance in BinaryHeap
rust-lang/rust/pull/81127
fix leak in Vec::extend_from_within
rust-lang/rust/pull/82760
regex: substantially reduce regex stack size
rust-lang/regex/pull/752
clippy: implement new lint: if_then_some_else_none
rust-lang/rust-clippy/pull/6859
Updates from Rust Community
Project/Tooling Updates
MiniWASM - A minimalist Rust WebAssembly project template
thedjinn/MiniWASM
Stepper 0.5 (formerly Step/Dir) - Universal Stepper Motor Interface
flott-motion.org
Rust Analyzer Changelog #68
rust-analyzer.github.io
IntelliJ Rust Changelog #143
intellij-rust.github.io
Observations/Thoughts
Why the Starship shell prompt is built in Rust (interview with project creator)
console.dev
Rust vs. Go: Why They’re Better Together
thenewstack.io
Cranelift, Part 3: Correctness in Register Allocation
cfallin.org
Making Great Docs with Rustdoc
www.tangramvision.com
Writing a Postgres SQL Pretty Printer in Rust: Part 1
blog.urth.org
Data Manipulation: Polars vs Rust
able.bio
Rust Walkthroughs
OS in Rust: Incorporate VGA buffer: Part-7
blog.knoldus.com
Rust Koans
crazymykl/rust-koans
How to send emails with Rust
kerkour.com
Writing Pong in Rust for my OS Written in Rust
blog.stephenmarz.com
Arenas in Rust
manishearth.github.io
Zero Downtime Deployments
www.lpalmieri.com
Deploy A Rust Website on Heroku
dev.to
One enum to rule them all
www.jakobmeier.ch
Writing a 3D Shooter using rg3d - #3 - Bots, AI
rg3d.rs
Developing High Performance Apache Cassandra™ Applications in Rust (Part 1)
www.datastax.com
Strings in Rust
bes.github.io
Rust - Reqwest examples
dev.to
libp2p tutorial: Build a peer-to-peer app in Rust
blog.logrocket.com
[video] Rust for Beginners - Watch me code the Rustlings Tutorial
www.youtube.com
[video] Crust of Rust: The Drop Check (live edition)
www.youtube.com
Miscellaneous
rkyv is faster than {bincode, capnp, cbor, flatbuffers, postcard, prost, serde_json}
davidkoloski.me
100ms delays with Rust on Lambda
www.peakscale.com
Speed of Rust vs C
kornel.ski
Rust Playground At Your Fingertips
www.greyblake.com
totally_safe_transmute, line-by-line
kornel.ski
Rust Graphics Crates
ocboogie/rust-graphics-crates
C++ to Rust - or how to render your mindset
jduchniewicz.com
Paid Online Research: Rust Programmers’ Experience and Challenges
www.personal.psu.edu
Project/Tooling Updates
MiniWASM - A minimalist Rust WebAssembly project template
thedjinn/MiniWASM
Stepper 0.5 (formerly Step/Dir) - Universal Stepper Motor Interface
flott-motion.org
Rust Analyzer Changelog #68
rust-analyzer.github.io
IntelliJ Rust Changelog #143
intellij-rust.github.io
Observations/Thoughts
Why the Starship shell prompt is built in Rust (interview with project creator)
console.dev
Rust vs. Go: Why They’re Better Together
thenewstack.io
Cranelift, Part 3: Correctness in Register Allocation
cfallin.org
Making Great Docs with Rustdoc
www.tangramvision.com
Writing a Postgres SQL Pretty Printer in Rust: Part 1
blog.urth.org
Data Manipulation: Polars vs Rust
able.bio
Rust Walkthroughs
OS in Rust: Incorporate VGA buffer: Part-7
blog.knoldus.com
Rust Koans
crazymykl/rust-koans
How to send emails with Rust
kerkour.com
Writing Pong in Rust for my OS Written in Rust
blog.stephenmarz.com
Arenas in Rust
manishearth.github.io
Zero Downtime Deployments
www.lpalmieri.com
Deploy A Rust Website on Heroku
dev.to
One enum to rule them all
www.jakobmeier.ch
Writing a 3D Shooter using rg3d - #3 - Bots, AI
rg3d.rs
Developing High Performance Apache Cassandra™ Applications in Rust (Part 1)
www.datastax.com
Strings in Rust
bes.github.io
Rust - Reqwest examples
dev.to
libp2p tutorial: Build a peer-to-peer app in Rust
blog.logrocket.com
[video] Rust for Beginners - Watch me code the Rustlings Tutorial
www.youtube.com
[video] Crust of Rust: The Drop Check (live edition)
www.youtube.com
Miscellaneous
rkyv is faster than {bincode, capnp, cbor, flatbuffers, postcard, prost, serde_json}
davidkoloski.me
100ms delays with Rust on Lambda
www.peakscale.com
Speed of Rust vs C
kornel.ski
Rust Playground At Your Fingertips
www.greyblake.com
totally_safe_transmute, line-by-line
kornel.ski
Rust Graphics Crates
ocboogie/rust-graphics-crates
C++ to Rust - or how to render your mindset
jduchniewicz.com
Paid Online Research: Rust Programmers’ Experience and Challenges
www.personal.psu.edu
This week in Rust #383 — 24 mar 2021
https://this-week-in-rust.org/blog/2021/03/24/this-week-in-rust-383/
https://this-week-in-rust.org/blog/2021/03/24/this-week-in-rust-383/
Updates from core
enable mutable noalias for LLVM >= 12 (Fingers crossed)
rust-lang/rust/pull/82834
allow registering tool lints with register_tool
rust-lang/rust/pull/83216
more precise spans for HIR paths
rust-lang/rust/pull/83092
const_evaluatable_checked: stop eagerly erroring in is_const_evaluatable
rust-lang/rust/pull/82707
miri: improve error message of calling unsupported non-"C"/"system"-ABI foreign function
rust-lang/miri/pull/1745
make source-based code coverage compatible with MIR inlining
rust-lang/rust/pull/83080
stabilize or_patterns (RFC 2535, 2530, 2175)
rust-lang/rust/pull/79278
stabilize feature(osstring_ascii)
rust-lang/rust/pull/80193
stabilize slice::IterMut::as_slice
rust-lang/rust/pull/82771
stabilize assoc_char_funcs and assoc_char_consts
rust-lang/rust/pull/82919
implement String::remove_matches
rust-lang/rust/pull/71780
add a check for ASCII characters in to_upper and to_lower
rust-lang/rust/pull/81358
fix invalid slice access in String::retain
rust-lang/rust/pull/82554
constify copy related functions
rust-lang/rust/pull/83091
add as_str method for split whitespace str iterators
rust-lang/rust/pull/82570
Vec::dedup_by optimization
rust-lang/rust/pull/82191
fix overflowing length in Vec<ZST> to VecDeque
rust-lang/rust/pull/83244
implement TrustedLen and TrustedRandomAccess for Range<integer>, array::IntoIter, VecDequeue's iterators
rust-lang/rust/pull/81607
cargo: allow cargo update to operate with the --offline flag
rust-lang/cargo/pull/9279
cargo: refactor feature handling, and improve error messages
rust-lang/cargo/pull/9290
rustdoc: reduce GC work during search
rust-lang/rust/pull/83077
rustfmt: fix issue 'double spaces between struct field prefix and identity when using long attributes
rust-lang/rustfmt/pull/4747
enable mutable noalias for LLVM >= 12 (Fingers crossed)
rust-lang/rust/pull/82834
allow registering tool lints with register_tool
rust-lang/rust/pull/83216
more precise spans for HIR paths
rust-lang/rust/pull/83092
const_evaluatable_checked: stop eagerly erroring in is_const_evaluatable
rust-lang/rust/pull/82707
miri: improve error message of calling unsupported non-"C"/"system"-ABI foreign function
rust-lang/miri/pull/1745
make source-based code coverage compatible with MIR inlining
rust-lang/rust/pull/83080
stabilize or_patterns (RFC 2535, 2530, 2175)
rust-lang/rust/pull/79278
stabilize feature(osstring_ascii)
rust-lang/rust/pull/80193
stabilize slice::IterMut::as_slice
rust-lang/rust/pull/82771
stabilize assoc_char_funcs and assoc_char_consts
rust-lang/rust/pull/82919
implement String::remove_matches
rust-lang/rust/pull/71780
add a check for ASCII characters in to_upper and to_lower
rust-lang/rust/pull/81358
fix invalid slice access in String::retain
rust-lang/rust/pull/82554
constify copy related functions
rust-lang/rust/pull/83091
add as_str method for split whitespace str iterators
rust-lang/rust/pull/82570
Vec::dedup_by optimization
rust-lang/rust/pull/82191
fix overflowing length in Vec<ZST> to VecDeque
rust-lang/rust/pull/83244
implement TrustedLen and TrustedRandomAccess for Range<integer>, array::IntoIter, VecDequeue's iterators
rust-lang/rust/pull/81607
cargo: allow cargo update to operate with the --offline flag
rust-lang/cargo/pull/9279
cargo: refactor feature handling, and improve error messages
rust-lang/cargo/pull/9290
rustdoc: reduce GC work during search
rust-lang/rust/pull/83077
rustfmt: fix issue 'double spaces between struct field prefix and identity when using long attributes
rust-lang/rustfmt/pull/4747
Updates from Rust Community
Official
Building a shared vision for Async Rust
blog.rust-lang.org
[Inside] 1.51.0 pre-release testing
blog.rust-lang.org
[Foundation] Introducing Bobby Holley
foundation.rust-lang.org
[Foundation] Introducing Tyler Mandry
foundation.rust-lang.org
Project/Tooling Updates
rust-analyzer Changelog #69
rust-analyzer.github.io
Observations/Thoughts
The biggest threat to Rust's sustainability
kerkour.com
Safe Systems Programming in Rust
cacm.acm.org
The GPIO war: macro bunkers for typestate explosions
www.ecorax.net
A look back at asynchronous Rust
https://tomaka.medium.com/a-look-back-at-asynchronous-rust-d54d63934a1c
Rust as an App Language
www.ikiapps.com
How often does Rust change?
steveklabnik.com
Serving a single file over HTTP with Rust and Go
vadosware.io
The Case for the Typestate Pattern - The Typestate Pattern itself
www.novatec-gmbh.de
[ZH] Rust in Embedded World
zhuanlan.zhihu.com
[video] Cheaply writing a fast interpreter - Neil Mitchell
youtu.be
Rust Walkthroughs
Introduction to Apache Arrow with Rust
bit.ly
How to execute shellcodes from memory in Rust
kerkour.com
Beginner's Guide to Rust Pattern Matching
https://doma-dev.medium.com/pattern-matching-in-rust-and-other-imperative-languages-7cf1c6abf4a1
Writing a PostgreSQL Pretty Printer in Rust: Part 1.5
blog.urth.org
Calling .NET APIs from Rust
ericsink.com
The magical applications of Zero-Sized Types in Rust
www.hardmo.de
Rust and Rocket - Zero to Deploy
dev.to
Learning to Fly: Let's simulate evolution in Rust! (pt 3)
pwy.io
Building an OpenStreetMap app in Rust, Part VI
blogg.bekk.no
Tutorial: Writing a tiny Entity Component System in Rust
ianjk.com
Implementing RAII guards in Rust
aloso.github.io
[JP] [TECH] Actix web で HttpOnly な Cookie を設定する 🍪
dev.to
[video] The four-part "Overview of the Rust Programming Language" for beginners is now complete
www.youtube.com
Miscellaneous
Streaming using Bastion & Kafka - near consumer native correlation
vertexclique.com
Performance comparison: counting words in Python, Go, C++, C, AWK, Forth, and Rust
benhoyt.com
Linus Torvalds on where Rust will fit into Linux
www.zdnet.com
Rust: integrating LLVM source-base code coverage with GitLab
www.collabora.com
Official
Building a shared vision for Async Rust
blog.rust-lang.org
[Inside] 1.51.0 pre-release testing
blog.rust-lang.org
[Foundation] Introducing Bobby Holley
foundation.rust-lang.org
[Foundation] Introducing Tyler Mandry
foundation.rust-lang.org
Project/Tooling Updates
rust-analyzer Changelog #69
rust-analyzer.github.io
Observations/Thoughts
The biggest threat to Rust's sustainability
kerkour.com
Safe Systems Programming in Rust
cacm.acm.org
The GPIO war: macro bunkers for typestate explosions
www.ecorax.net
A look back at asynchronous Rust
https://tomaka.medium.com/a-look-back-at-asynchronous-rust-d54d63934a1c
Rust as an App Language
www.ikiapps.com
How often does Rust change?
steveklabnik.com
Serving a single file over HTTP with Rust and Go
vadosware.io
The Case for the Typestate Pattern - The Typestate Pattern itself
www.novatec-gmbh.de
[ZH] Rust in Embedded World
zhuanlan.zhihu.com
[video] Cheaply writing a fast interpreter - Neil Mitchell
youtu.be
Rust Walkthroughs
Introduction to Apache Arrow with Rust
bit.ly
How to execute shellcodes from memory in Rust
kerkour.com
Beginner's Guide to Rust Pattern Matching
https://doma-dev.medium.com/pattern-matching-in-rust-and-other-imperative-languages-7cf1c6abf4a1
Writing a PostgreSQL Pretty Printer in Rust: Part 1.5
blog.urth.org
Calling .NET APIs from Rust
ericsink.com
The magical applications of Zero-Sized Types in Rust
www.hardmo.de
Rust and Rocket - Zero to Deploy
dev.to
Learning to Fly: Let's simulate evolution in Rust! (pt 3)
pwy.io
Building an OpenStreetMap app in Rust, Part VI
blogg.bekk.no
Tutorial: Writing a tiny Entity Component System in Rust
ianjk.com
Implementing RAII guards in Rust
aloso.github.io
[JP] [TECH] Actix web で HttpOnly な Cookie を設定する 🍪
dev.to
[video] The four-part "Overview of the Rust Programming Language" for beginners is now complete
www.youtube.com
Miscellaneous
Streaming using Bastion & Kafka - near consumer native correlation
vertexclique.com
Performance comparison: counting words in Python, Go, C++, C, AWK, Forth, and Rust
benhoyt.com
Linus Torvalds on where Rust will fit into Linux
www.zdnet.com
Rust: integrating LLVM source-base code coverage with GitLab
www.collabora.com