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 core

allow _ as the length of array types and repeat expressions (this implements the closed RFC PR #2545)
rust-lang/rust/pull/91907

cg: split dwarf for crate dependencies
rust-lang/rust/pull/89819

suggest single quotes when char expected, str provided
rust-lang/rust/pull/92507

add a query for resolving an impl item from the trait item
rust-lang/rust/pull/90639

miri: exclude mutable references to !Unpin types from uniqueness guarantees
rust-lang/miri/pull/1952

perf: do not use LEB128 for encoding u16 and i16
rust-lang/rust/pull/92314

rustc_metadata: optimize and document module children decoding
rust-lang/rust/pull/92086

normalize generator-local types with unevaluated constants
rust-lang/rust/pull/92636

normalize struct tail type when checking Pointee trait
rust-lang/rust/pull/92248

constify Box<T, A> methods
rust-lang/rust/pull/91884

do not hash leading zero bytes of i64 numbers in Sip128 hasher
rust-lang/rust/pull/92103

implement TryFrom<char> for u8
rust-lang/rust/pull/84640

implement const casts of raw pointers
rust-lang/rust/pull/92657

stabilize #[feature(available_parallelism)]
rust-lang/rust/pull/92632

stabilize result_cloned and result_copied
rust-lang/rust/pull/92483

modifications to std::io::Stdin on Windows so that there is no longer a 4-byte buffer minimum in read()
rust-lang/rust/pull/91754

core::ops::unsize: improve docs for DispatchFromDyn
rust-lang/rust/pull/91587

hashbrown: don't hash the key when searching in an empty table
rust-lang/hashbrown/pull/305

cargo: support rustflags per profile
rust-lang/cargo/pull/10217

cargo: be resilient to most IO error and filesystem loop while walking dirs
rust-lang/cargo/pull/10214

rustdoc: introduce a resolver cache for sharing data between early doc link resolution and later passes
rust-lang/rust/pull/92608

rustdoc: resolve associated traits for non-generic primitive types
rust-lang/rust/pull/92443

docs.rs: add "y" shortcut for permalink
rust-lang/docs.rs/pull/1583

clippy: better detect when a field can be moved from in while_let_on_iterator
rust-lang/rust-clippy/pull/8221

clippy: consider auto-deref when linting manual_swap
rust-lang/rust-clippy/pull/8220

clippy: fix type_repetition_in_bounds
rust-lang/rust-clippy/pull/8224

clippy: cover trait for trait_duplication_in_bounds
rust-lang/rust-clippy/pull/8252

clippy: fix iter_not_returning_iterator
rust-lang/rust-clippy/pull/8228
Updates from Rust Community

Official
1.58.0 pre-release testing
blog.rust-lang.org

Foundation
Happy New Year, Rustaceans
foundation.rust-lang.org

Newsletters
This Month in Rust OSDev (December 2021)
rust-osdev.com

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

rustc_codegen_gcc: Progress Report #7
blog.antoyo.xyz

Bevy 0.6
bevyengine.org

rg3d 0.24 Feature Highlights
rg3d.rs

Lishwist (beta)
blog.polaris64.net

Rust on Espressif chips - 10-01-2022
mabez.dev

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

The engine was renamed to Fyrox
rg3d.rs

Observations/Thoughts
Dyn async traits, part 7: a design emerges?
smallcultfollowing.com

Rust in 2022
www.ncameron.org

Bringing include_dir Into the Modern Era
adventures.michaelfbryan.com

Rust Async and the Terrible, Horrible, No Good, Very Bad Day
https://kevinhoffman.medium.com/rust-async-and-the-terrible-horrible-no-good-very-bad-day-348ebc836274

Crate of the Week second chance list
briankung.dev

How we built a VS Code extension with Rust, WebAssembly, and TypeScript
www.osohq.com

App and OS Virtualization in Rust using crosvm
blog.openw3b.org

Rust 2030 Christmas list: Inout methods
poignardazur.github.io

What does a Rustc Reading Club do?
https://mojosd.medium.com/what-does-a-rustc-reading-club-do-8c9f9b336ff4

Why I Use a Debugger
blog.pnkfx.org

[audio] Yew with Julius Lungys
rustacean-station.org

[video] Flying High with Flutter #40
www.youtube.com

[video] The Downside of Rust
www.youtube.com

Research
Rast: A Language for Resource-Aware Session Types
arxiv.org

RISE & Shine: Language-Orientated Compiler Design
arxiv.org

SixtyFPS (GUI crate): Changelog for 9th of January 2022
sixtyfps.io

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

Rust Walkthroughs
Three Kinds of Polymorphism in Rust
www.brandons.me

How Bevy uses Rust traits for labeling
deterministic.space

Parsing compressed files efficiently with Rust
edgarluque.com

Rust Any Part 1: Extension Maps in Rust
lucumr.pocoo.org

Rust Any Part 2: As-Any Hack
lucumr.pocoo.org

How to Implement a Naive Bayes Classifier with Rust
www.freecodecamp.org

Adding parallelism to your Rust iterators with dpc-pariter
dpc.pw

Parsing Text with Nom
blog.adamchalmers.com

Implementing a metronome with Rust and Flutter
beijaflor.io

Making Games in Rust - Part 9 - Main Menu Screen
dev.to

Emulating the Sega Genesis - Part I
jabberwocky.ca

How to install cargo-outdated in OSX without homebrew
estada.ch

Async Rust From The Ground Up: Concurrency With Threads
ibraheem.ca

Secure and immutable development environments with Dev Containers
kerkour.com

[ZH] 2021 年 Rust 生态调研报告 | 星辰大海(上篇)
zhuanlan.zhihu.com

Miscellaneous
Let's take a moment to thank Joshua Nelson for his work on rustdoc
www.reddit.com

Could Rust be the Future of JavaScript Infrastructure?
thenewstack.io

Rust Memory Layout Optimization (Enum)
frehberg.com
Crate of the week: rustix

This week's crate is rustix, a crate with safe bindings to POSIX-ish syscalls.
Updates from core

remove deprecated LLVM-style inline assembly
rust-lang/rust/pull/92816

optimize impl_read_unsigned_leb128
rust-lang/rust/pull/92604

reduce use of LocalDefId <-> HirId maps
rust-lang/rust/pull/90146

store a Symbol instead of an Ident in VariantDef/FieldDef
rust-lang/rust/pull/92533

partially stabilize maybe_uninit_extra
rust-lang/rust/pull/92768

add {Add, Sub, Mul, Div, Rem, BitXor, BitOr, BitAnd}{, Assign} to Saturating
rust-lang/rust/pull/92356

futures: fix stacked borrows violations in waker_ref and FuturesUnordered
rust-lang/futures-rs/pull/2550

rustdoc: avoid many Symbol to String conversions
rust-lang/rust/pull/91948

clippy: new lint: iter_overeager_cloned
rust-lang/rust-clippy/pull/8203

clippy: add manual_bits lint
rust-lang/rust-clippy/pull/8213

clippy: add borrow_as_ptr lint
rust-lang/rust-clippy/pull/8210

clippy: allow primitive types in disallowed_methods
rust-lang/rust-clippy/pull/8112

clippy: apply not_unsafe_ptr_arg_deref to type aliases
rust-lang/rust-clippy/pull/8273

clippy: don't lint if_same_then_else with if let conditions
rust-lang/rust-clippy/pull/8297

clippy: downgrade mutex_atomic to nursery
rust-lang/rust-clippy/pull/8260

clippy: erase late bound regions in iter_not_returning_iterator
rust-lang/rust-clippy/pull/8287

clippy: fix cmp_owned suggestion flipping the comparison
rust-lang/rust-clippy/pull/8299

clippy: fix deref_addrof
rust-lang/rust-clippy/pull/8268

clippy: fix implicit_clone for &&T
rust-lang/rust-clippy/pull/8231

clippy: fix manual_memcpy
rust-lang/rust-clippy/pull/8226

clippy: fix cropped or_fun_call hint
rust-lang/rust-clippy/pull/8292

clippy: handle implicit named arguments in useless_format
rust-lang/rust-clippy/pull/8295

clippy: move return_self_not_must_use to pedantic
rust-lang/rust-clippy/pull/8302

thorin: performance improvements
rust-lang/thorin/pull/14
Updates from Rust Community

Official
Announcing Rust 1.58.0
blog.rust-lang.org

Project/Tooling Updates
IntelliJ Rust Changelog #163
intellij-rust.github.io

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

SixtyFPS (GUI crate): Changelog for 16th of January 2022
sixtyfps.io

Announcing Parcel CSS
parceljs.org

Announcing the sd-notify crate
blog.dend.ro

gtk-rs 0.15 / gtk4-rs 0.4 release
gtk-rs.org

Announcing Relm4 0.4
aaronerhardt.github.io

Quickwit 0.2 brings full-text search to ClickHouse and Kafka!
quickwit.io

Introducing the new DNSimple Rust Client
blog.dnsimple.com

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

Benchmarking relational data in BonsaiDb
bonsaidb.io

[DE] Programmiersprache: Rust 1.58 erweitert Format-Strings und verschmälert den Pfad
www.heise.de

Observations/Thoughts
Async Rust in Practice: Performance, Pitfalls, Profiling
www.scylladb.com

Format Strings in Rust 1.58
www.rustnote.com

Making Your Game Go Fast by Asking Windows Nicely
www.anthropicstudios.com

Binary Tree Insertion in Rust
dawchihliou.github.io

Investigating Memory Allocations in Rust
ysantos.com

Using Rustlang’s Async Tokio Runtime for CPU-Bound Tasks
thenewstack.io

Digital Audio Synthesizer in Rust
0xc45.com

A path towards stable generic const expressions
lcnr.de

Six Nice Things About Rust
sep.com

Rust Walkthroughs
Tutorial: Writing a Tiny Rust Game Engine for Web
ianjk.com

Mapping my walks with OSRM and Rust
blog.dend.ro

Create a desktop app in Rust using Tauri and Yew
dev.to

Fast access to regional AWS endpoints from Cloudflare Workers
noserve.rs

How to securely encrypt a file with an insecure password in Rust (using Streaming Encryption + Argon2)
kerkour.com

[video] I'm learning Rust - Cargo, documentation, user input, and JSON files
www.youtube.com

[video] Implementing Hazard Pointers in Rust (part 4/4)
www.youtube.com

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

[series] [video] Writing a Programming Language (in Rust) 11: Object Destructuring (Part 1)
www.youtube.com

Miscellaneous
Creating social sharing images in Rust
hashrust.com

Writing a Fluent Bit input plugin in Rust
fredrik-jansson-se.github.io

The 10 books that helped me, as a hobbyist, on my journey to learn Rust to re-code a Django application
www.reddit.com

Rewriting my toy blockchain in Rust
ezzeriesa.notion.site

Rust on Apache NuttX OS
lupyuen.github.io

An implementation of the NTFS filesystem in a Rust crate
colinfinck.de

[audio] Lumen with Paul Schoenfelder
rustacean-station.org
Crate of the week: cargo-release

This week's crate is cargo-release, a cargo subcommand that makes every crate release a breeze.
Updates from core

LLVM on AArch64/GlobalISel: fix incorrect handling of fp truncating stores
rust-lang/llvm-project/pull/127

show a more informative panic message when DefPathHash does not exist
rust-lang/rust/pull/93098

only suggest adding ! to expressions that can be macro invocation
rust-lang/rust/pull/93061

point at correct argument when async fn output type lifetime disagrees with signature
rust-lang/rust/pull/92183

change lint message to be stronger for &T → &mut T transmute
rust-lang/rust/pull/92704

improve string concatenation suggestion
rust-lang/rust/pull/92843

formally implement let chains
rust-lang/rust/pull/88642

implement #[rustc_must_implement_one_of] attribute
rust-lang/rust/pull/92164

allow eq constraints on associated constants
rust-lang/rust/pull/87648

check const Drop impls considering ~const Bounds
rust-lang/rust/pull/93028

add ~const bound test for negative impls
rust-lang/rust/pull/92997

fix ICEs related to Deref<Target=[T; N]> on newtypes
rust-lang/rust/pull/92640

disable drop range tracking in generators
rust-lang/rust/pull/93165

directly use ConstValue for single literals in blocks
rust-lang/rust/pull/92780

add preliminary support for inline assembly for msp430
rust-lang/rust/pull/93219

let qpath contain NtTy: <$:ty as $:ty>::…
rust-lang/rust/pull/91150

make Decodable and Decoder infallible
rust-lang/rust/pull/93066

remove a Span from hir::ExprKind::MethodCall
rust-lang/rust/pull/92787

emit simpler code from format_args
rust-lang/rust/pull/91359

fix CVE-2022-21658 (symbolic link timing attack in std::fs::remove_dir_all)
rust-lang/rust/pull/93112

implement RFC 3151: Scoped threads
rust-lang/rust/pull/92555

improve capacity estimation in Vec::from_iter
rust-lang/rust/pull/92138

little improves in CString::new when creating from slice
rust-lang/rust/pull/92124

add MaybeUninit::(slice_)as_bytes(_mut)
rust-lang/rust/pull/89747

add Option::is_some_with and Result::is_{ok, err}_with
rust-lang/rust/pull/93051

add log2 and log10 to NonZeroU*
rust-lang/rust/pull/92956

std: implement try_reserve and try_reserve_exact on PathBuf
rust-lang/rust/pull/92513

impl Not for ! (did you guess that "not never" is still "never"?)
rust-lang/rust/pull/91122

stabilize arc_new_cyclic
rust-lang/rust/pull/90666

stabilize vec_spare_capacity
rust-lang/rust/pull/93016

stabilize -Z print-link-args as --print link-args
rust-lang/rust/pull/91606

cargo: error when setting crate type of both dylib and cdylib in library
rust-lang/cargo/pull/10243

clippy: add msrv config for map_clone
rust-lang/rust-clippy/pull/8280

clippy: check usages in ptr_arg
rust-lang/rust-clippy/pull/8271

clippy: don't suggest an empty variant name in enum_variant_names
rust-lang/rust-clippy/pull/8329

clippy: fix needless_borrow causing mutable borrows to be moved
rust-lang/rust-clippy/pull/8217

clippy: needless_lifetimes: ignore lifetimes in explicit self types
rust-lang/rust-clippy/pull/8278

clippy: trait_duplication_in_bounds checks path segments for trait items
rust-lang/rust-clippy/pull/8315

clippy: fix needless_question_mark not considering async fn
rust-lang/rust-clippy/pull/8311

clippy: fix op_ref false positive
rust-lang/rust-clippy/pull/8298
Updates from Rust Community

Official
Announcing Rust 1.58.1
blog.rust-lang.org

Security advisory for the standard library (CVE-2022-21658)
blog.rust-lang.org

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

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

SixtyFPS (GUI crate): Changelog for 23th of January 2022
sixtyfps.io

Settings sync browser addon for rustdoc
gitlab.com

Dotenv-linter v3.2.0: Overview
dotenv-linter.github.io

youki 0.0.2 release
containers/youki/releases/tag/v0.0.2

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

Newsletters
This Month in Rust GameDev #29 - December 2021
gamedev.rs

Research
DuVisor: a User-level Hypervisor Through Delegated Virtualization
arxiv.org

Observations/Thoughts
Being Fair about Memory Safety and Performance
www.thecodedmessage.com

Why Static Languages Suffer From Complexity
hirrolot.github.io

Async destruction on stable rust
vzvezda/asyncdrop/blob/main/article/async-dest.md

async-await: Cooperative vs Preemtive scheduling
kerkour.com

Detect unsigned integer underflow
frehberg.com

Non-Lazy Futures Considered Harmful
swatinem.de

Part 1: The life of an optimization barrier
blog.trailofbits.com

On Rust in Webdev
radekmie.github.io

Unsoundness in owning_ref
noamtashma/owning-ref-unsoundness

Type-Driven Development
duesee.dev

Rust Programming, What to Look Forward to in 2022
https://chester-beard.medium.com/rust-programming-what-to-look-forward-to-in-2022-2e041258f750

Rust Walkthroughs
Clean and Scalable Architecture for Rust Web Applications
kerkour.com

Building fast Wikipedia bots in Rust
blog.legoktm.com

Futures and Tasks: A tale of concurrency and parallelism
swatinem.de

Lowering async await in rust
wiki.cont.run

Publishing to crates.io
www.printlnhello.world

Hello, Microcontroller! - Demystify microcontrollers by programming one in ~100 lines of dependency-free Rust
medium.com/tempus-ex

Rain's Rust CLI recommendations
rust-cli-recommendations.sunshowers.io/

Taking Rust for a Ride to Azeroth: What writing an AH Scanner in Rust taught me
medium.com/digitalfrontiers

On self-modifying executables in Rust
blog.dend.ro

Using tree data structures to implement terminal split panes - more fun than it sounds
blog.warp.dev

Durability and Redo Logging
justinjaffray.com

[video] Messing With The Recipe
www.youtube.com

[audio] Gitoxide with Sebastian Thiel
rustacean-station.org

Miscellaneous
tyty
zackoverflow.dev
Crate of the week: html5gum

This week's crate is html5gum, a WHATWG HTML spec-compliant HTML5 tokenizer.
Updates from core

LLVM: cherry-pick different fix for AArch64 truncating FP stores
rust-lang/llvm-project/pull/128

allow eliding GATs in expression position
rust-lang/rust/pull/92918

fix debuginfo for pointers/references to unsized types
rust-lang/rust/pull/93006

add note suggesting that predicate may be satisfied, but is not const
rust-lang/rust/pull/93358

ignore unwinding edges when checking for unconditional recursion
rust-lang/rust/pull/92889

don't suggest inaccessible fields
rust-lang/rust/pull/93039

implement stable overlap check considering negative traits
rust-lang/rust/pull/93175

improve selection errors for ~const trait bounds
rust-lang/rust/pull/92256

improve suggestion for escaping reserved keywords
rust-lang/rust/pull/93395

suggest tuple-parentheses for enum variants
rust-lang/rust/pull/90677

fix the unsoundness in the early_otherwise_branch mir opt pass
rust-lang/rust/pull/91840

store def_id_to_hir_id as variant in hir_owner
rust-lang/rust/pull/93373

store hir_id_to_def_id in OwnerInfo
rust-lang/rust/pull/93301

use indexmap to avoid sorting LocalDefIds
rust-lang/rust/pull/90842

codegen_gcc: correctly import foreign statics
rust-lang/rustc_codegen_gcc/pull/115

codegen_gcc: support -Zfunction-sections
rust-lang/rustc_codegen_gcc/pull/118

codegen_gcc: support 128-bit integers on platforms without native support
rust-lang/rustc_codegen_gcc/pull/103

codegen_gcc: support upgrading the alignment of a global variable
rust-lang/rustc_codegen_gcc/pull/121

accommodate yield points in the format_args expansion
rust-lang/rust/pull/93461

add Simd::cast
rust-lang/portable-simd/pull/232

add intrinsics::const_deallocate
rust-lang/rust/pull/92274

add os::unix::net::SocketAddr::from_path
rust-lang/rust/pull/93239

make NonNull::new const
rust-lang/rust/pull/93236

make char::DecodeUtf16::size_hist more precise
rust-lang/rust/pull/93347

improve Duration::try_from_secs_f32/64 accuracy by directly processing exponent and mantissa
rust-lang/rust/pull/90247

cargo: add bash completion for cargo clippy
rust-lang/cargo/pull/10347

cargo: do not ignore --features when --all-features is present
rust-lang/cargo/pull/10337

clippy: add default_union_representation lint
rust-lang/rust-clippy/pull/8289

clippy: don't lint ptr_arg for &mut _ types in trait items
rust-lang/rust-clippy/pull/8369

clippy: fix underflow in manual_split_once lint
rust-lang/rust-clippy/pull/8250

clippy: fix bad suggestion on numeric_literal
rust-lang/rust-clippy/pull/8350

clippy: single_match: don't lint non-exhaustive matches; support tuples
rust-lang/rust-clippy/pull/8322
🎉1
Updates from Rust Community

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

Foundation
Board Announcement: Farewell and Thanks to Florian
foundation.rust-lang.org

Project/Tooling Updates
spa 0.3.0 release
crates.io

An update on rust/coreutils
sylvestre.ledru.info

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

SixtyFPS (GUI crate): Changelog for 30th of January 2022
sixtyfps.io

Fornjot 0.5.0 - Code-CAD in Rust
www.fornjot.app

BonsaiDb January update: Alpha Next Week
bonsaidb.io

rustc_codegen_gcc: Progress Report #8
blog.antoyo.xyz

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

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

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

Newsletters
This Week in Glean: Building and Deploying a Rust library on iOS
blog.mozilla.org

Research
An Empirical Study of Yanked Releases in the Rust Package Registry
arxiv.org

Observations/Thoughts
A new phase for the Rustc Reading Club
https://mojosd.medium.com/a-new-phase-for-the-rustc-reading-club-c3a048f52a2f

The 9 indispensable features to learn for the new Rust programmer
kerkour.com

Uninitialized Memory: Unsafe Rust is Too Hard
lucumr.pocoo.org

Part 2: Improving crypto code in Rust using LLVM’s optnone
blog.trailofbits.com

Writing the fastest GBDT library in Rust
www.tangram.dev

Async Rust vs RTOS showdown!
tweedegolf.nl

Panics vs cancellation, part 1
smallcultfollowing.com

Rust extension traits, greppability and IDEs
eli.thegreenplace.net

The Curious Absence of Lifetimes
ivkov.me

Rust has a small standard library (and that's ok)
blog.nindalf.com

Curl with Rust
daniel.haxx.se

[audio] Frontmatter Podcast: Matt Provost, Author of Rust From the Ground Up
leanpub.com

Rust Walkthroughs
How Rust helped me power through my C assignments
dev.to

(Basic) Segment Trees with beautiful diagrams!
desmondwillowbrook.github.io

Sneak preview: Writing Ruby gem native extensions in Rust
briankung.dev

[DE] Ferris Talk #5: Tokio als asynchrone Laufzeitumgebung ist ein Fast-Alleskönner
www.heise.de

[audio] zbus with Zeeshan Ali
rustacean-station.org

[video] Rust Linz, January '22 - Error Handling in Rust - A Pragmatic Approach by Luca Palmieri
www.youtube.com

[series] [video] Writing a Programming Language (in Rust) 13: Object Destructuring (Part 2) and Fixing Recursion
www.youtube.com

[series] [video] Writing a Programming Language (in Rust) 14: Compiler Resources and Function Argument Destructuring
www.youtube.com

Miscellaneous
Async Rust: What is a runtime? Here is how tokio works under the hood
kerkour.com

Implementation of CIDR routing table in Rust
rtoch.com

How Prime Video updates its app for more than 8,000 device types
www.amazon.science

Building and Deploying a Rust library on iOS
fnordig.de

My new deployment workflow using AWS SDK for Rust
mdguerrero.com

Meilisearch raises a $5M Seed to change the world of user-facing search
blog.meilisearch.com

Sequoia-PGP: Looking for SQ stakeholders
sequoia-pgp.org

Hello, Microcontroller!
blog.tempus-ex.com

Ferrous Systems and AdaCore to join forces on Ferrocene
ferrous-systems.com

AdaCore and Ferrous Systems joining forces to support Rust
blog.adacore.com

[audio] Podcast RustTalk 001. 与 Folyd 聊他的 Rust 使用经历
rusttalk.github.io
👍4
Crate of the week: update-informer

This week we have two crates: update-informer, a
library to embed an update check into your CLI project and
blake3, a fast cryptographic hash function.
Updates from core

add new target armv7-unknown-linux-uclibceabi (softfloat)
rust-lang/rust/pull/92383

continue work on associated const equality
rust-lang/rust/pull/93285

clarify error on casting larger integers to char
rust-lang/rust/pull/91939

fix suggestion to slice if scrutinee is a Result or Option
rust-lang/rust/pull/91343

if an integer is entered with an upper-case base prefix (0Xbeef, 0O755, 0B1010), suggest to make it lowercase
rust-lang/rust/pull/93019

add rustc lint, warning when iterating over hashmaps 2
rust-lang/rust/pull/92584

borrowck: fix help on mutating &self in async fns
rust-lang/rust/pull/93221

perf: compress amount of hashed bytes for isize values in StableHasher
rust-lang/rust/pull/93432

perf: use fold_list in try_super_fold_with for SubstsRef
rust-lang/rust/pull/93643

codegen_gcc: implement simd_neg
rust-lang/rustc_codegen_gcc/pull/125

optimize core::str::Chars::count
rust-lang/rust/pull/90414

impl Arc::unwrap_or_clone
rust-lang/rust/pull/91589

carefully remove bounds checks from some chunk iterator functions
rust-lang/rust/pull/86988

Impl arithmetic (assign-)ops traits for Wrapping<_> for rust 1.60.0
rust-lang/rust/pull/93208

implement RawWaker and Waker getters for underlying pointers
rust-lang/rust/pull/91828

rustdoc: collect traits in scope for foreign inherent impls
rust-lang/rust/pull/93539

clippy: add explicit_write suggestions for write!s with format args
rust-lang/rust-clippy/pull/8365

clippy: add lint transmute_undefined_repr
rust-lang/rust-clippy/pull/8398

clippy: fix ICE in ptr_arg
rust-lang/rust-clippy/pull/8387

clippy: split matches
rust-lang/rust-clippy/pull/8400

clippy: chars_next_cmp fix unescaped suggestion
rust-lang/rust-clippy/pull/8376

clippy: fix explicit_counter_loop suggesting .into_iter(), despite that triggering into_iter_on_ref in some cases
rust-lang/rust-clippy/pull/8382

clippy: make unwrap_used also trigger on .get().unwrap()
rust-lang/rust-clippy/pull/8372

clippy: warn if we find multiple clippy configs
rust-lang/rust-clippy/pull/8326

rustfmt: fix doc of generic items formmating error
rust-lang/rustfmt/pull/5124

rustfmt: fix import_granularity option when the use tree has an alias
rust-lang/rustfmt/pull/5209

rustfmt: handle non-ascii character at boundary
rust-lang/rustfmt/pull/5089
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.