pub ThisWeekInRust {} – Telegram
pub ThisWeekInRust {}
993 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

BPF target support
rust-lang/rust/pull/79608

support for force-warns
rust-lang/rust/pull/85788

improve debugging experience for enums on windows-msvc
rust-lang/rust/pull/85292

parser: ensure that all nonterminals have tokens after parsing
rust-lang/rust/pull/84995

don't suggest unsized indirection in where-clauses
rust-lang/rust/pull/85979

rustc: allow safe #[target_feature] on wasm
rust-lang/rust/pull/84988

always go through the expn_that_defined query
rust-lang/rust/pull/86002

perf: miscellaneous inlining improvements
rust-lang/rust/pull/85892

perf: only compute the trait map once
rust-lang/rust/pull/85905

stabilize vecdeque_binary_search
rust-lang/rust/pull/83362

update standard library for IntoIterator implementation of arrays
rust-lang/rust/pull/85930

clippy: don't warn about cfg!(..) as a constant in assertions
rust-lang/rust-clippy/pull/7319

clippy: fix needless_collect with binding shadowing
rust-lang/rust-clippy/pull/7289

clippy: add lint manual_str_repeat
rust-lang/rust-clippy/pull/7265
Updates from Rust Community

Official
Announcing Rustup 1.24.3
blog.rust-lang.org

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

Project/Tooling Updates
Filecoin Forest update
medium.com/chainsafe-systems

Mina Protocol update
medium.com/chainsafe-systems

rust-analyzer Changelog #80
rust-analyzer.github.io

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

Rust/C++ Interop in the Android Platform
security.googleblog.com

Rocket v0.5 Release Candidate
rocket.rs

This Week In TensorBase 6
tensorbase.io

Dotenv-linter v3.1.0: Overview of key changes
dotenv-linter.github.io

AWS SDK Rust: 9 New Services Added
awslabs/aws-sdk-rust/releases/tag/v0.0.7-alpha

Observations/Thoughts
Untapped potential in Rust's type system
www.jakobmeier.ch

Idiomatic Rust? Implementing binary search (part 2)
shane-o.dev

Designing Rust bindings for REST APIs
plume.benboeckel.net

Rust zero-cost abstractions in action
medium.com/ingeniouslysimple

Translating Quake 3 into Rust
immunant.com

First impressions of Rust programming on Solana
brson.github.io

Optimizing Pairing-Based Cryptography: Montgomery Arithmetic in Rust
research.nccgroup.com

My second cup of Rust
blog.frankel.ch

A Goose In The Clouds: Load Testing At Scale
www.tag1consulting.com

Walking through "The Java Tutorials" with Rust
rust-java-tutorials.netlify.app

Behavior inheritance in Rust
abadcafe.wordpress.com

[audio] Building with Rust: Ralf Jung on GhostCell and working as a PL researcher
anchor.fm

Rust Walkthroughs
Rust Derive Macro Guide
imbolc/rust-derive-macro-guide

Calibration From Scratch Using Rust: Part 1 of 3
www.tangramvision.com

Calibration From Scratch Using Rust: Part 2 of 3
www.tangramvision.com

Calibration From Scratch Using Rust: Part 3 of 3
www.tangramvision.com

Rust from a JavaScript perspective
blogs.harvard.edu

!#[no_std] with WASI is more complicated than I thought it would be
dev.to

Rust - What made it "click" for me (Ownership and memory models)
deavid.wordpress.com

Creating an NPM package written in Rust
https://popcornpaws.medium.com/creating-an-npm-package-written-in-rust-ce02f7c55458

Rise and Shine: Putting the nRF52840 to sleep, and waking it back up
tweedegolf.nl

Iterator producing iterator in Rust is really helpful.
blog.knoldus.com

Speed up your Rust CI with cache image and Buildkit
blog.erebe.dev

[ZH] [series] Build front-end web apps with Yew and WebAssembly in Rust -part 1: crates (Rust 和 Wasm 的融合,使用 yew 构建 WebAssembly 标准的 web 前端(1)- 起步及 crate 选择)
blog.budshome.com

[ZH] [series] Build front-end web apps with Yew and WebAssembly in Rust -part 2: Components & Routers (Rust 和 Wasm 的融合,使用 yew 构建 WebAssembly 标准的 web 前端(2)- 组件和路由)
blog.budshome.com

[video] Rust Beginners 5 - Tuples
youtu.be

Miscellaneous
QUIC Version 1 is live on Cloudflare
blog.cloudflare.com

What are the most "professional" crates?
www.reddit.com

What's your favourite under-rated Rust crate and why?
www.reddit.com

It's not much, but I graduated from middle-school today with Rust as my language of choice
www.reddit.com

From Julia to Rust
miguelraz.github.io

How To Use fastText and Rust For Instant Translations
instantdomainsearch.com
Crate of the week: cargo-sort

This week's crate is cargo-sort, a cargo subcommand to sort your Cargo.toml's dependencies and workspace members.
Updates from core

fix force-warns to allow dashes
rust-lang/rust/pull/86117

suggest a trailing comma if a 1-tuple is expected and a parenthesized expression is found
rust-lang/rust/pull/86116

do not suggest to add type annotations for unnameable types
rust-lang/rust/pull/86215

to_digit simplification (less jumps)
rust-lang/rust/pull/85630

multiple improvements to RwLocks
rust-lang/rust/pull/84687

add Ipv6Addr::is_unicast
rust-lang/rust/pull/85791

stabilize wasm simd intrinsics
rust-lang/rust/pull/86204

stabilize maybe_uninit_ref
rust-lang/rust/pull/86273

stabilize simd_x86_bittest
rust-lang/rust/pull/86233

cargo: implement warning for ignored trailing arguments
rust-lang/cargo/pull/9561

clippy: fix while_let_on_iterator suggestion in a closure
rust-lang/rust-clippy/pull/7262

clippy: remove requirement of fully qualified path for disallowed_method/type
rust-lang/rust-clippy/pull/7345

clippy: fix false positive on semicolon_if_nothing_returned
rust-lang/rust-clippy/pull/7326

clippy: fix false positive in default_numeric_fallback with external macro expansion
rust-lang/rust-clippy/pull/7325

clippy: Vec extend to append
rust-lang/rust-clippy/pull/7270

BPF target support
rust-lang/rust/pull/79608

support for force-warns
rust-lang/rust/pull/85788

improve debugging experience for enums on windows-msvc
rust-lang/rust/pull/85292

parser: ensure that all nonterminals have tokens after parsing
rust-lang/rust/pull/84995

don't suggest unsized indirection in where-clauses
rust-lang/rust/pull/85979

rustc: allow safe #[target_feature] on wasm
rust-lang/rust/pull/84988

always go through the expn_that_defined query
rust-lang/rust/pull/86002

perf: miscellaneous inlining improvements
rust-lang/rust/pull/85892

perf: only compute the trait map once
rust-lang/rust/pull/85905

stabilize vecdeque_binary_search
rust-lang/rust/pull/83362

update standard library for IntoIterator implementation of arrays
rust-lang/rust/pull/85930

clippy: don't warn about cfg!(..) as a constant in assertions
rust-lang/rust-clippy/pull/7319

clippy: fix needless_collect with binding shadowing
rust-lang/rust-clippy/pull/7289

clippy: add lint manual_str_repeat
rust-lang/rust-clippy/pull/7265
Updates from Rust Community

Official
[Inside] 1.53.0 pre-release testing
blog.rust-lang.org

[Inside] Please welcome Boxy, Léo Lanteri Thauvin and the8472 to compiler-contributors
blog.rust-lang.org

Newsletters
This Month in Rust GameDev #22 - May 2021
gamedev.rs

Project/Tooling Updates
rust-analyzer Changelog #81
rust-analyzer.github.io

AWS-SDK-Rust: CloudFormation, SageMaker, EC2, and SES
awslabs/aws-sdk-rust/releases/tag/v0.0.8-alpha

Announcing Aya
confused.ai

This Week In TensorBase 7
tensorbase.io

Introducing cap-std, a capability-based version of the Rust standard library
blog.sunfishcode.online

Wasmer 2.0, it's a big deal!
wasmer.io

New crate announcement, iterate
www.reddit.com

ripgrep 13.0.0 release
BurntSushi/ripgrep/releases/tag/13.0.0

Observations/Thoughts
A few thoughts on Fuchsia security
blog.cr0.org

On using Rust to implement shell history search/sync (interview with Ellie Huxtable)
console.dev

Visualizing memory management in Rust
deepu.tech

[audio] Using Rust with Flutter
youtu.be

Rust Walkthroughs
Embedded-Rust: Build & Flash binary to STM32F3DISCOVERY
blog.knoldus.com

Learning to Fly: Let's simulate evolution in Rust! (pt 4)
pwy.io

Baby's first Rust with extra steps (XPC, launchd, and FFI)!
dstancu.net

Speeding Up the WebCola Graph Viz Library with Rust + WebAssembly
cprimozic.net

From NAND to Raytracer: Raytracing on the Hack computer (feat. Rust)
blog.alexqua.ch

Cacao: Building macOS (and iOS) Apps in Rust
rymc.io

Build an API in Rust (Part 1)
dev.to

Learn to Build a Parser in Rust for Fun and Profit
dev.to

Beginner's Guide to Running Rust on AWS Lambda
dev.to

A Command Line Key-Value Data Store using the Rust Programming Language.
dev.to

How to use casbin authorization in your rust web-app (part 3)
dev.to

Speeding up incoming message parsing by 3- to 10-times by switching from serde to the nom library
medium.com/tezedge

[ZH] [series] Build front-end web apps with Yew and WebAssembly in Rust -part 3: Assets & Refactor (Rust 和 Wasm 的融合,使用 yew 构建 web 前端(3)- 资源文件及小重构)
blog.budshome.com

[ZH] [series] Build front-end web apps with Yew and WebAssembly in Rust -part 4: GraphQL data & Parsing (Rust 和 Wasm 的融合,使用 yew 构建 web 前端(4)- 获取 GraphQL 数据并解析)
blog.budshome.com

[video] Building a Web Application with Rust - Part 1 - Configuration
youtu.be

[video] Building a Web Application with Rust - Part 2 - Database Setup
youtu.be

[video] Lock-Free to Wait-Free Simulation in Rust (part 2)
youtu.be

Miscellaneous
Meet the Rustaceans: A series of interviews with Facebook Rust engineers
developers.facebook.com

Pop!_OS uses a lot of Rust
www.reddit.com

[video] Keynote: Bryan Cantrill - Hardware/Software Co-design: The Coming Golden Age
youtu.be
Crate of the week: nativeshell

This week has two crates: nativeshell gets you a Flutter app in Rust, while static-rc is a compile-time reference-counted smart pointer.
Updates from core

use AttrVec for Arm, FieldDef, and Variant
rust-lang/rust/pull/86385

prefer partition_point to look up assoc items
rust-lang/rust/pull/86392

lint for unused borrows as part of UNUSED_MUST_USE
rust-lang/rust/pull/86426

miri: report an error if a #[no_mangle]/#[export_name = ...] function has the same symbol name as a built-in shim
rust-lang/miri/pull/1832

fix span calculation in format strings
rust-lang/rust/pull/86104

stabilize span_open() and span_close()
rust-lang/rust/pull/86136

stabilize ops::ControlFlow (just the type)
rust-lang/rust/pull/85608

linear interpolation
rust-lang/rust/pull/85925

add functions Duration::try_from_secs_{f32, `f64'}
rust-lang/rust/pull/82179

specialize io::Bytes::size_hint for more types
rust-lang/rust/pull/86202

optimize Eq implementation for paths
rust-lang/rust/pull/86179

integrate binary search codes of binary_search_by and partition_point
rust-lang/rust/pull/85406

futures: introduce stream::select_with_strategy
rust-lang/futures-rs/pull/2450

cargo: don't allow config env to modify vars set by cargo
rust-lang/cargo/pull/9579

cargo: avoid quadratic complexity when splitting output into lines
rust-lang/cargo/pull/9586

rustdoc: fix ICE when using #[doc(keyword = "...")] on non-items
rust-lang/rust/pull/86401

rustdoc: account for const-unstable functions
rust-lang/rust/pull/86473

clippy: fix wrong config option being suggested for deprecated wrong_pub_self_convention lint
rust-lang/rust-clippy/pull/7382

clippy: improve panic message on "Found multiple rlibs" error in compile-test
rust-lang/rust-clippy/pull/7380

clippy: add macro_braces lint to check for irregular brace use in certain macros
rust-lang/rust-clippy/pull/7299

clippy: check for unbalanced tick pairs in doc_markdown lint
rust-lang/rust-clippy/pull/7357

clippy: move from-iter-instead-of-collect to pedantic
rust-lang/rust-clippy/pull/7375
Updates from Rust Community

Official
Announcing Rust 1.53.0
blog.rust-lang.org

[Inside] Rust Compiler June Steering Cycle
blog.rust-lang.org

Project/Tooling Updates
rust-analyzer Changelog #82
rust-analyzer.github.io

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

rustymind - Parse and visualize brainwaves with Rust
junjunjd/rustymind

This Week In TensorBase 8
tensorbase.io

Supporting Miguel Ojeda's Work on Rust in the Linux Kernel
www.memorysafety.org

rustc_codegen_gcc: Progress Report #1
blog.antoyo.xyz

Observations/Thoughts
Walking through "The Java Tutorials" with Rust - boxed trait objects and the search for inheritance
rust-java-tutorials.netlify.app

WABT: A wonderful CLI for manipulating Wasm
blog.knoldus.com

wasm-bindgen making Rust and JavaScript interoperability easy
blog.knoldus.com

Type-checked keypaths in Rust
www.cmyr.net

Exploring ways to make async Rust easier
carllerche.com

Reading Back What You Wrote in Rust
www.morsecodist.io

First Rust Project: A Chess Engine
www.reddit.com

Rust vs C++ for game development
blog.logrocket.com

Skipping Tests in Rust
plume.benboeckel.net

[ZH] Build a Gameboy emulator in Rust
yodalee.me

[video] Why the future of the cloud will be built on Rust - Oliver Gould, Buoyant
youtu.be

Rust Walkthroughs
Rust and AWS Lambda
mitchgollub.com

Deserializing Binary Data Files in Rust
adventures.michaelfbryan.com

Yet Another Snazzy Rust CLI
dev.to

Build an API in Rust (Part 2)
dev.to

Polymorphism in Rust
oswalt.dev

Getting started with MongoDB and Redis in Rust
romankudryashov.com

Making My Website Part 1: Monitoring On A Raspberry Pi
www.rotoclone.zone

[ZH] Develop WebAssembly Program in Rust
yodalee.me

[video] Rust Fuzzing #3: How to write (better) Rust fuzz targets?
youtu.be

[video] Building a Web Application with Rust - Part III - Database Manager
youtu.be

[video] Building a Web Application with Rust - Part IV - HTTP Server
youtu.be

Miscellaneous
Rust is not a Company
blog.m-ou.se

Google Wants To See Rust Code In The Linux Kernel, Contracts The Main Developer
www.phoronix.com

Rust is the most wanted language by Godot Engine users
www.reddit.com
Crate of the week: serde-encrypt

This week's crate is serde-encrypt, a library that adds encryption to all Serialize impls.
Updates from core

fix type checking of return expressions outside of function bodies
rust-lang/rust/pull/86206

add future_prelude_collision lint
rust-lang/rust/pull/85707

do not emit alloca for ZST locals with multiple assignments
rust-lang/rust/pull/86166

fix panic-safety in specialized Zip::next_back
rust-lang/rust/pull/86452

add io::Cursor::{remaining, remaining_slice, is_empty}
rust-lang/rust/pull/86037

make fmt::Arguments::as_str unstably const
rust-lang/rust/pull/86655

cargo: unify weak and namespaced features
rust-lang/cargo/pull/9574

rustdoc: properly render higher-ranked trait bounds
rust-lang/rust/pull/84814

rustdoc: do not list impl when trait has doc(hidden)
rust-lang/rust/pull/86513

rustdoc: render <Self as X>::Y type casts properly across crate bounds
rust-lang/rust/pull/86449

rustdoc: staggered layout for module contents on mobile
rust-lang/rust/pull/85651

clippy: add suspicious group
rust-lang/rust-clippy/pull/7350
Updates from Rust Community

Official
[Foundation] Announcing our Executive Search
foundation.rust-lang.org

Project/Tooling Updates
ChainSafe's Polkadot Index Network Token update #2
medium.com/chainsafe-systems

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

Fang
www.badykov.com

This Week In Veloren 125
veloren.net

This Week In TensorBase 9
tensorbase.io

Observations/Thoughts
Hosting wasm modules in Rust easily using ‘wasmi’
blog.knoldus.com

[video] Why the future of the cloud will be built on Rust
www.youtube.com

Rust Walkthroughs
Deserializing Binary Data Files in Rust
adventures.michaelfbryan.com

Type-checked keypaths in Rust
www.cmyr.net

Polymorphism in Rust
oswalt.dev

Cross Compiling Rust Binaries With GitHub Actions
www.rohanjain.in

Rust #2: Lifetimes, Owners and Borrowers, OH MY!
dev.to

[series] Build an API in Rust (Part 3)
dev.to

[series] [video] Building a Web Application with Rust - Part V - HTTP Server with Database Manager
www.youtube.com

[series] [video] Building a Web Application with Rust - Part VI - CRUD API
www.youtube.com

[video] Beginner's Series to Rust
www.youtube.com

[video] Building a multithreaded Flutter + Rust App integrating both with Bloc/Cubit and Rid
www.youtube.com

[video] Implementing Hazard Pointers in Rust
www.youtube.com

[video] Rust Linz; June 2021 - Tim McNamara - How to learn Rust
www.youtube.com

Miscellaneous
Programming Rust, 2nd Edition is Available
www.oreilly.com

Rust in Action is Available
www.manning.com
Crate of the week: hypergraph

This week's crate is hypergraph, graph data structure implementation where edges can join arbitrary numbers of vertices.
Updates from core

make ForceWarn a lint level
rust-lang/rust/pull/86009

change vtable memory representation to use tcx allocated allocations
rust-lang/rust/pull/86475

support allocation failures when interpreting MIR
rust-lang/rust/pull/86255

avoid byte to char position conversions in is_multiline
rust-lang/rust/pull/86778

fix pretty print for loop
rust-lang/rust/pull/86358

pretty-print macro matchers instead of using source code
rust-lang/rust/pull/86282

fix ICE when main is declared in an extern block
rust-lang/rust/pull/86190

ignore inference variables in certain queries
rust-lang/rust/pull/86866

check the number of generic lifetime and const parameters of intrinsics
rust-lang/rust/pull/86148

check node kind to avoid ICE in check_expr_return()
rust-lang/rust/pull/86728

deny using default function in impl const Trait
rust-lang/rust/pull/86571

fix garbled suggestion for missing lifetime specifier
rust-lang/rust/pull/86678

fix misleading "impl Trait" error
rust-lang/rust/pull/86666

alloc: no_global_oom_handling: disable new()s, pin()s, etc.
rust-lang/rust/pull/86810

add linked list cursor end methods
rust-lang/rust/pull/86714

stabilize str::from_utf8_unchecked as const
rust-lang/rust/pull/86213

stabilize string_drain_as_str
rust-lang/rust/pull/86858

stabilize Bound::cloned()
rust-lang/rust/pull/86797

stabilize Seek::rewind()
rust-lang/rust/pull/86794

when using process::Command on Windows, environment variable names must be case-preserving but case-insensitive
rust-lang/rust/pull/85270

add track_path::path fn for usage in proc_macros
rust-lang/rust/pull/84029

libm: optimize round and roundf
rust-lang/libm/pull/253

cargo: adjust error message with offline and frozen
rust-lang/cargo/pull/9644

clippy: stabilize cargo clippy --fix
rust-lang/rust-clippy/pull/7405

clippy: downgrade nonstandard_macro_braces to nursery
rust-lang/rust-clippy/pull/7424

clippy: don't suggest doc(hidden) or unstable variants in wildcard lint
rust-lang/rust-clippy/pull/7407

clippy: fix emitting in nested (proc_)macros for nonstandard_macro_braces lint
rust-lang/rust-clippy/pull/7431

clippy: fix doc_markdown false positive
rust-lang/rust-clippy/pull/7426

clippy: new lint: rc_mutex
rust-lang/rust-clippy/pull/7316

clippy: new lint: strlen_on_c_strings
rust-lang/rust-clippy/pull/7243

clippy: new lint: disallowed_noscript_idents
rust-lang/rust-clippy/pull/7400
Updates from Rust Community

Official
[Inside] What the Error Handling Project Group is Working Towards
blog.rust-lang.org

Project/Tooling Updates
Linux Rust Support Patches
lore.kernel.org

Intellij Rust Changelog #150
intellij-rust.github.io

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

GCC Rust Monthly Report #7 June 2021
thephilbert.io

The future of Buck
developers.facebook.com

ChainSafe's Rust implementation of Mina spec Community Spotlight (video)
youtu.be

MoonZoon Dev News (5): Chat example, MoonZoon Cloud
dev.to

Fluvio: The Programmable Data Platform
www.infinyon.com

butido - a Linux Package Building Tool in Rust
beyermatthias.de

Knurling-rs changelog #28
ferrous-systems.com

fcp 0.2.0 released - A significantly faster alternative to cp
Svetlitski/fcp

Announcing Sycamore v0.5.0 - SSR + Routing
sycamore-rs.netlify.app

This Week In TensorBase 10
tensorbase.io

Observations/Thoughts
Walking through "The Java Tutorials" with Rust - 'What Is an Interface?' and specialization
rust-java-tutorials.netlify.app

Rust and Tinyverse
tinyverse.substack.com

Speeding Up the Webcola Graph Viz Library with Rust + WebAssembly
cprimozic.net

Rust closures: How a closure can implement more than one trait
diaries.vercel.app

Rust Walkthroughs
Rust on the front-end
blog.frankel.ch

Deploy a Rust Web App With Rocket
www.koyeb.com

A TCP Proxy in 30 lines of Rust
zmedley.com

Manage WebAssembly Apps in WasmEdge Using Docker Tools
www.secondstate.io

Rust Concept Clarification: Deref vs AsRef vs Borrow vs Cow
dev.to

Thread safety and Learning in Rust
dev.to

REST API Wrapper with Rust
dev.to

[video] Building a Web Application with Rust - Part VII - Auth Middleware
www.youtube.com

[video] Building a Web Application with Rust - Part VIII - Containerization
www.youtube.com

[video] Rust & Bevy Tutorial - Building a Game From Scratch (Part 1)
www.youtube.com

[video] Creating a Chat Server with async Rust and Tokio
www.youtube.com

[video] 1Password Developer Fireside Chat: Dive into Async & Futures in Rust
www.youtube.com
Crate of the week: css-inline

This week's crate is css-inline, a crate to inline CSS into style tags.