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
News

Announcing Rust 1.43.1
blog.rust-lang.org

Rust concurrency: the single-writer principle.
medium.com/@polyglot_factotum

This Month in Rust OSDev (April 2020)
rust-osdev.com

A no_std Rust binary
fasterthanli.me

Notes on io_uring
boats.gitlab.io

no_std async/await - soon on stable
ferrous-systems.com

"try fn" without special-casing Result
dev.to

time_it: A case study in Rust macros
notes.iveselov.info

Dynamic stylesheets and Yew
conradludgate.com

A practical introduction to async programming in Rust
jamesmcm.github.io

Rust Closures in FFI
adventures.michaelfbryan.com

Collecting many errors from an iterator of Results.
tarquin-the-brave.github.io

Auto-currying Rust Functions
peppe.rs

Converting bits to integers in Rust using generics
dev.to

Magnifying Glasses for Rust Assembly
www.justanotherdot.com

More Rust and Load Balancer Adventures
medium.com/@bparli

Porting North Korean Dictionaries with Rust
digitalnk.com

Rust verification tools
alastairreid.github.io

Series Announcement - Zero to Production in Rust
www.lpalmieri.com

What I Learned Contributing to Rust-Analyzer
dev.to

What’s the difference between a Rust char and a Go rune?
www.christianfscott.com

Writing A Wayland Compositor In Rust
wiki.alopex.li

Yak shaving conditional compilation in Rust
bitshifter.github.io

Oxidize Global Workshop and CfP announcement
ferrous-systems.com

Collecting many errors from an iterator of Results.
tarquin-the-brave.github.io

Writing Python inside your Rust code - Part 3
blog.m-ou.se

Rust FFI - Building an ASN1 codec
sjames.github.io

[video] Building a simple GraphQL API with Actix and Juniper
youtu.be

[video] Named Field Init in C, C++20, Zig, Rust, & D
www.youtube.com
Crate of the week: cargo-workspaces

This week's crate is cargo-workspaces, a cargo subcommand to manage your cargo workspace.
Updates from core

add built in PSP target
rust-lang/rust/pull/72062

emit a warning when optimization fuel runs out
rust-lang/rust/pull/72067

literal error reporting cleanup
rust-lang/rust/pull/72047

incomplete features can also be unsound
rust-lang/rust/pull/72045

be less aggressive with DroplessArena/TypedArena growth
rust-lang/rust/pull/71872

provide separate option for std debug asserts
rust-lang/rust/pull/72146

rework the std::iter::Step trait
rust-lang/rust/pull/69659

simpler slice Iterator methods
rust-lang/rust/pull/72166

make RawVec::grow mostly non-generic
rust-lang/rust/pull/72013

implement FromStr for OsString
rust-lang/rust/pull/71662

make offset must_use
rust-lang/rust/pull/72143

cargo: ignore broken console output in some situations
rust-lang/cargo/pull/8236

cargo: handle LTO with an rlib/cdylib crate type
rust-lang/cargo/pull/8254

cargo: gracefully handle errors during a build
rust-lang/cargo/pull/8247
News

Five Years of Rust
blog.rust-lang.org

Structuring and handling errors in 2020
nick.groenen.me

Taking Advantage of Auto-Vectorization in Rust
nickwilcox.github.io

State of Web Routing in Rust
pksunkara.com

Rust releases for single and multiple targets with GitHub Actions
mateuscosta.me

Getting Started With Rust By Building A Tiny Markdown Compiler
jesselawson.org

Parcel and Rust: A WASM Romcom
dev.to

Reading temperature sensor in Rust using Raspberry Pi GPIO
dev.to

Rust Analyzer - Next Few Years
rust-analyzer.github.io

Rust Closures in FFI
adventures.michaelfbryan.com

The case for using Rust for Automotive Software
medium.com/@sojan.james

Gamedev #4: Benefits of full-stack Rust
www.jakobmeier.ch

RISC-V OS using Rust Chapter 9: Block IO
osblog.stephenmarz.com

A Guide to Global Data in Rust
paulkernfeld/global-data-in-rust

[audio] What's New in Rust 1.42 and 1.43
rustacean-station.org

[video] Jonathan Teaches Jason Rust!
www.youtube.com

[video] Educational Rust coding - Building a web app
www.twitch.tv

[video] Rust and C++ Cardiff Virtual Meetup
www.youtube.com
Crate of the week: apply

This week's crate is apply, a tiny library for chaining free functions into method call chains.
Updates from core

update to LLVM 10
rust-lang/rust/pull/67759

llvm: expose tiny code model to users
rust-lang/rust/pull/72397

enable ARM TME (Transactional Memory Extensions)
rust-lang/rust/pull/72438

implement new asm! syntax from RFC #2850
rust-lang/rust/pull/69171

always generated object code for #![no_builtins]
rust-lang/rust/pull/72325

break tokens before checking if they are 'probably equal'
rust-lang/rust/pull/72306

emit a better diagnostic when function actually has a 'self' parameter
rust-lang/rust/pull/72308

stabilize fn-like proc macros in expression, pattern and statement positions
rust-lang/rust/pull/68717

use once_cell crate instead of custom data structure
rust-lang/rust/pull/72256

simple NRVO
rust-lang/rust/pull/72205

remove ReScope
rust-lang/rust/pull/72362

exhaustively check ty::Kind during structural match checking
rust-lang/rust/pull/72153

move borrow-of-packed-field unsafety check out of loop
rust-lang/rust/pull/72269

fix InlineAsmOperand expresions being visited twice during liveness checking
rust-lang/rust/pull/72537

chalk: cleanup crate structure and add features for SLG/recursive solvers
rust-lang/chalk/pull/459

check non-Send/Sync upvars captured by generator
rust-lang/rust/pull/71923

support coercion between FnDef and arg-less closure and vice versa
rust-lang/rust/pull/71599

more lazy normalization of constants
rust-lang/rust/pull/71973

miri: prepare Dlsym system for dynamic symbols on Windows
rust-lang/miri/pull/1424

use T's discriminant type in mem::Discriminant<T> instead of u64
rust-lang/rust/pull/70705

fix discriminant type in generator transform
rust-lang/rust/pull/72502

impl From<Cow> for Box, Rc, and Arc
rust-lang/rust/pull/71447

another attempt to reduce size_of<HashMap>
rust-lang/hashbrown/pull/159

set initial non-empty Vec size to 4 instead of 1
rust-lang/rust/pull/72227

make std::char functions and constants associated to char
rust-lang/rust/pull/71854

stabilize saturating_abs and saturating_neg
rust-lang/rust/pull/71886

add len and slice_from_raw_parts to NonNull<[T]>
rust-lang/rust/pull/71940

add fast-path optimization for Ipv4Addr::fmt
rust-lang/rust/pull/72399

impl Ord for proc_macro::LineColumn
rust-lang/rust/pull/72446

cargo: try installing exact versions before updating
rust-lang/cargo/pull/8022

cargo: automatically update patch, and provide better errors if an update is not possible
rust-lang/cargo/pull/8248

cargo: add option to strip binaries
rust-lang/cargo/pull/8246

rustfmt: merge configs from parent directories
rust-lang/rustfmt/pull/4179

rustfmt: umprove error message when module resolution failed
rust-lang/rustfmt/pull/4198

rustfmt: parse comma-separated branches in macro definitions
rust-lang/rustfmt/pull/4173
News

Compiling Rust binaries for Windows 98 SE and more: a journey
seri.tools

Zero To Production #0: Foreword
www.lpalmieri.com

Some Extensive Projects Working with Rust
blog.knoldus.com

Writing Python inside your Rust code — Part 4
blog.m-ou.se

Drawing SVG Graphics with Rust
cetra3.github.io

Designing the Rust Unleash API Client
medium.com/cognite

Conway's Game of Life on the NES in Rust
gridbugs.org

How to organize your Rust tests
blog.logrocket.com

Just: How I Organize Large Rust Programs
rodarmor.com

Integrating Qt events into Actix and Rust
www.rubdos.be

Actix-Web in Docker: How to build small and secure images
dev.to

Angular, Rust, WebAssembly, Node.js, Serverless, and... the NEW Azure Static Web Apps!
dev.to

The Chromium project finds that around 70% of our serious security bugs are memory safety problems
www.chromium.org

Integration of AV-Metrics Into rav1e, the AV1 Encoder
dev.to

Oxidizing the technical interview
blog.mgattozzi.dev

Porting K-D Forests to Rust
tavianator.com

Rust Macro Rules in Practice
dev.to

Rust: Dropping heavy things in another thread can make your code 10000 times faster
abramov.io

Rust's Runtime
blog.mgattozzi.dev

[audio] Tech Except!ons: What Microsoft has to do with Rust? With Ryan Levick
anchor.fm

[video] [Russian] Rust: Not as hard as you think - Meta/conf: Backend Meetup 2020
www.youtube.com

[video] 3 Part Video for Beginners to Rust Programming on Iteration
tim.mcnamara.nz

[video] Bringing WebAssembly outside the web with WASI by Lin Clark
www.youtube.com

[video] Microsoft's Safe Systems Programming Languages Effort
mybuild.microsoft.com

[video] Rust, WebAssembly, and the future of Serverless by Steve Klabnik
www.youtube.com
Crate of the week: cargo-asm

This week's crate is cargo-asm, a cargo subcommand to show the resulting assembly of a function. Useful for performance work.
Updates from core

implement unsafe blocks in unsafe fn (RFC #2585)
rust-lang/rust/pull/71862

exhaustiveness checking: work around type normalization issues
rust-lang/rust/pull/72506

suggest using std::mem::drop function instead of explicit destructor call
rust-lang/rust/pull/72383

add a lint against references to packed fields
rust-lang/rust/pull/72270

avoid setting wrong obligation cause span of associated type mismatch
rust-lang/rust/pull/72807

account for trailing comma when suggesting where clauses
rust-lang/rust/pull/72715

fix diagnostics for @ .. binding pattern in tuples and tuple structs
rust-lang/rust/pull/72677

chalk: request hidden opaque types lazily
rust-lang/chalk/pull/478

miri: synchronization primitive cleanup
rust-lang/miri/pull/1441

from_u32_unchecked: check validity, and fix UB in Wtf8
rust-lang/rust/pull/72683

implement total_cmp for f32, f64
rust-lang/rust/pull/72568

override Box::<[T]>::clone_from
rust-lang/rust/pull/72499

add Extend::{extend_one, extend_reserve}
rust-lang/rust/pull/72162

make pointer offset methods/intrinsics const
rust-lang/rust/pull/71500

impl From<[T; N]> for Box<[T]>
rust-lang/rust/pull/71095

stabilization of weak-into-raw
rust-lang/rust/pull/72288

resolve UB in Arc/Weak interaction, part 2
rust-lang/rust/pull/72533

stabilize str_strip feature
rust-lang/rust/pull/72466

impl Step for char (make Range*<char> iterable)
rust-lang/rust/pull/72413

add Peekable::next_if
rust-lang/rust/pull/72310

various minor improvements to Ipv6Addr::Display
rust-lang/rust/pull/72407

SocketAddr and friends now correctly pad its content
rust-lang/rust/pull/72398

implement PartialOrd and Ord for SocketAddr*
rust-lang/rust/pull/72239

tweak and stabilize AtomicN::fetch_update
rust-lang/rust/pull/71843

stabilize AtomicN::fetch_{min, max}
rust-lang/rust/pull/72324

stdarch: add 64 bit integer AVX512f comparisons and the intrinsics needed to test them
rust-lang/stdarch/pull/856

stdarch: add 64 bit AVX512f le and ge comparisons
rust-lang/stdarch/pull/861

libm: use macros for more division/array checks
rust-lang/libm/pull/244
News

RustConf 2020 Registration is Open
rustconf.com/

2020 Contributor Survey
blog.rust-lang.org

A retrospective on the 2018 rust-lang.org redesign
blog.rust-lang.org

Rust Disassembly: Part 1
giordi91.github.io

Fuzzing Sequoia-PGP
blog.hackeriet.no

Mutex in async world
kitsu.me

Custom types in Diesel
kitsu.me

Auto-Vectorization for Newer Instruction Sets in Rust
www.nickwilcox.com

Current State of Embedded Rust for Flight Controllers
https://gist.github.com/tstellanova/81c963f556522447dd007a0c3a84ebc3

3D boids swimming along in perfect harmony; Implementing the boids flocking algorithm in Rust
www.reddit.com

Coverage Marks
ferrous-systems.com

Ringbahn: a safe, ergonomic API for io-uring in Rust
boats.gitlab.io

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

Why I'm enjoying learning Rust as a Java programmer
opensource.com

Contributing to Rust
blog.elinvynia.com

Get a Look on Key Rust Crates for WebAssembly
blog.knoldus.com

10 Most Loved Programming Languages: Rust, TypeScript, and More
insights.dice.com

Creating a Ruby Gem with Rust
richardpatching.com

Designing the Rust Unleash API client
medium.com/cognite

How to build a WebSocket server with Rust
blog.logrocket.com

Invoking Functions on Distributed Game Objects
dev.to

IPv6 and Rust
blog.apnic.net

Rust as a High Level Language
llogiq.github.io

Sorting algorithms in Rust
dev.to

Programming Servo: integrating streams
medium.com/@polyglot_factotum

To Rust or not to Rust
oldmill.cz

[Spanish] Aprende Rust en español
dev.to

[video] A Rust & Wasm tutorial on building Bitcoin infrastructure. Rust beginner-friendly!
www.youtube.com

[video] Crust of Rust: Iterators
www.youtube.com

[video] Rust and Tell Berlin - May 2020
www.youtube.com
Crate of the week: jql

This week's crate is jql, a JSON Query Language CLI tool.
Updates from core

InstCombine: don't optimize &mut *x into x
rust-lang/rust/pull/72820

add -Z span-debug to allow for easier debugging of proc macros
rust-lang/rust/pull/72799

avoid setting wrong obligation cause span of associated type mismatch
rust-lang/rust/pull/72807

be more careful around ty::Error in generators
rust-lang/rust/pull/72764

fulfill: try using SmallVec or Box for stalled_on
rust-lang/rust/pull/72776

impl AsRef<[T]> for vec::IntoIter<T>
rust-lang/rust/pull/72583

chalk: get ready for the first publish
rust-lang/chalk/pull/483

free default() forwarding to Default::default()
rust-lang/rust/pull/73001

stabilize std::io::Buf{Reader, Writer}::capacity
rust-lang/rust/pull/72924

add associated consts MIN/MAX for Wrapping<Int>
rust-lang/rust/pull/72891

de-promote Duration::from_secs
rust-lang/rust/pull/71796

compiler-builtins: manually patch ret instruction for LVI
rust-lang/compiler-builtins/pull/359

cargo: add environment variables to identify the binary and crate name
rust-lang/cargo/pull/8270

cargo: allow Windows dylibs without dll suffix
rust-lang/cargo/pull/8310

cargo: better error message when passing in relative path to Workspace::new
rust-lang/cargo/pull/8321

cargo: don't hash executable filenames on apple platforms
rust-lang/cargo/pull/8329

cargo: support {prefix} and {lowerprefix} markers in config.json dl key
rust-lang/cargo/pull/8267

cargo: warn if using hash in git URL
rust-lang/cargo/pull/8297

cargo: reset lockfile information between resolutions
rust-lang/cargo/pull/8274

crates.io: fix issue where crates.io allowed the plus sign in crate names
rust-lang/crates.io/pull/2551

docs.rs: print a backtrace for crates which fail to build
rust-lang/docs.rs/pull/823

rustfmt: pick up comments between visibility modifier and item name
rust-lang/rustfmt/pull/4239

rustfmt: preserve Markdown line breaks in inner and outer block doc comments
rust-lang/rustfmt/pull/4233

rustfmt: use rewrite buffer to determine if comment should be on a newline
rust-lang/rustfmt/pull/4229

rustfmt: feat: conditionally allow unstable opts on stable/beta
rust-lang/rustfmt/pull/4228
News

Announcing Rust 1.44.0
blog.rust-lang.org

RustConf 2020 Registration is Open
rustconf.com/

Enumerating monitors in Rust using Win32 API
patriksvensson.se

Rust cli app integrated with slack
bprog.github.io

Hack week: miniCouchDB in Rust
www.garrensmith.com

Zero To Production #1: toolchains, IDEs, CI
www.lpalmieri.com

From Rust to Svelte, what tech stack will I use
hugodaniel.pt

Graph & Tree Traversals in Rust
sachanganesh.com

Programming languages: Rust enters top 20 popularity rankings for the first time
www.zdnet.com

A Rust SentencePiece implementation
guillaume-be.github.io

Rust Things I Miss in C
people.gnome.org

So What's Up with Microsoft's (and Everyone Else's) Love of Rust?
visualstudiomagazine.com

Why the developers who use Rust love it so much
stackoverflow.blog

The Story of Tail Call Optimizations in Rust
dev.to

Taking the Unhappy Path with Result, Option, unwrap and ? operator in Rust
dev.to

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

This Month in Rust GameDev #10 - May 2020
rust-gamedev.github.io

This month in rustsim #11 (April - May 2020)
www.rustsim.org

Rust in Blockchain Newsletter #12 - ZK-Rustups
rustinblockchain.org

Memory-Safety Challenge Considered Solved? An Empirical Study with All Rust CVEs
arxiv.org

Creating Your Own Programming Language with Rust
createlang.rs/

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

Getting started with Rust/WinRT
kennykerr.ca

[Chinese] Simple sorting algorithms in Rust
www.bilibili.com

[Indonesian] Berbagai alasan melakukan Programming dalam Rust
dev.to

[slides] Rust in 15 Minutes
geigerkind.github.io

[video] Rust Web development | Boilerplate free with Rocket
youtu.be

[video] Educational Rust Live Coding - Building a web app - Part 4
www.youtube.com

[video] Iterators - Rust
www.youtube.com

[video] Browser computation with WebAssembly Live Stream
www.twitch.tv

[video] Jonathan Teaches Jason Rust!
www.youtube.com
Crate of the week: cargo-spellcheck

This week's crate is cargo-spellcheck, a cargo subcommand to spell-check your docs.
News

2020 Event Lineup - Update
blog.rust-lang.org

New inline assembly syntax available in nightly
blog.rust-lang.org

Announcing RustFest Global 2020 🎉
blog.rustfest.eu

RustConf 2020 Registration is Open
rustconf.com/

Understanding the Rust Ecosystem
joeprevite.com

You Want to Learn Rust but You Don’t Know Where to Start
towardsdatascience.com

7 Awesome Rust-powered Command-line Utilities
towardsdatascience.com

Rust-Powered Command-Line Utilities to Increase Your Productivity
towardsdatascience.com

Errors in Rust: A Deep Dive
www.halcyon.hr

Hyper Traps
vorner.github.io

Getting Started With The STM32 Nucleo-F302R8 and Rust
blue42.net

Microsoft: Rust is the Industry's 'Best Chance' at Safe Systems Programming
thenewstack.io

Tour of Rust: Chapter 7 - Object Oriented Programming
tourofrust.com

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

Rustls Security Review & Audit Report
ctz/rustls/blob/master/audit/TLS-01-report.pdf

NDArray Index Arrays and Mask Index Arrays
shahinrostami.com

Two Memory Bugs From Ringbahn
without.boats

Dart Meets Rust: a match made in heaven
dev.to

C++ Developer Learning Rust!
dev.to

Container with Most Water
dev.to

Generics and Compile-Time in Rust
pingcap.com

Improve the performances of your Phoenix app with Rust: in both back and front
dev.to

Improving the IDE for Rust/WinRT
kennykerr.ca

My Experiences with Rust Open Source Projects
javednissar.ca

Playing Codenames with Rust
rolisz.ro

Spend your novelty budget on Rust
tim.mcnamara.nz

The Rust compiler isn't slow; we are.
blog.kodewerx.org

The Story of Tail Call Optimizations in Rust
dev.to

[audio] AreWePodcastYet - Interview with Tim McNamara, author of Rust in Action
soundcloud.com

[video] Rust Notebooks (Jupyter and Evcxr) - Getting Started
www.youtube.com