pub ThisWeekInRust {}
930 subscribers
2 photos
2.29K links
Handpicked Rust updates,
delivered to your telegram.

Contacts: @sergeysova
Reposted from: https://this-week-in-rust.org
Source code: https://github.com/sergeysova/this_week_in_rust.rs
Another: @this_week_in_react
Download Telegram
Crate of the week: coprosize

This week's crate is coprosize, a (you guessed it) program aiding the study of dinosaur dung.
Updates from Rust Community

Official
Announcing Rustup 1.25.0
blog.rust-lang.org

Announcing Rustup 1.25.1
blog.rust-lang.org

Changes in the Core Team
blog.rust-lang.org

Newsletters
This Month in Rust OSDev: June 2022
rust-osdev.com

This Month in Rust GameDev #35 - June 2022
gamedev.rs

Project/Tooling Updates
Tauri 1.0 Release
tauri.app

Lyon 1.0
nical.github.io

rust-analyzer changelog #137
rust-analyzer.github.io

IntelliJ Rust Changelog #174
intellij-rust.github.io

rustc_codegen_gcc: Progress Report #13
blog.antoyo.xyz

Accouncing Fornjot 0.7 (code-first CAD in Rust)
www.fornjot.app

Announcing Experimental Rust Filesystem and Path Support for Xous PDDB!
xobs.io

This week in Fluvio #38: The programmable streaming platform
www.fluvio.io

HexoSynth (modular synthesizer) - Devlog #4 - The Tracker Sequencer is Back
m8geil.de

Slint UI crate weekly updates
slint-ui.com

Black Hat Rust updated for Rust 1.62 (and announcing the online course)
kerkour.com

This week in Databend #50: A Modern Cloud Data Warehouse for Everyone
weekly.databend.rs

Observations/Thoughts
Announcement: Rust-Edu
rust-edu.org

A Pleasing Symmetry in Rust — Sympolymathesy, by Chris Krycho
v5.chriskrycho.com

Unsafe Syntax
blog.yoshuawuyts.com

Almost Rules
matklad.github.io

Pitfalls of fallible Iterators
swatinem.de

Minimalist Guide to Poem
tech.marksblogg.com

[audio] High Assurance Rust with Tiemoko Ballo
rustacean-station.org

[ZH] [audio] 004. 与迟先生聊 Rust 与数据库系统
rusttalk.github.io

Rust Walkthroughs
Procedural macros under the hood: Part II | The IntelliJ Rust Blog
blog.jetbrains.com

Bare-Metal Rust on ESP32: A Brief Overview
beta7.io

A Rust app in a Cloudflare Worker
logankeenan.com

Runtime errors: Come again? Rust macros to the rescue
tech.nextroll.com

Using the Kani Rust Verifier on a Firecracker Example
model-checking.github.io

[video] How AWS is building the Rust SDK and how you can use it today - Zelda Hessler
www.youtube.com

[video] Constant fun (const fn) with Rust - Rainer Stropek
www.youtube.com

Research
Flux: Liquid Types for Rust
arxiv.org

Miscellaneous
GCC Rust Approved By Steering Committee, Likely To Land For GCC 13
www.phoronix.com
Crate of the week: shame

This week's crate is shame, a shader EDSL for writing render and compute pipelines in rust.
Updates from Rust Community

Official
Announcing Rust 1.62.1
blog.rust-lang.org

Project/Tooling Updates
rust-analyzer changelog #138
rust-analyzer.github.io

Release Rustlings 5.0.0
rust-lang/rustlings/releases/tag/5.0.0

Rust on Espressif chips - 15-07-2022
mabez.dev

Fornjot (code-first CAD in Rust) - Weekly Release - 2022-W29
www.fornjot.app

HexoSynth 2022 - Devlog #5 - Signal Monitors and HexoTK Bugfixing
m8geil.de

What's new in SeaORM 0.9.0
www.sea-ql.org

Slint UI crate weekly updates
slint-ui.com

This week in Databend #51: A Modern Cloud Data Warehouse for Everyone
weekly.databend.rs

Observations/Thoughts
How to speed up the Rust compiler in July 2022
nnethercote.github.io

How to setup a Wasm API for a CHIP-8 emulator
monadical.com

async let - A new concurrency primitve?
conradludgate.com

Extending SQLite with Rust to support Excel files as virtual tables
sergey.khabibullin.com

Pandas vs Polar - A look at performance
studioterabyte.nl

Improving “Extract Function” in Rust Analyzer - Dorian Listens
dorianlistens.com

Advice for the next dozen Rust GUIs
raphlinus.github.io

When rustc explodes
fasterthanli.me

Rust Walkthroughs
How Rust manages memory using ownership and borrowing
stackoverflow.blog

Integrating a Rust module into an Android app
blog.logrocket.com

Futuristic Rust: context emulation, part 2
haibane-tenshi.github.io

Elegant and performant recursion in Rust
recursion.wtf

Getting Started with SeaORM
anshulchauhan.com

Making GTK keyboard on Rust
dev.to

STM32F4 Embedded Rust at the HAL: PWM Buzzer
apollolabsblog.hashnode.dev

[DE] Kommentar: Rust im Linux-Kernel – handeln statt jubeln!
www.heise.de

[video] Stop writing Rust
www.youtube.com

Miscellaneous
Rust Education Workshop 2022 Call For Participation
rust-edu.org
Crate of the week: bnum

This week's crate is bnum, a library of arbitrarily sized fixed-size numerals.
Updates from core

rustc_expand: switch FxHashMap to FxIndexMap where iteration is used
rust-lang/rust/pull/99320

proc_macro/bridge: stop using a remote object handle for proc_macro Ident and Literal
rust-lang/rust/pull/98189

allow to disable thinLTO buffer to support lto-embed-bitcode lld feature
rust-lang/rust/pull/98162

allow trait A: ~const B
rust-lang/rust/pull/93429

do not allow typeck children items to constrain outer RPITs
rust-lang/rust/pull/99345

do not resolve associated const when there is no provided value
rust-lang/rust/pull/99449

don't suggest unnameable generic arguments
rust-lang/rust/pull/99580

improve suggestions for NonZeroT <- T coercion error
rust-lang/rust/pull/99438

improve suggestions for returning binding
rust-lang/rust/pull/99539

add E0790 as more specific variant of E0283
rust-lang/rust/pull/98028

miri: add a scheme for always using the default toolchain, running clippy and fmt before running any other command
rust-lang/miri/pull/2381

miri: add a flag to print a diagnostic when an outdated value is returned from an atomic load
rust-lang/miri/pull/2424

support vec zero-alloc optimization for tuples and byte arrays
rust-lang/rust/pull/97581

add PhantomData marker for dropck to BTreeMap
rust-lang/rust/pull/99413

add \[f32\]::sort_floats and \[f64\]::sort_floats
rust-lang/rust/pull/93397

protect std::io::Take::limit from overflow in read
rust-lang/rust/pull/95040

fix Skip::next for non-fused inner iterators
rust-lang/rust/pull/99434

stabilize core::task::ready!
rust-lang/rust/pull/99419

add IntoFuture::into_future desugaring
rust-lang/reference/pull/1233

futures: inline WakerRef functions
rust-lang/futures-rs/pull/2626

cargo-miri: support nextest
rust-lang/miri/pull/2398

cargo-miri: reorder --target to after the user-defined commands
rust-lang/miri/pull/2402

cargo: stabilize workspace Inheritance
rust-lang/cargo/pull/10859

docs.rs: add canonical URL for rustdoc pages
rust-lang/docs.rs/pull/1773

clippy: add arithmetic lint
rust-lang/rust-clippy/pull/9130

clippy: add assertions_on_result_states lint
rust-lang/rust-clippy/pull/9225

clippy: check assign_op_pattern for conflicting borrows
rust-lang/rust-clippy/pull/9214

clippy: check for todo! on every expression in SpanlessEq
rust-lang/rust-clippy/pull/9207

clippy: check macro statements in non_copy_const
rust-lang/rust-clippy/pull/9246

clippy: don't lint std_instead_of_core on std::env
rust-lang/rust-clippy/pull/9243

clippy: fix ICE in miri_to_const
rust-lang/rust-clippy/pull/9241

clippy: fix ICE in question_mark
rust-lang/rust-clippy/pull/9244

clippy: fix useless_format spans for format!("{foo}")
rust-lang/rust-clippy/pull/9237

clippy: fix suggestion causing error for needless_borrow function in field
rust-lang/rust-clippy/pull/9210

rust-analyzer: find original as node before compute ref match
rust-lang/rust-analyzer/pull/12800

rust-analyzer: fix missing fields check on destructuring assignment
rust-lang/rust-analyzer/pull/12863

rust-analyzer: fix: autocomplete for struct fields includes receiver
rust-lang/rust-analyzer/pull/12861

rust-analyzer: fix: don't add braces to 'if' completion in match guard position
rust-lang/rust-analyzer/pull/12851

rust-analyzer: fix error tooltip message for VSCode status bar item
rust-lang/rust-analyzer/pull/12850

rust-analyzer: fix restart server duplicating language clients
rust-lang/rust-analyzer/pull/12847

rust-analyzer: fix: work around Code bug with empty diagnostics
rust-lang/rust-analyzer/pull/12809

rust-analyzer: don't replace default members' body
rust-lang/rust-analyzer/pull/12832

rustc-perf: enable measuring stable compiler builds
rust-lang/rustc-perf/pull/1341
Updates from Rust Community

Official
Announcing the Keyword Generics Initiative
blog.rust-lang.org

Foundation
What has the Foundation been up to?
foundation.rust-lang.org

Project/Tooling Updates
Aya: your tRusty eBPF companion
deepfence.io

This week in Fluvio #39: The programmable streaming platform
www.fluvio.io

This week in Fluvio #40: The programmable streaming platform
www.fluvio.io

Announcing Relm4 v0.5 beta
relm4.org

rust-analyzer changelog #139
rust-analyzer.github.io

IntelliJ Rust Changelog #175
intellij-rust.github.io

Fornjot (code-first CAD in Rust) - Weekly Release - 2022-W30
www.fornjot.app

Slint UI crate weekly updates
slint-ui.com

HexoSynth 2022 - Devlog #6 - Workflow and Oscilloscope
m8geil.de

This week in Databend #52: A Modern Cloud Data Warehouse for Everyone
weekly.databend.rs

Observations/Thoughts
How To Put 30 Languages Into 1.1MB
laurmaedje.github.io

Does Rust need proc-macros 2.0?
aaronerhardt.github.io

The Ferrocene Language Specification is here!
ferrous-systems.com

Fixing the Next Thousand Deadlocks: Why Buffered Streams Are Broken and How To Make Them Safer
blog.polybdenum.com

A performance retrospective using Rust (part 2)
agourlay.github.io

Introduction to WebAssembly and Rust
bojanstipic.rs

A look at serde-json
owengage.com

Impl Trait Parameters And Turbofish - Veetaha Website
veetaha.github.io

Console #115 - Interview with Jonathan of BonsaiDb
console.substack.com

[audio] Asynchronous Rust with Tyler Mandry
rustacean-station.org

[audio] Tauri with Daniel Thompson-Yvetot
rustacean-station.org

Rust Walkthroughs
Writing Linux Kernel Modules in Rust
lore.kernel.org

STM32F4 Embedded Rust at the HAL: Timer Ultrasonic Distance Measurement
apollolabsblog.hashnode.dev

Move data out of closure
dev.to
Crate of the week: cargo-semver-checks

This week's crate is cargo-semver-checks, a CI-friendly tool to ckeck your library's API.
Updates from core

Add diagnostic when using public instead of pub
rust-lang/rust/pull/99903

Expose size_hint() for TokenStream's iterator
rust-lang/rust/pull/99703

suggest dereferencing index when trying to use a reference of usize as index
rust-lang/rust/pull/99671

suggest removing a semicolon and boxing the expressions for if-else
rust-lang/rust/pull/99974

suggest removing the tuple struct field for the unwrapped value
rust-lang/rust/pull/99593

improve cannot move out of error message
rust-lang/rust/pull/99629

don't ICE on invalid dyn calls
rust-lang/rust/pull/99673

chalk: solve auto traits for closures
rust-lang/chalk/pull/755

add Self: ~const Trait to traits with #\[const_trait\]
rust-lang/rust/pull/99704

miri: add default impls for FileDescriptor methods
rust-lang/miri/pull/2444

miri: use cargo_metadata in cargo-miri
rust-lang/miri/pull/2450

miri: use real exec on cfg(unix) targets
rust-lang/miri/pull/2426

codegen: use new {re,de,}allocator annotations in llvm
rust-lang/rust/pull/99574

use FxIndexSet for region_bound_pairs
rust-lang/rust/pull/99725

lexer improvements
rust-lang/rust/pull/99884

optimize UnDerefer
rust-lang/rust/pull/99667

implement network primitives with ideal Rust layout, not C system layout
rust-lang/rust/pull/78802

fix slice::ChunksMut aliasing
rust-lang/rust/pull/94247

optimize vec::IntoIter::next_chunk impl
rust-lang/rust/pull/98553

cargo: support for negative --jobs parameter, counting backwards from max CPUs
rust-lang/cargo/pull/10844

rustdoc: add support for #[rustc_must_implement_one_of]
rust-lang/rust/pull/99235

rustdoc: align invalid-html-tags lint with commonmark spec
rust-lang/rust/pull/99873

rustfmt: nicer skip context for macro/attribute
rust-lang/rustfmt/pull/5459

clippy: move assertions_on_result_states to restriction
rust-lang/rust-clippy/pull/9273

clippy: read and use deprecated configuration (as well as emitting a warning)
rust-lang/rust-clippy/pull/9252

clippy: remove "blacklist" terminology
rust-lang/rust-clippy/pull/8974

clippy: unwrap_used: don't recommend using expect when the expect_used lint is not allowed
rust-lang/rust-clippy/pull/9223

rust-analyzer: find original ast node before compute ref match
rust-lang/rust-analyzer/pull/12830

rust-analyzer: find standalone proc-macro-srv on windows too
rust-lang/rust-analyzer/pull/12878

rust-analyzer: publish extension for 32-bit ARM systems
rust-lang/rust-analyzer/pull/12920

rust-analyzer: calculate completions after type anchors
rust-lang/rust-analyzer/pull/12895

rust-analyzer: do completions in path qualifier position
rust-lang/rust-analyzer/pull/12899

rust-analyzer: don't complete marker traits in expression position
rust-lang/rust-analyzer/pull/12901

rust-analyzer: fix pattern completions adding unnecessary braces
rust-lang/rust-analyzer/pull/12898

rust-analyzer: complete path of existing record expr
rust-lang/rust-analyzer/pull/12906
Updates from Rust Community

Official
Increasing the glibc and Linux kernel requirements
blog.rust-lang.org

Project/Tooling Updates
rust-analyzer changelog #140
rust-analyzer.github.io

GCC Rust Monthly Report #19 July 2022
thephilbert.io

This Month in hyper: July 2022
seanmonstar.com

Bevy 0.8
bevyengine.org

This week in Fluvio #41: The programmable streaming platform
www.fluvio.io

Fornjot (code-first CAD in Rust) - Weekly Release - 2022-W31
www.fornjot.app

Zellij 0.31.0: Sixel support, search panes and custom status-bar keybindings
zellij.dev

Ogma v0.5 Release
www.kurtlawrence.info

Slint UI crate weekly updates
slint-ui.com

HexoSynth 2022 - Devlog #7 - The DSP JIT Compiler
m8geil.de

This week in Databend #53: A Modern Cloud Data Warehouse for Everyone
weekly.databend.rs

Observations/Thoughts
Rust linux kernel development
www.jackos.io

Proc macro support in rust-analyzer for nightly rustc versions
fasterthanli.me

Manage keybindings in a Rust terminal application
dystroy.org

Safety
nested.substack.com

Paper Review: Safe, Flexible Aliasing with Deferred Borrows
blog.theincredibleholk.org

Uncovering a Blocking Syscall
chrissardegna.com

nt-list: Windows Linked Lists in idiomatic Rust
colinfinck.de

[audio] Beyond the Hype: Most-loved language – does Rust justify the hype?
blog.scottlogic.com

Rust Walkthroughs
Patterns with Rust types
www.shuttle.rs

Fully generic recursion in Rust
recursion.wtf

Advanced shellcode in Rust
kerkour.com

STM32F4 Embedded Rust at the HAL: Analog Temperature Sensing using the ADC
apollolabsblog.hashnode.dev

[video] Are we web yet? Our journey to Axum
www.youtube.com

[video] Build your Rust lightsaber (my Rust toolkit recommendations)
www.youtube.com

[video] Rust Tutorial Full Course
www.youtube.com

[video] Bevy 0.7 to 0.8 migration guide
www.youtube.com

Research
RRust: A Reversible Embedded Language
blog.erk.dev

Miscellaneous
Meta approves 4 programming languages for employees and devs
www.theregister.com

[DE] Meta setzt auf die Programmiersprachen C++, Python, Hack und neuerdings Rust
www.heise.de
Crate of the week: lending-iterator

This week's crate is lending-iterator, a type similar to std::iter::Iterator, but with some type trickery that allows it to .windows_mut(_) safely.
Updates from Rust Community

Official
Non-lexical lifetimes (NLL) fully stable
blog.rust-lang.org

Rust Compiler Midyear Report for 2022
blog.rust-lang.org

Please welcome Dan to Library Contributors
blog.rust-lang.org

Foundation
Trademark Policy: Review and Survey
foundation.rust-lang.org

Newsletters
This Month in Rust OSDev: July 2022
rust-osdev.com

Project/Tooling Updates
Announcing: MiniRust
www.ralfj.de

Achieving A Completely Open Source Implementation of Apple Code Signing and Notarization
gregoryszorc.com

Announcing Cargo WAPM
adventures.michaelfbryan.com

argmin 0.6.0 and argmin-math 0.1.0 released
argmin-rs.org

rust-analyzer changelog #141
rust-analyzer.github.io

Fyrox 0.27 Feature Highlights
fyrox.rs

rustc_codegen_gcc: Progress Report #14
blog.antoyo.xyz

IntelliJ Rust: Updates For the 2022.2 Release Cycle
blog.jetbrains.com

Fornjot (code-first CAD in Rust) - Weekly Release - 2022-W32
www.fornjot.app

Fang, async background processing for Rust
pxp9.github.io

HexoSynth 2022 - Devlog #8 - A Visual DSP Programming Language
m8geil.de

This week in Databend #54: A Modern Cloud Data Warehouse for Everyone
weekly.databend.rs

Observations/Thoughts
Using unwrap() in Rust is Okay
blog.burntsushi.net

A performance retrospective using Rust (part 3)
agourlay.github.io

The State Of Rust In 2022
deprogrammaticaipsum.com

Blocking Sockets and Async
www.thecodedmessage.com

How does Rust async work?
aidancully.blogspot.com

Basic Operator Overloading with Traits
rsdlt.onrender.com

Rust Walkthroughs
Understanding Rust generics and how to use them
blog.logrocket.com

Hot Reloading Rust — for Fun and Faster Feedback Cycles
robert.kra.hn

The Magic of zerocopy (compared with scroll)
swatinem.de

Not a Yoking Matter (Zero-Copy #1)
manishearth.github.io

Zero-Copy All The Things! (Zero-Copy #2)
manishearth.github.io

So Zero It's ... Negative? (Zero-Copy #3)
manishearth.github.io

What is server middleware
www.shuttle.rs

Rust and WebAssembly without a Bundler
tung.github.io

What are Rust's HTTP extensions?
blog.adamchalmers.com

Mapping into the serde data model
owengage.com

Generate Enum Variant with associated values in Rust Analyzer
dorianlistens.com

7 ways to pass a string between 🦀 Rust and C
dev.to

STM32F4 Embedded Rust at the HAL: I2C Temperature & Pressure Sensing with BMP180
apollolabsblog.hashnode.dev

Miscellaneous
EuroRust CFP
www.papercall.io

Bevy Jam #2
itch.io

Rust Arcade: Designing a Custom Arcade Machine
www.youtube.com
Crate of the week: fang

This week's crate is fang an async background processing crate.
Updates from Rust Community

Official
Announcing Rust 1.63.0
blog.rust-lang.org

Contribute to the diagnostic translation effort!
blog.rust-lang.org

Newsletters
This Month in Rust GameDev #36
gamedev.rs

Project/Tooling Updates
rust-analyzer changelog #142
rust-analyzer.github.io

IntelliJ Rust Changelog #176
intellij-rust.github.io

Introducing Rust Sitter
www.shadaj.me

SecureStore 0.100: KISS, git-versioned secrets management for rust
neosmart.net

This week in Fluvio #42: The programmable streaming platform
www.fluvio.io

HexoSynth 2022 - Devlog #9 - MIDI Note and CC Handling
m8geil.de

Rust Search Extension v1.8.0 has been released.
rust.extension.sh

This week in Databend #55: A Modern Cloud Data Warehouse for Everyone
weekly.databend.rs

Observations/Thoughts
Comparing Rust's and C++'s Concurrency Library
blog.m-ou.se

Kernel Driver with Rust in 2022
not-matthias.github.io

IntoIterator and the for ... in Syntax in Rust
www.geekabyte.io

Rust in Perspective — linusw
people.kernel.org

6 Things I Wish I Knew Starting with Embedded Rust
apollolabsblog.hashnode.dev

Rust Walkthroughs
Exploring Traits with Erased serde
www.thecodedmessage.com

Rust and Neovim - A Thorough Guide and Walkthrough
rsdlt.github.io

Get Started with Rust: Structs
serokell.io

Hooking Go from Rust - Hitchhiker’s Guide to the Go-laxy
metalbear.co

Using the Kani Rust Verifier on Tokio Bytes
model-checking.github.io

[video] Rust image viewer from scratch
www.youtube.com

[video] Rust is not a faster horse (why Rust is different)
www.youtube.com

[video] Fiberplane's path to full-stack WASM development
www.youtube.com

Research
Integrating fault injection in development workflows
blog.ledger.com

Miscellaneous
Rust Iterator pattern with iter(), into_iter() and iter_mut() methods
www.geekabyte.io

[DE] Rust: Makros - Einführung in ein unverzichtbares Werkzeug
www.heise.de

[DE] Rust 1.63 bekommt Threads, die sich Daten ausleihen dürfen
www.heise.de