pub ThisWeekInRust {} – Telegram
pub ThisWeekInRust {}
992 subscribers
2 photos
2.41K 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
Updates from Rust Community

Official
Async Rust in 2022
blog.rust-lang.org

Foundation
Member Spotlight: Zama
foundation.rust-lang.org

Project/Tooling Updates
Rust Analyzer Changelog #115
rust-analyzer.github.io

GCC Rust Monthly Report #13 January 2022
thephilbert.io

tracing: Announcing Experimental valuable Support
tokio-rs/tracing/discussions/1906

Arti 0.0.4 is released: Refactoring, rustls, and more!
blog.torproject.org

Nushell v0.44
www.nushell.sh

Rust API for the Firefox Profiler
blog.mozilla.org

This week in Fluvio #21: the programmable streaming platform
www.fluvio.io

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

SixtyFPS (GUI crate): Changelog for 06th of February 2022
sixtyfps.io

Announcing BonsaiDb v0.1.0: A Rust NoSQL database that grows with you
bonsaidb.io

Fornjot (Code-CAD in Rust) - Weekly Dev Log
www.fornjot.app

Knurling-rs changelog #33
ferrous-systems.com

Open-sourcing update-informer: a highly customizable Rust library for CLI apps
evrone.com

Newsletters
This Month in Rust OSDev (January 2022)
rust-osdev.com

Rust Nigeria #2 - January 2022
rustnigeria.curated.co

Observations/Thoughts
Minor Semver Issue
epage.github.io

A first look at Sycamore's new reactive primitives
sycamore-rs.netlify.app

Rustenstein 3D: Game programming like it's 1992
tech.nextroll.com

Hot Reloading Rust: Windows and Linux
johnaustin.io

Past, present and future of rust-protobuf
stepancheg/rust-protobuf/blob/master/doc/past-present-future.md

An optimization story
tinkering.xyz

Sayonara, Mozilla
kvark.github.io

Some mistakes Rust doesn't catch
fasterthanli.me

The simplest guide to error handling in Rust
kerkour.com

Vangers 3D: example of using Emnoscripten in Rust
https://caiiiycuk.medium.com/vangers-3d-example-of-using-emnoscripten-in-rust-720ee8099d72

My Rust Book: Language for the next 40 years
dev.to

[RU] Вангеры 3D: пример использования Emnoscripten в Rust
habr.com

[ZH] 为什么 Rust 没有继承?Why doesn't Rust have inheritance?
fengliang.io

[audio] Building with Rust: Josh Triplett on Building the Build System of his Dreams
anchor.fm

[video] Top 6 Books to learn the Rust Programming Language in 2022
www.youtube.com

[video] Rust 101 Lecture Series
www.youtube.com

Rust Walkthroughs
Rust Turbofish: Closure Return Type
blog.aloni.org

Downcasting in Rust
ysantos.com

Crafting A Lox Interpreter In Rust, Part 1
www.diegofreijo.com

Let's create an app in webassembly
infinite-improbability.org

RISC-V Bytes: Rust Cross-Compilation
danielmangum.com

ESP32 MQTT Publish with Rust
medium.com/iotics

Containerless! How to Run WebAssembly Workloads on Kubernetes with Rust
developer.okta.com

The foundations of end-to-end encryption: Domain separation (with code example in Rust)
kerkour.com

Compiler Adventures, part 1: No-op Instructions
medium.com/@predrag.gruevski

[video] Desktop UIs with Rust and React
www.youtube.com

[series] [video] Rust Embedded for STM32 Microcontrollers - Cross-compilation
youtu.be

[series] [video] Rust Embedded for STM32 Microcontrollers - HAL Crates
youtu.be

Miscellaneous
Kraken Funds Full-Time Bitcoin Rust Maintainer
blog.kraken.com
Crate of the week: document-features

This week's crate is document-features, a small proc macro to parse your Cargo.toml and generate docs for your features.
Updates from core

support custom options for LLVM build
rust-lang/rust/pull/93756

store rlink data in opaque binary format on disk
rust-lang/rust/pull/93681

fix incorrect register conflict detection in asm!
rust-lang/rust/pull/93868

fix regression from lazy opaque types
rust-lang/rust/pull/93783

make span_extend_to_prev_str() more robust
rust-lang/rust/pull/91607

better suggestions when user tries to collect into an unsized [_]
rust-lang/rust/pull/91443

do not suggest char literal for zero-length strings
rust-lang/rust/pull/92715

improve opaque type higher-ranked region error message under NLL
rust-lang/rust/pull/92306

point at type when a static #[global_allocator] doesn't impl GlobalAlloc
rust-lang/rust/pull/91950

make find_similar_impl_candidates even fuzzier
rust-lang/rust/pull/93298

implement tainted_by_errors in MIR borrowck, use it to skip CTFE
rust-lang/rust/pull/93691

more informative error message for E0015
rust-lang/rust/pull/90532

miri: implement const_allocate intrinsic
rust-lang/miri/pull/1973

miri: implement const_deallocate as a no-op
rust-lang/miri/pull/1974

stabilise is_aarch64_feature_detected! under simd_aarch64 feature
rust-lang/rust/pull/90271

stabilise inherent_ascii_escape
rust-lang/rust/pull/93886

stabilize cfg_target_has_atomic
rust-lang/rust/pull/93824

stabilize int_abs_diff
rust-lang/rust/pull/93735

fix HashMap not displaying correctly in VS debugger
rust-lang/rust/pull/93626

add From<u8> for ExitCode
rust-lang/rust/pull/93445

add str::{floor, ceil}_char_boundary methods
rust-lang/rust/pull/86497

std::path::absolute
rust-lang/rust/pull/91673

implement AsFd for &T and &mut T
rust-lang/rust/pull/93888

make Instant::{duration_since, elapsed, sub} saturating and remove workarounds
rust-lang/rust/pull/89926

clippy: fix transmute_undefined_repr with single field #[repr(C)] structs
rust-lang/rust-clippy/pull/8425

rustfmt: fix incorrect string indentation in macro defs with format_strings
rust-lang/rustfmt/pull/5201

rustfmt: leverage itemized blocks to support formatting markdown block quotes
rust-lang/rustfmt/pull/5160
👍2
Updates from Rust Community

Official
Rust Survey 2021 Results
blog.rust-lang.org

CTCFT 2022-02-21 Agenda
blog.rust-lang.org

Crates.io Index Snapshot Branches Moving
blog.rust-lang.org

Project/Tooling Updates
Fornjot (Code-CAD in Rust) - Weekly Dev Log - 2022-W06
www.fornjot.app

Performance Tools Newsletter (Q4 2021)
blog.mozilla.org

rsadsb: v0.5.0 Release
rsadsb.github.io

SixtyFPS becomes Slint
slint-ui.com

This week in Fluvio #22: the programmable streaming platform
www.fluvio.io

Rust Analyzer Changelog #116
rust-analyzer.github.io

GCC Rust Weekly Status Report 39
thephilbert.io

cargo-mutants 0.2.0: A new mutation testing tool for Rust
sourcefrog/cargo-mutants#readme

This week in Databend #29: an elastic and reliable cloud warehouse
weekly.databend.rs

Newsletters
This Month in Rust GameDev #30 - January 2022
gamedev.rs

Research
Learning and Programming Challenges of Rust: A Mixed-Methods Study
songlh.github.io

Observations/Thoughts
A Rust match made in hell
fasterthanli.me

Dare to ask for more #rust2024
smallcultfollowing.com

More Enum Types
blog.yoshuawuyts.com

My Rust Frontend Experiences
blog.urth.org

What is Rust's hole purpose?
blog.pnkfx.org

Mocking Time in Async Rust
www.ditto.live

Plugins in Rust: Getting our Hands Dirty
nullderef.com

Async IO fundamentals
www.ncameron.org

Async read and write traits
www.ncameron.org

PostgreSQL Aggregates with Rust
hoverbear.org

[ZH] 为什么我们要Associated Type?Why do we need Associated Type?
fengliang.io

Rust Walkthroughs
rsadsb: Raspberry Pi in-car ADS-B Display - with Rust!
rsadsb.github.io

Computing image filters with wgpu-rs
blog.redwarp.app

Let’s Build a WebSockets Project With Rust and Yew 0.19
https://fsjohnny.medium.com/lets-build-a-websockets-project-with-rust-and-yew-0-19-60720367399f

How to build a custom blockchain implementation in Rust using Substrate
blog.logrocket.com

Rust on iOS and Mac Catalyst: A Simple, Updated Guide
nadim.computer

Futures Concurrency III
blog.yoshuawuyts.com

Frontend Rust Without Node
blog.urth.org

Implementing a custom async runtime in a game engine
domwillia.ms

Assertion reporting
hole.tuziwo.info

[video] Implementing the NTFS filesystem in Rust
fosdem.org

[video] Rust Project: Deserialization with Serde
www.youtube.com

[video] 5 Tips for Rust Beginners
www.youtube.com

[video] Developing Embedded Applications in Rust
www.youtube.com

[series] [video] Rust Embedded for STM32 Microcontrollers - I2C protocol (part 1)
www.youtube.com

[series] [video] Rust Embedded for STM32 Microcontrollers - I2C protocol (with reference manual!)(part 2)
www.youtube.com

[series] [video] Writing a Programming Language (in Rust) 15: Implementing this
www.youtube.com

Miscellaneous
Rust core team alumni
brson.github.io

Crane Support for Alternative Registries and Git Dependencies
ipetkov.dev

Sustainability with Rust
aws.amazon.com

Rotating log files and reassembling them for inspection
www.openanalytics.eu

[DE] Grafische User-Interfaces: SixtyFPS-Toolkit aus Berlin als Slint überarbeitet
www.heise.de
👍2
Crate of the week: assay

This week's crate is assay, a test macro that puts each test in its own process and filesystem.
Updates from core

upgrade to LLVM 14
rust-lang/rust/pull/93577

compiler-builtins: handle Win64 builtins ABI change in LLVM 14
rust-lang/compiler-builtins/pull/455

add MemTagSanitizer Support
rust-lang/rust/pull/91675

put crate metadata first in the rlib
rust-lang/rust/pull/93816

debuginfo: support fat pointers to unsized tuples
rust-lang/rust/pull/94050

extend uninhabited enum variant branch elimination to also affect fallthrough
rust-lang/rust/pull/93387

fix inconsistent symbol mangling with -Zverbose
rust-lang/rust/pull/94037

fix pretty printing of enums without variants
rust-lang/rust/pull/94093

improve unused_unsafe lint
rust-lang/rust/pull/93678

add more info and suggestions to use of #[test] on invalid items
rust-lang/rust/pull/92959

do not suggest "is a function" for free variables
rust-lang/rust/pull/93996

suggest impl Trait return type when incorrectly using a generic return type
rust-lang/rust/pull/89892

suggest copying trait associated type bounds on lifetime error
rust-lang/rust/pull/92683

suggest deriving required supertraits
rust-lang/rust/pull/93693

suggest using raw strings when invalid escapes appear in literals
rust-lang/rust/pull/93999

correctly mark the span of captured arguments in format_args!()
rust-lang/rust/pull/94030

deny mixing bin crate type with lib crate types
rust-lang/rust/pull/92933

normalize obligation and expected trait_refs in confirm_poly_trait_refs
rust-lang/rust/pull/94108

only mark projection as ambiguous if GAT substs are constrained
rust-lang/rust/pull/93892

generator drop tracking: improve break and continue handling
rust-lang/rust/pull/93752

overhaul interning
rust-lang/rust/pull/93148

support pretty printing of invalid constants
rust-lang/rust/pull/94020

add mentions to Copy types being valid for union fields
rust-lang/rust/pull/94031

stabilize #[cfg(panic = "...")]
rust-lang/rust/pull/93658

do not ICE when inlining a function with un-satisfiable bounds
rust-lang/rust/pull/93024

fix ICE when using Box<T, A> with pointer sized A
rust-lang/rust/pull/94043

fix ScalarInt to char conversion
rust-lang/rust/pull/94086

make [u8]::cmp implementation branchless
rust-lang/rust/pull/93962

add a try_collect() helper method to Iterator
rust-lang/rust/pull/94041

add basic platform support to library/{panic_}unwind for m68k
rust-lang/rust/pull/93949

add a stack-pin!-ning macro to core::pin
rust-lang/rust/pull/93176

stabilize pin_static_ref
rust-lang/rust/pull/93580

core: implement ASCII trim functions on byte slices
rust-lang/rust/pull/93686

asm: allow the use of r8-r14 as clobbers on Thumb1
rust-lang/rust/pull/93877

futures: fix Sync impl of BiLockGuard
rust-lang/futures-rs/pull/2570

cargo new should not add ignore rule on Cargo.lock inside subdirs
rust-lang/cargo/pull/10379

rustdoc: buffer JSON output
rust-lang/rust/pull/93954

rustdoc: avoid duplicating macros in sidebar
rust-lang/rust/pull/94002

rustdoc: collect traits in scope for lang items
rust-lang/rust/pull/93766

rustdoc: resolve intra-doc links when checking HTML
rust-lang/rust/pull/93605

rustdoc: add --scrape-tests option to scrape functions marked #[test]
rust-lang/rust/pull/93497

clippy: move transmute_undefined_repr back to nursery
rust-lang/rust/pull/94014

clippy: don't lint Default::default if it is the udpate syntax base
rust-lang/rust-clippy/pull/8433

clippy: don't lint match expressions with cfged arms
rust-lang/rust-clippy/pull/8443

clippy: don't lint needless_borrow in method receiver positions
rust-lang/rust-clippy/pull/8441

clippy: fix await_holding_lock not linting parking_lot Mutex/RwLock
rust-lang/rust-clippy/pull/8419

clippy: improve redundant_slicing lint
rust-lang/rust-clippy/pull/8218

clippy: lint enum-to-int casts with cast_possible_truncation
rust-lang/rust-clippy/pull/8381

clippy: some more fixes for transmute_undefined_repr
rust-lang/rust-clippy/pull/8440

clippy: new lint: recursive_format_impl
rust-lang/rust-clippy/pull/8188

clippy: trigger ptr_as_ptr inside macros
rust-lang/rust-clippy/pull/8442
Updates from Rust Community

Official
rust-analyzer joins the Rust organization!
blog.rust-lang.org

Rust Compiler February 2022 Steering Cycle
blog.rust-lang.org

Lang team February update
blog.rust-lang.org

Rust Compiler Ambitions for 2022
blog.rust-lang.org

Foundation
Member Spotlight: simplabs
foundation.rust-lang.org

Rust Foundation Attracts Top Talent to Senior Leadership Roles
foundation.rust-lang.org

Project/Tooling Updates
Announcing Tokio Metrics 0.1
tokio.rs

Rust-Analyzer Changelog #117
rust-analyzer.github.io

clap 3.1: A step towards 4.0
epage.github.io

Zellij 0.25.0: floating panes, Tmux mode and more!
zellij.dev

Fornjot (Code-CAD in Rust) - Weekly Dev Log - 2022-W07
www.fornjot.app

Hurl 1.6.0, a tool for running and testing HTTP requests with plain text
hurl.dev

Slint (former SixtyFPS, UI crate) Project Update
slint-ui.com

This week in Fluvio #23: the programmable streaming platform
www.fluvio.io

Research
Verifying Dynamic Trait Objects in Rust
www.cs.cornell.edu

Observations/Thoughts
We need to talk about RFCs
www.ncameron.org

Analyzing unsized variables in Rust
poignardazur.github.io

pip and cargo are not the same
blog.williammanley.net

hyper 1.0 timeline
seanmonstar.com

We’re Porting Our Database Drivers to Async Rust
www.scylladb.com

We're choosing Rust, and not Go, C++, or Node.js
symless.com

Belgium Rust Meetup (February 3 2022): async Qt, bubbly bubblesorts and how to win hackathons.
video.rubdos.be

Rust Walkthroughs
Embedding a JavaScript Engine (quickjs) in a Rust Project
andrieshiemstra/ScriptExtensionLayerExample

Which Rust web framework to choose in 2022 (with code examples)
kerkour.com

Annotating a compile-time value to a rust struct
lukas-prokop.at

Type inference in ogma using graphs
www.kurtlawrence.info

Compiler Adventures, part 2: Constant Propagation
medium.com/@predrag.gruevski

Bevy Minesweeper Series' Articles
dev.to

Rust for web devs: Destructuring
paulbutler.org

Checking Tailwind Class Names at Compile Time with Rust
blog.urth.org

Building a Blockchain Oracle for Solana
medium.com/loadsys-solutions

[video] Tokio Axum with David Pedersen
www.youtube.com

[video] Developing Embedded Rust Drivers with Pretty HAL Machine
www.youtube.com

[video] Rust Project: Custom Deserialization with Serde
www.youtube.com

[series] [video] Writing a Programming Language (in Rust) 16: Evaluating object keys
www.youtube.com

[series] [video] Writing a Programming Language (in Rust) 17: else if statements and index ranges
www.youtube.com

Miscellaneous
RustFest LATAM is on! 🦀
rustfest.world

AWS: Here's why we are investing in the Rust programming language
www.zdnet.com

[DE] Programmiersprache: Rust legt im produktiven Einsatz zu
www.heise.de
Crate of the week: cargo-nextest

This week's crate is cargo-nextest, a new fast test runner for Rust.
Updates from core

apply noundef attribute to all scalar types which do not permit raw init
rust-lang/rust/pull/94157

apply noundef metadata to loads of types that do not permit raw init
rust-lang/rust/pull/94158

suggest a float literal when dividing a floating-point type by {integer}
rust-lang/rust/pull/94078

suggest adding { .. } around more bad const generic exprs
rust-lang/rust/pull/92884

suggest calling .display() on PathBuf too
rust-lang/rust/pull/94240

do not suggest using a const parameter when there are bounds on an unused type parameter
rust-lang/rust/pull/93400

do not suggest wrapping an item if it has ambiguous un-imported methods
rust-lang/rust/pull/94237

diagnostic: suggest parens when users want logical ops, but get closures
rust-lang/rust/pull/94344

better error if the user tries to do assignment ... else
rust-lang/rust/pull/94211

rustc_errors: let DiagnosticBuilder::emit return a "guarantee of emission"
rust-lang/rust/pull/93368

consider mutations as borrows in generator drop tracking
rust-lang/rust/pull/94068

miri: prune backtraces similar to RUST_BACKTRACE=1 logic
rust-lang/miri/pull/1977

miri: prune stacktraces for tag-tracking diagnostics too
rust-lang/miri/pull/1987

fix ICE when passing block to while-loop condition
rust-lang/rust/pull/94248

fix ICE when using Box<T, A> with large A
rust-lang/rust/pull/94414

convert newtype_index to a proc macro
rust-lang/rust/pull/93878

gracefully handle non-UTF-8 string slices when pretty printing
rust-lang/rust/pull/94156

improve string literal unescaping
rust-lang/rust/pull/94316

introduce ChunkedBitSet and use it for some dataflow analyses
rust-lang/rust/pull/93984

simplify rustc_serialize by dropping support for decoding into JSON
rust-lang/rust/pull/93839

only create a single expansion for each inline integration
rust-lang/rust/pull/94427

remove in band lifetimes
rust-lang/rust/pull/93845

codegen_gcc: add support for on_stack parameters
rust-lang/rustc_codegen_gcc/pull/135

codegen_gcc: don't export global allocs which are not statics
rust-lang/rustc_codegen_gcc/pull/133

codegen_gcc: fix miscompilation when cg_ssa is using multiple builders at the same time
rust-lang/rustc_codegen_gcc/pull/131

codegen_gcc: support -Cpanic=unwind without unwinding
rust-lang/rustc_codegen_gcc/pull/132

implement LowerHex on Scalar to clean up their display in rustdoc
rust-lang/rust/pull/94189

add slice::{from_ptr_range, from_mut_ptr_range}
rust-lang/rust/pull/89793

futures: FuturesUnordered: fix partial iteration
rust-lang/futures-rs/pull/2574

portable-simd: bitmask conversion trait
rust-lang/portable-simd/pull/239

cargo: implement "artifact dependencies" (RFC #3028)
rust-lang/cargo/pull/9992

cargo: add -Z check-cfg-features to enable compile-time checking of features
rust-lang/cargo/pull/10408

cargo: add common profile validation
rust-lang/cargo/pull/10411

cargo: enable propagating host rustflags to build noscripts
rust-lang/cargo/pull/10395

clippy: add print_in_format_impl lint
rust-lang/rust-clippy/pull/8253

clippy: disable new-without-default for #[doc(hidden)] new() methods
rust-lang/rust-clippy/pull/8472

clippy: false positive redundant_closure when using ref pattern in closure params
rust-lang/rust-clippy/pull/8466

clippy: fix ptr_arg
rust-lang/rust-clippy/pull/8464

clippy: fix some unnecessary_filter_map false positives
rust-lang/rust-clippy/pull/8479

clippy: fix false positives of large_enum_variant
rust-lang/rust-clippy/pull/8453
Updates from Rust Community

Official
Announcing Rust 1.59.0
blog.rust-lang.org

Project/Tooling Updates
Rust-Analyzer Changelog #118
rust-analyzer.github.io

GCC Rust Monthly Report #14 February 2022
thephilbert.io

rustc_codegen_gcc: Progress Report #9
blog.antoyo.xyz

Announcing Actix Web v4.0
actix/actix-web/wiki/v4-Announcement

Fornjot (Code-CAD in Rust) - Weekly Dev Log - 2022-W08
www.fornjot.app

Slint (formerly SixtyFPS, UI crate) weekly update
slint-ui.com

Announcing Rust runtime for AWS Lambda 0.5
awslabs/aws-lambda-rust-runtime/releases/tag/v0.5.0

BonsaiDb February update: Supporting and Optimizing BonsaiDb
bonsaidb.io

Wasmer 2.2: Major Singlepass Improvements
wasmer.io

OpenMLS v0.4 Release
openmls.tech

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

Research
Assessing the alignment between the information needs of developers and the documentation of programming languages: A case study on Rust
arxiv.org

[video] Talk on Pattern-defeating Quicksort, the algorithm behind sort_unstable
www.youtube.com

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

IDEs and proc-macros
veykril.github.io

Mental models for learning Rust
kerkour.com

Warnings and Linter Errors: The Awkward Middle Children
www.thecodedmessage.com

CXX-Qt - Safe Rust Bindings for Qt
www.kdab.com

TreeFlat: Building a (possible) faster tree for Rust, inspired by APL
www.elmalabarista.com

Discussion: New unchecked keyword
ohsayan.github.io

[video] Rust's Vision in 2022
www.youtube.com

[ZH] [audio] 与黄光星畅聊 Rust、Redis 与新加坡
rusttalk.github.io

Rust Walkthroughs
Rust's Rules are Made to Be Broken
blog.warp.dev

The foundations of end-to-end encryption: Key exchange (with code example in Rust)
kerkour.com

Background jobs in Rust
kerkour.com

Shaking off the Rust
www.sotr.blog/

Integrating Rust With Android Development
blog.devgenius.io

A taste of Rust
www.hacklewayne.com

Rust: Adding default cargo features without breaking Semantic Versioning
slint-ui.com

Highway to the TrustZone (Using Rust with TrustZone-M)
blog.m10.io

Building a new graphics engine in Rust - Part 2
www.polymonster.co.uk

[DE] Ferris Talk #6: Ein neuer Trick für die Formatstrings in Rust
www.heise.de

[series] [video] Writing a Programming Language (in Rust) 18: Laurel: Calling a string as a process
www.youtube.com

[series] [video] Writing a Programming Language (in Rust) 19: Laurel: Streamlining subcommands
www.youtube.com

Miscellaneous
Modern Telecom Network Tracing
oxio.com

Achieving >1TB/hr backup speed by implementing the core client-side data pipeline in Rust
www.druva.com

Black Hat Rust Cyberwar Discount
kerkour.com

[DE] Programmiersprache Rust 1.59 integriert Assembler-Code
www.heise.de
👍3😢1
Crate of the week: prae

This week's crate is prae, a crate with macros to define types with inbuilt invariants.
👍5
Updates from core

implement thread local cell methods (RFC #3184)
rust-lang/rust/pull/92123

implement the expect attribute (RFC #2383)
rust-lang/rust/pull/87835

Adt copy suggestions
rust-lang/rust/pull/94375

do not point at whole file missing fn main
rust-lang/rust/pull/93142

downgrade #[test] on macro call to warning
rust-lang/rust/pull/94624

generalize "remove &" and "add *" suggestions to more than one deref
rust-lang/rust/pull/91545

lint against more useless #[must_use] attributes
rust-lang/rust/pull/93926

improve unexpected_cfgs lint when their is no value expected
rust-lang/rust/pull/94561

improve allowness of the unexpected_cfgs lint
rust-lang/rust/pull/94433

improve error message for failed bitcode load
rust-lang/rust/pull/94672

suggest adding a new lifetime parameter when two elided lifetimes should match up for traits and impls
rust-lang/rust/pull/94464

suggest removing a semicolon after derive attributes
rust-lang/rust/pull/94633

caching the stable hash of Ty within itself
rust-lang/rust/pull/94299

clarify Layout interning
rust-lang/rust/pull/94690

introduce ConstAllocation
rust-lang/rust/pull/94597

chalk: recursive: fix hang on fulfill by slightly smarter check for progress
rust-lang/chalk/pull/752

miri: make sure we notice when a u16 is loaded at offset 1 into a u8 allocation
rust-lang/miri/pull/1994

miri: add more simd_reduce intrinsics
rust-lang/miri/pull/2001

miri: adjust for div/rem overflow being UB
rust-lang/miri/pull/1992

miri: also test f32/f64 simd_reduce
rust-lang/miri/pull/2003

miri: implement missing SIMD comparison operators, simd_xor, and simd_reduce_all
rust-lang/miri/pull/2000

miri: implement more SIMD intrinsics
rust-lang/miri/pull/2004

miri: implement simd_neg and simd_fabs
rust-lang/miri/pull/1997

miri: implement simd_saturating intrinsics
rust-lang/miri/pull/2007

stabilize const_fn_fn_ptr_basics, const_fn_trait_bound, and const_impl_trait
rust-lang/rust/pull/93827

add #[track_caller] to track callers when initializing poisoned Once
rust-lang/rust/pull/94236

add Atomic*::from_mut_slice
rust-lang/rust/pull/94384

portable SIMD: add bitmask i{N <8} -> u8 impls
rust-lang/portable-simd/pull/250

futures: Shared: fix false detection of inner panics
rust-lang/futures-rs/pull/2576

support GATs in Rustdoc
rust-lang/rust/pull/94009

rustfmt: fix missing struct field separators under certain conditions
rust-lang/rustfmt/pull/5159

rustfmt: prevent wrapping markdown headers in doc comments
rust-lang/rustfmt/pull/5242

rustfmt: fallback to dir_path when relative external mod resolution fails
rust-lang/rustfmt/pull/5205

clippy: add unnecessary-find-map lint
rust-lang/rust-clippy/pull/8489

clippy: add lint to detect allow attributes without reason
rust-lang/rust-clippy/pull/8504

clippy: lint for casting between raw slice pointers with different element sizes
rust-lang/rust-clippy/pull/8445

clippy: new lint: missing-spin-loop
rust-lang/rust-clippy/pull/8174

clippy: use .into_iter() rather than .drain(..)
rust-lang/rust-clippy/pull/8483

clippy: check use_self in pat
rust-lang/rust-clippy/pull/8456

clippy: omit dbg-macro in test code
rust-lang/rust-clippy/pull/8500

clippy: optimize redundant-clone
rust-lang/rust-clippy/pull/8414

clippy: transmute-undefined-repr to nursery again
rust-lang/rust-clippy/pull/8432
Updates from Rust Community

Official
Rust Foundation
foundation.rust-lang.org

Security advisory for the regex crate (CVE-2022-24713)
blog.rust-lang.org

Newsletters
Rust Nigeria Community Newsletter
rustnigeria.curated.co

Project/Tooling Updates
Fornjot (Code-CAD in Rust) - Weekly Dev Log - 2022-W09
www.fornjot.app

This week in Fluvio #24: the programmable streaming platform
www.fluvio.io

This Month in Rust OSDev: February 2022 | Rust OSDev
rust-osdev.com

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

Rust-Analyzer Changelog #119
rust-analyzer.github.io

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

[DE] WebAssembly-Runtime: Wasmer 2.2 liefert mehr Leistung im Singlepass Compiler
www.heise.de

Observations/Thoughts
Safe Pin projections through view types
blog.yoshuawuyts.com

Improving Criterion.rs
www.tweag.io

Request coalescing in async Rust
fasterthanli.me

Hyper’s Vision
seanmonstar.com

Introduction - Effective Rust
www.lurklurk.org

Rust Walkthroughs
Functional Programming in Rust
kerkour.com

Fuzzing unsafe code in a Rust crate
medium.com/@adetaylor

Mint tokens on Solana using the Rust SDK
https://kristohb.medium.com/mint-tokens-on-solana-using-the-rust-sdk-3b05b07ca842

Implementing a size-bounded LRU cache with expiring entries for my DNS server (in Rust)
memo.barrucadu.co.uk

[series] [video] Writing a Programming Language (in Rust) 20: Laurel: Porting a bash noscript to Laurel
www.youtube.com

[series] [video] Writing a Programming Language (in Rust) 21: Laurel: Type methods
www.youtube.com

Miscellaneous
SAE seeking volunteers for SAfEr Rust Task Force
connection.sae.org

[audio] What's New in Rust 1.58 and 1.59 :: Rustacean Station
rustacean-station.org

[audio] Tor with Nick Mathewson :: Rustacean Station
rustacean-station.org

[video] Implementing and Optimizing a Wordle Solver in Rust
www.youtube.com
👍1
Crate of the week: cfb

This week's crate is cfb, a crate to read/write Compound File Binary (structured storage) files.
Updates from core

diagnostics: do not spuriously claim something is "not an iterator"
rust-lang/rust/pull/94870

diagnostics: single colon within <> probably, not type anoscription
rust-lang/rust/pull/94865

improve suggestion when casting usize to (possibly) wide pointer
rust-lang/rust/pull/92150

warn users about || in let chain expressions
rust-lang/rust/pull/94754

suggest if let/let_else for refutable pat in let
rust-lang/rust/pull/94739

suggest using double colon when a struct field type include single colon
rust-lang/rust/pull/94839

miri: implement simd_{shuffle, gather, scatter}
rust-lang/miri/pull/2013

CTFE/Miri: detect out-of-bounds pointers in offset_from
rust-lang/rust/pull/94827

change several HashMaps to IndexMap to improve incremental hashing performance
rust-lang/rust/pull/90253

improve AdtDef interning
rust-lang/rust/pull/94733

optimize ascii::escape_default
rust-lang/rust/pull/94776

make some Clone impls const
rust-lang/rust/pull/91804

remove argument from closure in thread::Scope::spawn
rust-lang/rust/pull/94559

use MaybeUninit in VecDeque to remove the undefined behavior of slice
rust-lang/rust/pull/94472

constify Index{,Mut} for [T], str, and [T; N]
rust-lang/rust/pull/94657

fix soundness issue in scoped threads
rust-lang/rust/pull/94644

implement BITS constant for non-zero integers
rust-lang/rust/pull/93292

implement MIN/MAX constants for non-zero integers
rust-lang/rust/pull/93293

add Result::{ok, err, and, or, unwrap_or} as const
rust-lang/rust/pull/92385

add Atomic*::get_mut_slice
rust-lang/rust/pull/94816

add core::hint::must_use
rust-lang/rust/pull/94723

unix: reduce the size of DirEntry
rust-lang/rust/pull/94750

portable-simd: add .min and .max for integers
rust-lang/portable-simd/pull/260

compiler-builtins: add support for Apple watchOS
rust-lang/compiler-builtins/pull/456

futures: add Mutex::lock_owned and Mutex::try_lock_owned
rust-lang/futures-rs/pull/2571

rustfmt: improve mod resolution error for mods with multiple candidate files
rust-lang/rustfmt/pull/5243

clippy: improve styles of filtering options for Clippy's lint list
rust-lang/rust-clippy/pull/8070

clippy: new lint that detects useless match expression
rust-lang/rust-clippy/pull/8471

clippy: new lint: only_used_in_recursion
rust-lang/rust-clippy/pull/8422

clippy: allow single_component_path_imports for all macros
rust-lang/rust-clippy/pull/8537

clippy: make search_is_somes suggestion MachineApplicable
rust-lang/rust-clippy/pull/8536
Updates from Rust Community

Official
Lang team March update
blog.rust-lang.org

Rust Compiler March 2022 Steering Cycle
blog.rust-lang.org

Newsletters
This Month in Rust GameDev #31 - February 2022
gamedev.rs

Project/Tooling Updates
Rust-Analyzer Changelog #120
rust-analyzer.github.io

Tantivy 0.17 is out | Quickwit
quickwit.io

Knurling-rs changelog #34
ferrous-systems.com

Fornjot (Code-CAD in Rust) - Weekly Dev Log - 2022-W10
www.fornjot.app

Slint Version 0.2.1 released -- weekly update
slint-ui.com

Arti 0.1.0 is released: Your somewhat-stable API is here!
blog.torproject.org

Dioxus v0.2 Release: TUI, Router, Fermi, and Tooling
dioxuslabs.com

Observations/Thoughts
Introducing Rustler Precompiled - Dashbit Blog
dashbit.co

Announcing Savage, a computer algebra system written in Rust
www.reddit.com

Oxide at Home: Propolis says Hello
artemis.sh

Things I hate about Rust, redux
blog.yossarian.net

Async IO with completion-model IO systems
www.ncameron.org

Trannoscript: What's New in Rust 1.58 and 1.59
rustacean-station.org

[video] Rust Gamedev Meetup #14: March 2022
www.youtube.com

[video] Rust fuzzing using cargo-libafl (LibAFL-based fuzzer) - Rust Security #4
www.youtube.com

[audio] Interview with Fish Fight | Rust Game Dev
rustgamedev.com

[audio] PancakeDB with Martin Loncaric :: Rustacean Station
rustacean-station.org

Rust Walkthroughs
An In-Depth Introduction To Idempotency | A learning journal
www.lpalmieri.com

A Rust Gem: The Rust Map API
www.thecodedmessage.com

RPATH, or why lld doesn’t work on NixOS
matklad.github.io

Rust WebAssembly OCR experiments
hugopeixoto.net

Miscellaneous
AUTOSAR announces WG for Rust in automotive
www.autosar.org

[audio] Nick Cameron on Juggling Open Source Work and Parenthood
anchor.fm

[audio] Devtools podcast: building a new terminal in Rust
console.dev