pub ThisWeekInRust {}
691 subscribers
2 photos
2.05K 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: cargo-pgo

This week's crate is cargo-pgo, a cargo subcommand to compile your code with profile-guided optimization and BOLT for good measure.
Updates from Rust Community

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

Slint UI crate weekly updates
slint-ui.com

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

What's new in axum 0.6.0-rc.1
tokio.rs

HexoSynth Modular Synthesizer in Rust - Devlog #10: Alpha-1 Release
m8geil.de

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

Observations/Thoughts
Come contribute to Salsa 2022!
smallcultfollowing.com

State Machines II
blog.yoshuawuyts.com

Rust Walkthroughs
Tauri + Async Rust Process
rfdonnelly.github.io

Writing a container in Rust
litchipi.github.io

Experimentally compiling PHP code to Rust - Ryan Chandler
ryangjchandler.co.uk

STM32F4 Embedded Rust at the HAL: GPIO Interrupts
apollolabsblog.hashnode.dev

[video] Rust Traits vs C++ Concepts
www.youtube.com

[video] Writing Procedural Macros
www.youtube.com

[video] Get under the hood of Rust Language with Assembly!!
www.youtube.com

[video] Scoped threads in Rust 1.63
www.youtube.com

[video] 1Password Developer Fireside Chat: Demystifying Atomics
www.youtube.com
Crate of the week: sass-embedded

This week's crate is sass-embedded, a library to communicate with Embedded Dart Sass.
Updates from core

add the armv4t-none-eabi target to the supported_targets
rust-lang/rust/pull/100641

stabilize split debuginfo on linux
rust-lang/rust/pull/98051

add GDB/LLDB pretty-printers for NonZero types
rust-lang/rust/pull/98301

fix const: dynamic checks for accessing statics
rust-lang/const-eval/pull/70

improve const mismatch FulfillmentError
rust-lang/rust/pull/100437

provide structured suggestion for hashmap[idx] = val
rust-lang/rust/pull/101002

suggest adding a missing semicolon before an item
rust-lang/rust/pull/100565

suggest alternatives when trying to mutate a HashMap/BTreeMap via indexing
rust-lang/rust/pull/100906

use smaller span for suggestions
rust-lang/rust/pull/101055

migrate rustc_attr crate diagnostics
rust-lang/rust/pull/100836

migrate rustc_interface diagnostics
rust-lang/rust/pull/100808

migrate rustc_lint errors to SessionDiagnostic
rust-lang/rust/pull/100776

migrate rustc_plugin_impl to SessionDiagnostic
rust-lang/rust/pull/100768

migrate rustc_ty_utils to SessionDiagnostic
rust-lang/rust/pull/100735

migrate ast lowering to session diagnostic
rust-lang/rust/pull/100724

migrate part of rustc_infer to session diagnostic
rust-lang/rust/pull/100843

migrate rustc_driver to SessionDiagnostic
rust-lang/rust/pull/100890

migrate rustc_mir_dataflow to diagnostic structs
rust-lang/rust/pull/100744

miri: adding support for external C functions that have integer (or empty) args and/or returns
rust-lang/miri/pull/2363

miri: skip field retagging on ZSTs, it can take forever
rust-lang/miri/pull/2517

miri: strengthen C++20 SC accesses
rust-lang/miri/pull/2512

avoid cloning a collection only to iterate over it
rust-lang/rust/pull/100497

reduce code size of assert_matches_failed
rust-lang/rust/pull/100933

shrink FnAbi
rust-lang/rust/pull/100999

shrink thir::Expr
rust-lang/rust/pull/100944

stabilize #![feature(label_break_value)]
rust-lang/rust/pull/99332

stabilize const_ptr_offset_from
rust-lang/rust/pull/96240

stabilize std::io::read_to_string
rust-lang/rust/pull/100337

add a File::create_new constructor
rust-lang/rust/pull/98801

add next_up and next_down for f32/f64
rust-lang/rust/pull/100578

is_whitespace() performance improvements
rust-lang/rust/pull/99487

add pointer masking convenience functions
rust-lang/rust/pull/96946

BTree: evaluate static type-related check at compile time
rust-lang/rust/pull/95005

fix Ipv6Addr::is_unicast_global to check for unicast global scope rebase
rust-lang/rust/pull/99947

windows: optimize Wtf8Buf::into_string for the case where it contains UTF-8
rust-lang/rust/pull/96869

properly forward ByRefSized::fold to the inner iterator
rust-lang/rust/pull/100220

make slice::{split_at, split_at_unchecked} const functions
rust-lang/rust/pull/100076

std::io: migrate ReadBuf to BorrowBuf/BorrowCursor
rust-lang/rust/pull/97015

rustdoc: rewrite error index generator to greatly reduce the size of the pages
rust-lang/rust/pull/100922

clippy: implemented suspicious_to_owned lint to check if to_owned is called on a Cow
rust-lang/rust-clippy/pull/8984

clippy: new lint: Raw slice pointer cast
rust-lang/rust-clippy/pull/9247

clippy: new multi_assignment lint
rust-lang/rust-clippy/pull/9379

clippy: don't lint needless_return if return has attrs
rust-lang/rust-clippy/pull/9381

clippy: don't lint literal None from expansion
rust-lang/rust-clippy/pull/9389

clippy: ignore match_like_matches_macro when there is comment
rust-lang/rust-clippy/pull/9276

clippy: remove parenthesis from unnecessary_cast suggestion
rust-lang/rust-clippy/pull/9385

clippy: rename manual_empty_string_creation and move to pedantic
rust-lang/rust-clippy/pull/9366

rust-analyzer: do not substitute Self when in same impl block
rust-lang/rust-analyzer/pull/13090

rust-analyzer: move empty diagnostics workaround back into the server
rust-lang/rust-analyzer/pull/13133

rust-analyzer: resolve doc links on impl blocks
rust-lang/rust-analyzer/pull/13100

rustc-perf: add a metric containing the size of generated documentation
rust-lang/rustc-perf/pull/1417
Updates from Rust Community

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

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

Diesel 2.0.0
diesel.rs

Helix editor 22.08 released
helix-editor.com

This Month in hyper: August 2022
seanmonstar.com

Fornjot - Weekly Release - 2022-W35
www.fornjot.app

Announcing Sycamore v0.8.0
sycamore-rs.netlify.app

Announcing finl_unicode 1.0.0
www.finl.xyz

Slint UI crate weekly updates
slint-ui.com

argmin 0.7.0 and argmin-math 0.2.0 released
argmin-rs.org

Update-informer v0.5.0
www.mgrachev.com

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

Observations/Thoughts
Solving The Witness with Z3 (Part 1)
www.techofnote.com

Static streams for faster async proxies
blog.adamchalmers.com

Building an authentication system in Rust using session tokens
www.shuttle.rs

OpenTelemetry Distributed Tracing in Rust
www.aspecto.io

Toward fearless cargo update
predr.ag

Rust Walkthroughs
Learning Rust: Combinators
kerkour.com

Integrating Rust With Android Development — Final Part
blog.devgenius.io

Rewriting my blog in Rust for fun and profit
www.jonashietala.se

Building A Gamedev Maths Library In Rust From Scratch – Alex Dixon
www.polymonster.co.uk

Pattern Matching and Backwards Compatibility
seanmonstar.com

Writing FreeBSD Kernel Modules in Rust
research.nccgroup.com

[series] Ruxel - Building a Ray Tracer with Rust Part 1
rsdlt.github.io

[series] STM32F4 Embedded Rust at the HAL: Timer Interrupts - Part 2
apollolabsblog.hashnode.dev

[video] Using Rust to understand The Little Schemer
www.youtube.com

[video] Building a Rust Multithreaded Web Server (chapter 20 of Rust Book)
www.youtube.com

Miscellaneous
The Bombercrab Challenge 💥💣🦀
blog.tonari.no

[video] Unsafe Rust is not C
www.youtube.com

[video] Building a space station in Rust (Simple Rust patterns)
www.youtube.com

[video] Arvid Norberg: What C++ engineers can learn from Rust
www.youtube.com
Crate of the week: bytehound

This week's crate is bytehound a memory profiler for Rust.
Updates from Rust Community

Foundation
Hello JFrog!
foundation.rust-lang.org

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

Project/Tooling Updates
Announcing Unreal Rust
maikklein.github.io

Introducing cxx-async
pcwalton.github.io

Arti 1.0.0 is released: Our Rust Tor implementation is ready for production use
blog.torproject.org

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

rustc_codegen_gcc: Progress Report #15
blog.antoyo.xyz

Lapce editor 0.2.0 released
lapce/lapce/releases/tag/v0.2.0

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

HexoSynth 2022 - Devlog #11: VST3/CLAP Plugin Integration
m8geil.de

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

One year of Relm4
relm4.org

Slint UI crate weekly updates
slint-ui.com

Observations/Thoughts
How to Use Rust Traits, Generics and Bounds
rsdlt.github.io

Wasmtime 1.0: A Look at Performance
bytecodealliance.org

Understanding primitive data types in Rust
blog.logrocket.com

[video] RustConf 2022 Talks
www.youtube.com

[video] Rust Education Workshop 2022
www.youtube.com

[audio] Fyrox with Dmitry Stepanov
rustacean-station.org

Rust Walkthroughs
Filtering a Vector with SIMD Instructions (AVX-2 and AVX-512)
quickwit.io

Learning Rust: Async Combinators
kerkour.com

Solving The Witness with Z3 (Part 2)
www.techofnote.com

How to build a (simple) blog using Rust
mortenvistisen.com

STM32F4 Embedded Rust at the HAL: The RTIC Framework
apollolabsblog.hashnode.dev

[video] Nine Rules for Elegant Rust Library APIs
www.youtube.com

Miscellaneous

[DE] Security: FreeBSD-Kernel bekommt experimentelle Rust-Patches

www.golem.de

[DE] Security: FreeBSD-Kernel bekommt experimentelle Rust-Patches
www.golem.de


Random File Lines and Iterator Items: Understanding Reservoir Sampling with Rust

towardsdatascience.com

Random File Lines and Iterator Items: Understanding Reservoir Sampling with Rust
towardsdatascience.com
Crate of the week: sql-query-builder

This week's crate is sql-query-builder, a library to write SQL queries in a simple and composable way.
Updates from Rust Community

Official
Security advisories for Cargo (CVE-2022-36113, CVE-2022-36114)
blog.rust-lang.org

Foundation
Rust Foundation Establishes Security Team to Support and Advance Rust Programming Language
foundation.rust-lang.org

Newsletters
Rust Nigeria Issue #9
rustnigeria.curated.co

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

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

A byte string library for Rust
blog.burntsushi.net

Pomsky 0.7 released
pomsky-lang.org

Slint weekly updates (The GUI framework)
slint-ui.com

Fang 0.9 - new version of the background processing framework for rust
fang.badykov.com

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

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

HexoSynth 2022 - Devlog #12 - Documentation for me and you
m8geil.de

Observations/Thoughts
You Can't Do That: Abstracting over Ownership in Rust with Higher-Rank Type Bounds. Or Can You?
lucumr.pocoo.org

Security and Correctness in Wasmtime
bytecodealliance.org

Attacking Firecracker: AWS' microVM Monitor Written in Rust
www.graplsecurity.com

&stress about &Strings
cooscoos.github.io

A pair of Rust kernel modules
lwn.net

GNU ld Discards Section Containing Code – Section Flags are Important for ELF Files
phip1611.de

Use Rust to Reduce the Size of Your SQLite Database
www.i-programmer.info

[video] Coroutines: C++ vs Rust - Jonathan Müller - C++ on Sea 2022
www.youtube.com

[video] Rust on Rails (write code that never crashes)
www.youtube.com

[video] Let's Code Asteroids in Rust with a First-Time Bevy User
www.youtube.com

[video] Linux Plumbers Conference 2022 - Rust MC
www.youtube.com

[video] [series] Rust Day on Google Open Source Live
www.youtube.com

Rust Walkthroughs
Kernighan software tools in rust
dannas.name

Speeding up incremental Rust compilation with dynamic libraries
robert.kra.hn

Learning Rust by implementing a SHA-1 hash cracker
kerkour.com

Chat Blast! A TCP chat server in Rust
www.superperfundo.tech

Concurrency in RustDb
rustdb.wordpress.com

Beginners guide to Solana NFTs in Rust.
medium.com/@jacob_62353

STM32F4 Embedded Rust at the HAL: DMA Controllers
apollolabsblog.hashnode.dev

Miscellaneous
[FR] Rejoignez la communauté Rust (et devenez un "rustacé")
news.gandi.net

[DE] Moderne Spieleprogrammierung mit dem Entity Component System und der Engine Bevy
www.heise.de

[DE] Programmieren mit Rust für den FreeBSD-Kernel
www.heise.de
Crate of the week: bstr

This week's crate is bstr, a fast and featureful byte-string library.
Updates from Rust Community

Official
Const Eval (Un)Safety Rules
blog.rust-lang.org

Project/Tooling Updates
Wasmtime Reaches 1.0: Fast, Safe and Production Ready!
bytecodealliance.org

clap 4.0, a Rust CLI argument parser
epage.github.io

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

Announcing tauri-egui 0.1.0
tauri.app

Observations/Thoughts
Aembit: Why We Chose Rust
aembit.io

Ten challenges for Rust
www.ncameron.org

Futures Concurrency IV: Join Ergonomics
blog.yoshuawuyts.com

Dyn async traits, part 8: the soul of Rust
smallcultfollowing.com

What I meant by the "soul of Rust"
smallcultfollowing.com

PostgresML is Moving to Rust for our 2.0 Release
postgresml.org

Bringing Up TLS on Precursor
www.crowdsupply.com

[video] curl-up 2022: hyper in curl
www.youtube.com

[audio] Rust at Microsoft with Nell Shamrell-Harrington
rustacean-station.org

[audio] Axum with David Pedersen
rustacean-station.org

Rust Walkthroughs
Implementing the Display Trait on a Generic Array using Newtype Pattern
rsdlt.github.io

A Strong Typing Example
www.thecodedmessage.com

Rust Bevy Entity Component System
blog.logrocket.com

[video] 1Password Developer Fireside Chat: Serde Deserializers
www.youtube.com

[video] Introduction to Async
www.youtube.com

Miscellaneous
Linus Torvalds: Rust will go into Linux 6.1
www.zdnet.com
Crate of the week: match_deref

This week's crate is match_deref, a macro crate to implement deref patterns on stable Rust.
Updates from Rust Community

Official
Announcing Rust 1.64.0 | Rust Blog
blog.rust-lang.org

Newsletters
This Month in Rust GameDev #37 - August 2022
gamedev.rs

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

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

Announcing async-dns
www.reddit.com

Fornjot - Weekly Release - 2022-W39
www.fornjot.app

gitoxide - August: Useful rev-spec parsing and an abstraction for remotes
Byron/gitoxide/discussions/541

Getting Started with Seaography - A GraphQL framework for SeaORM
www.sea-ql.org

Observations/Thoughts
Internship Projects 2022: Concrete Playback
model-checking.github.io

Why Volvo thinks you should have Rust in your car
medium.com/volvo-cars-engineering

Linux embracing Rust will boost robotics community
www.therobotreport.com

Better Java logging, inspired by Clojure and Rust
mccue.dev

Why Async Rust
blog.yoshuawuyts.com

Apache APISIX loves Rust! (and me too)
blog.frankel.ch

Safe pinned initialization
y86-dev.github.io

Enabling Rapid Pulumi Prototyping with Rust
www.pulumi.com

STM32F4 Embedded Rust at the HAL: SPI with the MAX7219 LED Dot Matrix
apollolabsblog.hashnode.dev

[audio] Rustacean Station: Ockam with Mrinal Wadhwa
rustacean-station.org

Rust Walkthroughs
Building a Real-Time Web Cipher with Rust, Sycamore and Trunk
rsdlt.github.io

Dyn async traits, part 9: call-site selection
smallcultfollowing.com

Rust 2024...the year of everywhere?
smallcultfollowing.com

Building Nix flakes from Rust workspaces
www.tweag.io

Accessing Firebird With Diesel and Rust
betterprogramming.pub

Multithreading in Rust
kerkour.com

Flutter and Rust combined
blog.argonauths.eu

Miscellaneous
[DE] CTO von MS Azure: Nehmt Rust für neue Projekte und erklärt C/C++ für überholt!
www.heise.de

[DE] Rust Foundation erhält 460.000 US-Dollar und gründet ein Team für Security
www.heise.de

[DE] Programmiersprache Rust 1.64 erweitert asynchrone Programmierung mit IntoFuture
www.heise.de

[video] Rust & Wasm (Safe and fast web development)
www.youtube.com

[video] Crust of Rust: Build Scripts and Foreign-Function Interfaces (FFI)
www.youtube.com

[video] Bevy Basics Reflect
www.youtube.com
Crate of the week: serde-transcode

This week's crate is serde-transcode, a crate to efficiently convert between various serde-supporting formats