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
Crate of the week: egg
This week's crate is egg, a project using e-graphs to provide a new way to build program optimizers and synthesizers.
This week's crate is egg, a project using e-graphs to provide a new way to build program optimizers and synthesizers.
This week in Rust #384 — 31 mar 2021
https://this-week-in-rust.org/blog/2021/03/31/this-week-in-rust-384/
https://this-week-in-rust.org/blog/2021/03/31/this-week-in-rust-384/
Updates from core
coverage bug fixes and optimization support
rust-lang/rust/pull/83307
ban custom inner attributes in expressions and statements
rust-lang/rust/pull/83488
GenericParam does not need to be a HIR owner
rust-lang/rust/pull/83424
remove assignments to ZST places instead of marking ZST return place as unused
rust-lang/rust/pull/83177
run analyses before thir-tree dumps
rust-lang/rust/pull/83050
import small cold functions
rust-lang/rust/pull/82980
implement feature(const_generics_defaults)
rust-lang/rust/pull/75384
stabilize debug_non_exhaustive
rust-lang/rust/pull/83041
simplify encoder and decoder
rust-lang/rust/pull/83273
remove (lots of) dead code
rust-lang/rust/pull/83185
use TrustedRandomAccess for in-place iterators where possible
rust-lang/rust/pull/79846
instruct LLVM that binary_search returns a valid index
rust-lang/rust/pull/81354
make NonNull::as_ref (and friends) return refs with unbound lifetimes
rust-lang/rust/pull/80771
add function core::iter::zip
rust-lang/rust/pull/82917
revert reverting of stabilizing integer::BITS
rust-lang/rust/pull/82565
generalize and inline slice::fill specializations
rust-lang/rust/pull/83245
add Result::into_err where the Ok variant is the never type
rust-lang/rust/pull/83421
remove Option::{unwrap_none, expect_none}
rust-lang/rust/pull/83349
futures: add AsyncSeekExt::stream_position
rust-lang/futures-rs/pull/2380
cargo: default macOS targets to unpacked debuginfo
rust-lang/cargo/pull/9298
rustdoc: sidebar trait items order
rust-lang/rust/pull/83051
docs.rs: stop displaying and serving authorship information
rust-lang/docs.rs/pull/1322
coverage bug fixes and optimization support
rust-lang/rust/pull/83307
ban custom inner attributes in expressions and statements
rust-lang/rust/pull/83488
GenericParam does not need to be a HIR owner
rust-lang/rust/pull/83424
remove assignments to ZST places instead of marking ZST return place as unused
rust-lang/rust/pull/83177
run analyses before thir-tree dumps
rust-lang/rust/pull/83050
import small cold functions
rust-lang/rust/pull/82980
implement feature(const_generics_defaults)
rust-lang/rust/pull/75384
stabilize debug_non_exhaustive
rust-lang/rust/pull/83041
simplify encoder and decoder
rust-lang/rust/pull/83273
remove (lots of) dead code
rust-lang/rust/pull/83185
use TrustedRandomAccess for in-place iterators where possible
rust-lang/rust/pull/79846
instruct LLVM that binary_search returns a valid index
rust-lang/rust/pull/81354
make NonNull::as_ref (and friends) return refs with unbound lifetimes
rust-lang/rust/pull/80771
add function core::iter::zip
rust-lang/rust/pull/82917
revert reverting of stabilizing integer::BITS
rust-lang/rust/pull/82565
generalize and inline slice::fill specializations
rust-lang/rust/pull/83245
add Result::into_err where the Ok variant is the never type
rust-lang/rust/pull/83421
remove Option::{unwrap_none, expect_none}
rust-lang/rust/pull/83349
futures: add AsyncSeekExt::stream_position
rust-lang/futures-rs/pull/2380
cargo: default macOS targets to unpacked debuginfo
rust-lang/cargo/pull/9298
rustdoc: sidebar trait items order
rust-lang/rust/pull/83051
docs.rs: stop displaying and serving authorship information
rust-lang/docs.rs/pull/1322
Updates from Rust Community
Official
Announcing Rust 1.51.0
blog.rust-lang.org
[Foundation] Introducing Mark Rousskov
foundation.rust-lang.org
[Foundation] Introducing Nell Shamrell-Harrington
foundation.rust-lang.org
Project/Tooling Updates
rust-analyzer changelog #70
rust-analyzer.github.io
IntelliJ Rust Changelog #144
intellij-rust.github.io
Knurling-rs Financial Update and Call for Funding
ferrous-systems.com
Ockam | End-to-end encrypted messaging and mutual authentication between distributed applications
ockam-network/ockam
Announcing the Deno Company
deno.com
Observations/Thoughts
Using Rust to corrode insane Python run-times
www.vortexa.com
The current state of Rust web frameworks
blog.logrocket.com
GhostCell: Separating Permissions from Data in Rust
plv.mpi-sws.org
Using const generics in slipstream
vorner.github.io
Rust iterators tips and tricks
robinmoussu.gitlab.io
Rust Walkthroughs
Pin and suffering
fasterthanli.me
Embedding Rust Into Zephyr Firmware using C-bindgen
www.jaredwolff.com
Parser combinators in Rust
doma.dev
Grids in Rust, part 2: const generics
blog.adamchalmers.com
Ergonomic error handling with Rust
dev.to
Implementing SHA2 (256/512) algorithm with Rust const generics
dev.to
Analisando alocações de memória em Rust utilizando GNU Debugger
dev.to
Testing an embedded application
ferrous-systems.com
Using Const Generics To Model An Electronics Graph
mkhan45.github.io
Rust's Module System Explained
aloso.github.io
[series] Working with the trust-dns-resolver crate
dev.to
[video] Safer Rust: Program Verification with Creusot
youtu.be
Miscellaneous
Linus Torvalds weighs in on Rust language in the Linux kernel
arstechnica.com
Ownership Concept Diagram
www.reddit.com
Official
Announcing Rust 1.51.0
blog.rust-lang.org
[Foundation] Introducing Mark Rousskov
foundation.rust-lang.org
[Foundation] Introducing Nell Shamrell-Harrington
foundation.rust-lang.org
Project/Tooling Updates
rust-analyzer changelog #70
rust-analyzer.github.io
IntelliJ Rust Changelog #144
intellij-rust.github.io
Knurling-rs Financial Update and Call for Funding
ferrous-systems.com
Ockam | End-to-end encrypted messaging and mutual authentication between distributed applications
ockam-network/ockam
Announcing the Deno Company
deno.com
Observations/Thoughts
Using Rust to corrode insane Python run-times
www.vortexa.com
The current state of Rust web frameworks
blog.logrocket.com
GhostCell: Separating Permissions from Data in Rust
plv.mpi-sws.org
Using const generics in slipstream
vorner.github.io
Rust iterators tips and tricks
robinmoussu.gitlab.io
Rust Walkthroughs
Pin and suffering
fasterthanli.me
Embedding Rust Into Zephyr Firmware using C-bindgen
www.jaredwolff.com
Parser combinators in Rust
doma.dev
Grids in Rust, part 2: const generics
blog.adamchalmers.com
Ergonomic error handling with Rust
dev.to
Implementing SHA2 (256/512) algorithm with Rust const generics
dev.to
Analisando alocações de memória em Rust utilizando GNU Debugger
dev.to
Testing an embedded application
ferrous-systems.com
Using Const Generics To Model An Electronics Graph
mkhan45.github.io
Rust's Module System Explained
aloso.github.io
[series] Working with the trust-dns-resolver crate
dev.to
[video] Safer Rust: Program Verification with Creusot
youtu.be
Miscellaneous
Linus Torvalds weighs in on Rust language in the Linux kernel
arstechnica.com
Ownership Concept Diagram
www.reddit.com
Crate of the week: tide-acme
This week's crate is tide-acme, a crate for automatic HTTPS certificaion using Let's Encrypt for Tide.
This week's crate is tide-acme, a crate for automatic HTTPS certificaion using Let's Encrypt for Tide.
This week in Rust #385 — 07 apr 2021
https://this-week-in-rust.org/blog/2021/04/07/this-week-in-rust-385/
https://this-week-in-rust.org/blog/2021/04/07/this-week-in-rust-385/
Updates from core
fix stack overflow detection on FreeBSD 11.1+
rust-lang/rust/pull/83771
disallow the use of high byte registes as operands on x86_64
rust-lang/rust/pull/83853
resolve/expand: cache intermediate results of #[derive] expansion
rust-lang/rust/pull/82907
panic early when TrustedLen indicates a length > usize::MAX
rust-lang/rust/pull/83726
suggest box/pin/arcing receiver on method calls
rust-lang/rust/pull/83667
run LLVM coverage instrumentation passes before optimization passes
rust-lang/rust/pull/83666
simplify logical operations CFG
rust-lang/rust/pull/83663
remove unneeded type resolving
rust-lang/rust/pull/83839
unaligned_references: align(N) fields in packed(N) structs are fine
rust-lang/rust/pull/83605
prevent very long compilation runtimes in LateBoundRegionNameCollector
rust-lang/rust/pull/83406
reduce the impact of Vec::reserve calls that do not cause any allocation
rust-lang/rust/pull/83357
BTree: no longer search arrays twice to check Ord
rust-lang/rust/pull/83267
stream the dep-graph to a file instead of storing it in-memory
rust-lang/rust/pull/82780
implement SourceIterator and InPlaceIterable for ResultShunt
rust-lang/rust/pull/81619
optimize jumps in PartialOrd::le
rust-lang/rust/pull/83819
ffi::c_str removed bound checks on as_bytes, to_bytes
rust-lang/rust/pull/83609
added as_slice method to BinaryHeap collection
rust-lang/rust/pull/82331
use #[inline(always)] on trivial UnsafeCell methods
rust-lang/rust/pull/83858
add #[inline] to IpAddr methods
rust-lang/rust/pull/83831
disallow octal format in Ipv4 string
rust-lang/rust/pull/83652
constify methods of std::net::SocketAddr, SocketAddrV4 and SocketAddrV6
rust-lang/rust/pull/82487
constify some slice methods
rust-lang/rust/pull/83571
stdsimd: add saturating abs/neg
rust-lang/stdsimd/pull/87
hashbrown: make RawTable::insert_no_grow unsafe
rust-lang/hashbrown/pull/254
cargo: add cargo config subcommand
rust-lang/cargo/pull/9302
rustdoc: only look at blanket impls in get_blanket_impls
rust-lang/rust/pull/83681
rustdoc: add unstable option to only emit shared/crate-specific files
rust-lang/rust/pull/83478
rustdoc: don't enter an infer_ctxt in get_blanket_impls for impls that aren't blanket impls
rust-lang/rust/pull/82864
rustdoc: highlight macros more efficiently
rust-lang/rust/pull/83793
clippy: add non_octal_unix_permissions lint
rust-lang/rust-clippy/pull/7001
clippy: don't lint manual_map in const functions
rust-lang/rust-clippy/pull/6976
clippy: new Lint: needless_for_each
rust-lang/rust-clippy/pull/6706
clippy: new Lint: branches_sharing_code
rust-lang/rust-clippy/pull/6463
clippy: lint: filter(Option::is_some).map(Option::unwrap)
rust-lang/rust-clippy/pull/6342
clippy: remove author requirement for cargo_common_metadata
rust-lang/rust-clippy/pull/7026
Clippy going dark: adding a dark theme to Clippy's lint list
rust-lang/rust-clippy/pull/7030
crates.io: topologically sort db-dump.tar.gz
rust-lang/crates.io/pull/3409
parallelize tidy
rust-lang/rust/pull/82347
fix stack overflow detection on FreeBSD 11.1+
rust-lang/rust/pull/83771
disallow the use of high byte registes as operands on x86_64
rust-lang/rust/pull/83853
resolve/expand: cache intermediate results of #[derive] expansion
rust-lang/rust/pull/82907
panic early when TrustedLen indicates a length > usize::MAX
rust-lang/rust/pull/83726
suggest box/pin/arcing receiver on method calls
rust-lang/rust/pull/83667
run LLVM coverage instrumentation passes before optimization passes
rust-lang/rust/pull/83666
simplify logical operations CFG
rust-lang/rust/pull/83663
remove unneeded type resolving
rust-lang/rust/pull/83839
unaligned_references: align(N) fields in packed(N) structs are fine
rust-lang/rust/pull/83605
prevent very long compilation runtimes in LateBoundRegionNameCollector
rust-lang/rust/pull/83406
reduce the impact of Vec::reserve calls that do not cause any allocation
rust-lang/rust/pull/83357
BTree: no longer search arrays twice to check Ord
rust-lang/rust/pull/83267
stream the dep-graph to a file instead of storing it in-memory
rust-lang/rust/pull/82780
implement SourceIterator and InPlaceIterable for ResultShunt
rust-lang/rust/pull/81619
optimize jumps in PartialOrd::le
rust-lang/rust/pull/83819
ffi::c_str removed bound checks on as_bytes, to_bytes
rust-lang/rust/pull/83609
added as_slice method to BinaryHeap collection
rust-lang/rust/pull/82331
use #[inline(always)] on trivial UnsafeCell methods
rust-lang/rust/pull/83858
add #[inline] to IpAddr methods
rust-lang/rust/pull/83831
disallow octal format in Ipv4 string
rust-lang/rust/pull/83652
constify methods of std::net::SocketAddr, SocketAddrV4 and SocketAddrV6
rust-lang/rust/pull/82487
constify some slice methods
rust-lang/rust/pull/83571
stdsimd: add saturating abs/neg
rust-lang/stdsimd/pull/87
hashbrown: make RawTable::insert_no_grow unsafe
rust-lang/hashbrown/pull/254
cargo: add cargo config subcommand
rust-lang/cargo/pull/9302
rustdoc: only look at blanket impls in get_blanket_impls
rust-lang/rust/pull/83681
rustdoc: add unstable option to only emit shared/crate-specific files
rust-lang/rust/pull/83478
rustdoc: don't enter an infer_ctxt in get_blanket_impls for impls that aren't blanket impls
rust-lang/rust/pull/82864
rustdoc: highlight macros more efficiently
rust-lang/rust/pull/83793
clippy: add non_octal_unix_permissions lint
rust-lang/rust-clippy/pull/7001
clippy: don't lint manual_map in const functions
rust-lang/rust-clippy/pull/6976
clippy: new Lint: needless_for_each
rust-lang/rust-clippy/pull/6706
clippy: new Lint: branches_sharing_code
rust-lang/rust-clippy/pull/6463
clippy: lint: filter(Option::is_some).map(Option::unwrap)
rust-lang/rust-clippy/pull/6342
clippy: remove author requirement for cargo_common_metadata
rust-lang/rust-clippy/pull/7026
Clippy going dark: adding a dark theme to Clippy's lint list
rust-lang/rust-clippy/pull/7030
crates.io: topologically sort db-dump.tar.gz
rust-lang/crates.io/pull/3409
parallelize tidy
rust-lang/rust/pull/82347
Updates from Rust Community
Official
[Inside] Core Team updates
blog.rust-lang.org
[Foundation] Introducing Peixin Hou
foundation.rust-lang.org
[Foundation] Introducing Florian Gilcher
foundation.rust-lang.org
Newsletters
This Month in Rust OSDev (March 2021)
rust-osdev.com
RiB Newsletter #22 - A few tweaks
www.reddit.com
Project/Tooling Updates
GCC Rust Monthly Report #4 March 2021
thephilbert.io
mrustc upgrade: rustc 1.39.0
www.reddit.com
rust-analyzer Changelog #71
rust-analyzer.github.io
A new Left Recursive PEG Parser Generator for rust
www.mess.org
Last Month in Flott (Motion Control Toolkit in Rust) - April 2021
flott-motion.org
Recent updates in IntelliJ Rust
blog.jetbrains.com
Bevy 0.5
bevyengine.org
Observations/Thoughts
Interfacing a low-level actor system to Rust async/await, part 1
uazu.github.io
A Tour of Safe Tracing GC Designs in Rust
manishearth.github.io
How I Used Rust + Lunatic to Build a TelNet Chat Server with WebAssembly
www.hackernoon.com
Eliminating Data Races in Firefox - A Technical Report
hacks.mozilla.org
First-class IO
blog.sunfishcode.online
The modern packager's security nightmare
blogs.gentoo.org
Ordering Requests to Accelerate I/O
pkolaczk.github.io
An essay of checked exceptions in Rust
users.rust-lang.org
Weird architectures weren't supported to begin with
blog.yossarian.net
[video] I tried learning OpenGL in 7 days - using Rust
youtu.be
Rust Walkthroughs
How we built our Python Client that's mostly Rust
www.fluvio.io
Hello world with KAS GUI
kas-gui.github.io
How to create small Docker images for Rust
kerkour.com
Oxidizing the Kubernetes Operator
www.pavel.cool
Sending tuples from Node to Rust and back
www.fluvio.io
Getting started with Kafka and Rust: Part 1
dev.to
A Beginner's Guide to Handling Errors in Rust
dev.to
Using Seahorn
project-oak.github.io
Asynchronous streams in Rust (part 1) - Futures, buffering and mysterious compilation error messages
gendignoux.com
[series] What would SQLite look like if written in Rust? — Part 3
medium.com/the-polyglot-programmer
[video] Return a value from a function in Rust
www.youtube.com
[video] Crust of Rust: Atomics and Memory Ordering
youtu.be
[video] Async/Await in Rust: Introduction
youtu.be
[video] OpenVehicleDiag Rust live coding with Macchina's A0!!
youtu.be
[video] [series] Easy Rust - learn to program in Rust with simple English
youtube.com
Miscellaneous
best-of-ml-rust: A ranked list of awesome machine learning Rust libraries
e-tony/best-of-ml-rust
Rust in the Android platform
security.googleblog.com
David Tolnay - thank you
www.reddit.com
My "shiny future"
smallcultfollowing.com
Official
[Inside] Core Team updates
blog.rust-lang.org
[Foundation] Introducing Peixin Hou
foundation.rust-lang.org
[Foundation] Introducing Florian Gilcher
foundation.rust-lang.org
Newsletters
This Month in Rust OSDev (March 2021)
rust-osdev.com
RiB Newsletter #22 - A few tweaks
www.reddit.com
Project/Tooling Updates
GCC Rust Monthly Report #4 March 2021
thephilbert.io
mrustc upgrade: rustc 1.39.0
www.reddit.com
rust-analyzer Changelog #71
rust-analyzer.github.io
A new Left Recursive PEG Parser Generator for rust
www.mess.org
Last Month in Flott (Motion Control Toolkit in Rust) - April 2021
flott-motion.org
Recent updates in IntelliJ Rust
blog.jetbrains.com
Bevy 0.5
bevyengine.org
Observations/Thoughts
Interfacing a low-level actor system to Rust async/await, part 1
uazu.github.io
A Tour of Safe Tracing GC Designs in Rust
manishearth.github.io
How I Used Rust + Lunatic to Build a TelNet Chat Server with WebAssembly
www.hackernoon.com
Eliminating Data Races in Firefox - A Technical Report
hacks.mozilla.org
First-class IO
blog.sunfishcode.online
The modern packager's security nightmare
blogs.gentoo.org
Ordering Requests to Accelerate I/O
pkolaczk.github.io
An essay of checked exceptions in Rust
users.rust-lang.org
Weird architectures weren't supported to begin with
blog.yossarian.net
[video] I tried learning OpenGL in 7 days - using Rust
youtu.be
Rust Walkthroughs
How we built our Python Client that's mostly Rust
www.fluvio.io
Hello world with KAS GUI
kas-gui.github.io
How to create small Docker images for Rust
kerkour.com
Oxidizing the Kubernetes Operator
www.pavel.cool
Sending tuples from Node to Rust and back
www.fluvio.io
Getting started with Kafka and Rust: Part 1
dev.to
A Beginner's Guide to Handling Errors in Rust
dev.to
Using Seahorn
project-oak.github.io
Asynchronous streams in Rust (part 1) - Futures, buffering and mysterious compilation error messages
gendignoux.com
[series] What would SQLite look like if written in Rust? — Part 3
medium.com/the-polyglot-programmer
[video] Return a value from a function in Rust
www.youtube.com
[video] Crust of Rust: Atomics and Memory Ordering
youtu.be
[video] Async/Await in Rust: Introduction
youtu.be
[video] OpenVehicleDiag Rust live coding with Macchina's A0!!
youtu.be
[video] [series] Easy Rust - learn to program in Rust with simple English
youtube.com
Miscellaneous
best-of-ml-rust: A ranked list of awesome machine learning Rust libraries
e-tony/best-of-ml-rust
Rust in the Android platform
security.googleblog.com
David Tolnay - thank you
www.reddit.com
My "shiny future"
smallcultfollowing.com
Crate of the week: rs-pbrt
This week's crate is rs-pbrt, a counterpart to the PBRT book's (3rd edition) C++ code.
This week's crate is rs-pbrt, a counterpart to the PBRT book's (3rd edition) C++ code.
This week in Rust #386 — 14 apr 2021
https://this-week-in-rust.org/blog/2021/04/14/this-week-in-rust-386/
https://this-week-in-rust.org/blog/2021/04/14/this-week-in-rust-386/
Updates from core
allow specifying alignment for functions
rust-lang/rust/pull/81234
fix handling of --output-format json flag
rust-lang/rust/pull/82497
don't tell users to use a nightly flag on the stable channel
rust-lang/rust/pull/84055
improve trait/impl method discrepancy errors
rust-lang/rust/pull/84014
account for ExprKind::Block when suggesting .into() and deref
rust-lang/rust/pull/83952
let #[allow(unstable_name_collisions)] work for things other than function
rust-lang/rust/pull/81922
add bad_asm_style to HardwiredLints
rust-lang/rust/pull/84068
improve debuginfo for closures and async functions on Windows MSVC
rust-lang/rust/pull/83941
use AnonConst for asm! constants
rust-lang/rust/pull/83916
add FromIterator and IntoIterator impls for ThinVec
rust-lang/rust/pull/83821
add strong_count mutation methods to Rc
rust-lang/rust/pull/83476
use a SmallVec in impl_or_trait_item
rust-lang/rust/pull/83932
use FromStr trait for number option parsing
rust-lang/rust/pull/82483
reduce threads spawned by ui-tests
rust-lang/rust/pull/81942
core: disable ptr::swap_nonoverlapping_one's block optimization on SPIR-V
rust-lang/rust/pull/83019
stabilize cmp_min_max_by
rust-lang/rust/pull/81047
stabilize peekable_peek_mut
rust-lang/rust/pull/81938
stabilize duration_saturating_ops
rust-lang/rust/pull/84090
stabilize atomic_fetch_update methods on AtomicBool and AtomicPtr
rust-lang/rust/pull/84085
fix HashMap/HashSet LLDB pretty-printer after hashbrown
rust-lang/rust/pull/83920
futures: move try_fold, try_for_each, and try_for_each_concurrent to StreamExt
rust-lang/futures-rs/pull/2342
futures: add stream::Peekable::{next_if, next_if_eq}
rust-lang/futures-rs/pull/2379
fix perf regression in rustdoc::bare_urls
rust-lang/rust/pull/84034
rustdoc: cleanup handling of associated items for intra-doc links
rust-lang/rust/pull/83849
rustdoc: sort search index items for compression
rust-lang/rust/pull/83835
rustdoc: store intra-doc links in Cache instead of on items directly
rust-lang/rust/pull/83833
rustdoc: use ThinVec in a few places
rust-lang/rust/pull/83828
rustdoc: merge idents when generating source content
rust-lang/rust/pull/83992
clippy: fix false positive in single_component_path_imports lint
rust-lang/rust-clippy/pull/6905
clippy: fix explicit_into_iter_loop
rust-lang/rust-clippy/pull/6982
clippy: consider mutability on useless_vec suggestions
rust-lang/rust-clippy/pull/7036
clippy: fix missing_panics_doc not detecting assert_eq! and assert_ne!
rust-lang/rust-clippy/pull/7029
allow specifying alignment for functions
rust-lang/rust/pull/81234
fix handling of --output-format json flag
rust-lang/rust/pull/82497
don't tell users to use a nightly flag on the stable channel
rust-lang/rust/pull/84055
improve trait/impl method discrepancy errors
rust-lang/rust/pull/84014
account for ExprKind::Block when suggesting .into() and deref
rust-lang/rust/pull/83952
let #[allow(unstable_name_collisions)] work for things other than function
rust-lang/rust/pull/81922
add bad_asm_style to HardwiredLints
rust-lang/rust/pull/84068
improve debuginfo for closures and async functions on Windows MSVC
rust-lang/rust/pull/83941
use AnonConst for asm! constants
rust-lang/rust/pull/83916
add FromIterator and IntoIterator impls for ThinVec
rust-lang/rust/pull/83821
add strong_count mutation methods to Rc
rust-lang/rust/pull/83476
use a SmallVec in impl_or_trait_item
rust-lang/rust/pull/83932
use FromStr trait for number option parsing
rust-lang/rust/pull/82483
reduce threads spawned by ui-tests
rust-lang/rust/pull/81942
core: disable ptr::swap_nonoverlapping_one's block optimization on SPIR-V
rust-lang/rust/pull/83019
stabilize cmp_min_max_by
rust-lang/rust/pull/81047
stabilize peekable_peek_mut
rust-lang/rust/pull/81938
stabilize duration_saturating_ops
rust-lang/rust/pull/84090
stabilize atomic_fetch_update methods on AtomicBool and AtomicPtr
rust-lang/rust/pull/84085
fix HashMap/HashSet LLDB pretty-printer after hashbrown
rust-lang/rust/pull/83920
futures: move try_fold, try_for_each, and try_for_each_concurrent to StreamExt
rust-lang/futures-rs/pull/2342
futures: add stream::Peekable::{next_if, next_if_eq}
rust-lang/futures-rs/pull/2379
fix perf regression in rustdoc::bare_urls
rust-lang/rust/pull/84034
rustdoc: cleanup handling of associated items for intra-doc links
rust-lang/rust/pull/83849
rustdoc: sort search index items for compression
rust-lang/rust/pull/83835
rustdoc: store intra-doc links in Cache instead of on items directly
rust-lang/rust/pull/83833
rustdoc: use ThinVec in a few places
rust-lang/rust/pull/83828
rustdoc: merge idents when generating source content
rust-lang/rust/pull/83992
clippy: fix false positive in single_component_path_imports lint
rust-lang/rust-clippy/pull/6905
clippy: fix explicit_into_iter_loop
rust-lang/rust-clippy/pull/6982
clippy: consider mutability on useless_vec suggestions
rust-lang/rust-clippy/pull/7036
clippy: fix missing_panics_doc not detecting assert_eq! and assert_ne!
rust-lang/rust-clippy/pull/7029
Updates from Rust Community
Official
Brainstorming Async Rust's Shiny Future
blog.rust-lang.org
[Foundation] Introducing Florian Gilcher
foundation.rust-lang.org
[Foundation] Introducing Peixin Hou
foundation.rust-lang.org
Newsletters
This Month in Rust GameDev #20 - March 2021
gamedev.rs
Project/Tooling Updates
Progress report on rustc_codegen_cranelift (April 2021)
bjorn3.github.io
IntelliJ Rust: Updates for 2021.1
blog.jetbrains.com
IntelliJ Rust Changelog #145
intellij-rust.github.io
rust-analyzer Changelog #72
rust-analyzer.github.io
Ballista has been donated to the Apache Arrow project
www.reddit.com
Observations/Thoughts
Rust in Production: MeiliSearch
serokell.io
Rust is for Professionals
gregoryszorc.com
Rust async is colored, and that's not a big deal
morestina.net
Using Rust for Scientific Numerical applications: Learning from Past Experiences
blog.esciencecenter.nl
PlaintDB Servers - another milestone reached
dev.to
Why Rust for Robots?
dev.to
Integrating const-generics to nalgebra 0.26
www.dimforge.com
[podcast] Building with Rust: Tim McNamara on Rust in Action [trannoscript]
anchor.fm
Rust Walkthroughs
Build an End-to-End Encrypted messaging app in rust, with the Ockam crate, in this step by step guide.
ockam-network/ockam/tree/develop/documentation/guides/rust/get-started#readme
Introducing easy-cast
kas-gui.github.io
Why Rust strings seem hard
www.brandons.me
Rust shenanigans: return type polymporphism
loige.co
Writing Neovim plugins in Rust
blog.usejournal.com
A zero-overhead linked list in Rust
aloso.github.io
Integrating Rust into Python
www.vortexa.com
Setting Up a gRPC Protobuf Server With Tonic
dev.to
Getting started with Kafka and Rust: Part 2
dev.to
Rust lib error management, multiple enum approach
www.tglman.com
Asynchronous streams in Rust (part 2) - Cancelling expired requests
gendignoux.com
[series] Engaging Warp: REST API with Rust
dev.to
[ZH] [series] Build GraphQL services based on Async Rust using tide + async-graphql + mongodb (基于 Async Rust 构建 GraphQL 服务,使用 tide + async-graphql + mongodb) - Part 1
blog.budshome.com
[video] Flocking Boids in Rust: With Piston vs Tetra vs Amethyst vs Bevy
youtu.be
Miscellaneous
Rust, not Firefox, is Mozilla's greatest industry contribution
www.techrepublic.com
AWS's Shane Miller to head the newly created Rust Foundation
www.zdnet.com
[RFC] Rust support for Linux kernel
lkml.org
A look at LLVM - comparing clamp implementations
secret.club
Tokio-uring design proposal
www.reddit.com
Google is now writing low-level Android code in Rust
arstechnica.com
Rust in the Linux kernel
security.googleblog.com
Official
Brainstorming Async Rust's Shiny Future
blog.rust-lang.org
[Foundation] Introducing Florian Gilcher
foundation.rust-lang.org
[Foundation] Introducing Peixin Hou
foundation.rust-lang.org
Newsletters
This Month in Rust GameDev #20 - March 2021
gamedev.rs
Project/Tooling Updates
Progress report on rustc_codegen_cranelift (April 2021)
bjorn3.github.io
IntelliJ Rust: Updates for 2021.1
blog.jetbrains.com
IntelliJ Rust Changelog #145
intellij-rust.github.io
rust-analyzer Changelog #72
rust-analyzer.github.io
Ballista has been donated to the Apache Arrow project
www.reddit.com
Observations/Thoughts
Rust in Production: MeiliSearch
serokell.io
Rust is for Professionals
gregoryszorc.com
Rust async is colored, and that's not a big deal
morestina.net
Using Rust for Scientific Numerical applications: Learning from Past Experiences
blog.esciencecenter.nl
PlaintDB Servers - another milestone reached
dev.to
Why Rust for Robots?
dev.to
Integrating const-generics to nalgebra 0.26
www.dimforge.com
[podcast] Building with Rust: Tim McNamara on Rust in Action [trannoscript]
anchor.fm
Rust Walkthroughs
Build an End-to-End Encrypted messaging app in rust, with the Ockam crate, in this step by step guide.
ockam-network/ockam/tree/develop/documentation/guides/rust/get-started#readme
Introducing easy-cast
kas-gui.github.io
Why Rust strings seem hard
www.brandons.me
Rust shenanigans: return type polymporphism
loige.co
Writing Neovim plugins in Rust
blog.usejournal.com
A zero-overhead linked list in Rust
aloso.github.io
Integrating Rust into Python
www.vortexa.com
Setting Up a gRPC Protobuf Server With Tonic
dev.to
Getting started with Kafka and Rust: Part 2
dev.to
Rust lib error management, multiple enum approach
www.tglman.com
Asynchronous streams in Rust (part 2) - Cancelling expired requests
gendignoux.com
[series] Engaging Warp: REST API with Rust
dev.to
[ZH] [series] Build GraphQL services based on Async Rust using tide + async-graphql + mongodb (基于 Async Rust 构建 GraphQL 服务,使用 tide + async-graphql + mongodb) - Part 1
blog.budshome.com
[video] Flocking Boids in Rust: With Piston vs Tetra vs Amethyst vs Bevy
youtu.be
Miscellaneous
Rust, not Firefox, is Mozilla's greatest industry contribution
www.techrepublic.com
AWS's Shane Miller to head the newly created Rust Foundation
www.zdnet.com
[RFC] Rust support for Linux kernel
lkml.org
A look at LLVM - comparing clamp implementations
secret.club
Tokio-uring design proposal
www.reddit.com
Google is now writing low-level Android code in Rust
arstechnica.com
Rust in the Linux kernel
security.googleblog.com
Crate of the week: dipa
This week's crate is dipa, a crate to derive delta-encoding for Rust data structures.
This week's crate is dipa, a crate to derive delta-encoding for Rust data structures.
This week in Rust #387 — 21 apr 2021
https://this-week-in-rust.org/blog/2021/04/21/this-week-in-rust-387/
https://this-week-in-rust.org/blog/2021/04/21/this-week-in-rust-387/