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.37.0. 🎉🎈
blog.rust-lang.org

Announcing async-std beta: an async port of the Rust standard library.
async.rs

How Rust optimizes async/await: Part 1.
tmandry.gitlab.io

System 76 releases new GTK firmware manager written in Rust.
blog.system76.com

Writing a Linux kernel module in Rust.
lizhuohua/linux-kernel-module-rust

Introducing the Rust Game Development Working Group.
rust-gamedev.github.io

Steam wishlist announced for Way of Rhea, a sidescrolling puzzle game written in Rust.
store.steampowered.com

Visual embedded Rust programming with Visual Studio Code.
medium.com/@ly.lee

How to diagnose async apps with tracing.
tokio.rs

Using C libraries in Rust: A practical guide to FFI using bindgen.
medium.com/dwelo-r-d

Pre-/Post-conf events: Sustainable 🚄 train travels from and to RustFest Barcelona.
blog.rustfest.eu

<_>::v::<_> - A fun little piece of Rust artwork.
chrismorgan.info
Crate of the week: async-std

This week's crate is async-std, a library with async variants of the standard library's IO etc.
Updates from core

Stabilize async_await in Rust 1.39.0
rust-lang/rust/pull/63209

When declaring a declarative macro in an item it's only accessible inside it
rust-lang/rust/pull/63624

Improve diagnostics: break/continue in wrong context
rust-lang/rust/pull/63780

Audit uses of apply_mark in built-in macros + Remove default macro transparencies
rust-lang/rust/pull/63823

Ensure miri can do bit ops on pointer values
rust-lang/rust/pull/63839

Use more optimal Ord implementation for integers
rust-lang/rust/pull/63767

Fix bug in iter::Chain::size_hint
rust-lang/rust/pull/63691

Implement nth_back for ChunksExactMut
rust-lang/rust/pull/63265

Avoid unnecessary reservations in std::io::Take::read_to_end
rust-lang/rust/pull/63216

cargo: Fix error:/warning: coloring inconsistency with rustc
rust-lang/cargo/pull/7294

rustdoc: Support impl Trait in inlined documentation
rust-lang/rust/pull/61613

rustup: Replace mem::uninitialized with MaybeUninit
rust-lang/rustup.rs/pull/1963
News

Should small Rust structs be passed by-copy or by-borrow?
www.forrestthewoods.com

Thoughts on Rust bloat.
raphlinus.github.io

Rust GUI ecosystem overview.
gitlab.com

Introduction to C2Rust.
immunant.com

Async stack traces in Rust.
fitzgeraldnick.com

Polsim - a case study for small-scale scientific computing in Rust.
tinkering.xyz

Managing memory in Rust: Entity-component systems.
mmstick.keybase.pub

Actually using Crev, or, the problem of trusting software dependencies.
wiki.alopex.li

Review of “Everything in Rust” of COSCUP 2019.
medium.com/coding-neutrino-blog
Crate of the week: include_flate

This week's crate is include_flate, a variant of include_bytes!/include_str with compile-time DEFLATE compression and runtime lazy decompression.
Updates from core

rustc: Handle modules in "fat" LTO more robustly
rust-lang/rust/pull/63956

Add default serialization for Idents
rust-lang/rust/pull/63853

Correctly suggest adding bounds to impl Trait argument
rust-lang/rust/pull/63811

Strip code to the left and right in diagnostics for long lines
rust-lang/rust/pull/63402

Do not complain about unused code when used in impl Self type
rust-lang/rust/pull/63317

Simplify eager normalization of constants
rust-lang/rust/pull/63820

miri: Stacked Borrows: Don't read from memory during retagging
rust-lang/miri/pull/931

miri: detect too large dynamically sized objects
rust-lang/rust/pull/64014

Small improvement for Ord implementation of integers
rust-lang/rust/pull/63992

Improve Rustdoc's handling of procedural macros
rust-lang/rust/pull/62855

crates.io: Show right-hand column for yanked versions to crate owners
rust-lang/crates.io/pull/1759
News

Introduction to Rust web applications.
erwabook.com

This month in Rust GameDev #1 - August 2019.
rust-gamedev.github.io

HHVM is rewriting some of its OCaml code to Rust.
hhvm.com

Announcing cargo-udeps.
https://gist.github.com/est31/3d9e880be746c3a443c699d9ff1888d2

Announcing structopt 0.3.
www.reddit.com

Semantic validation in Rust.
slowtec.de

Low power NB-IoT on STM32 Blue Pill with Apache Mynewt and embedded Rust.
medium.com/@ly.lee
Crate of the week: cargo-udeps

This week's crate is cargo-udeps, a cargo subcommand to find unused dependencies.
👍1
Updates from core

Support both static and dynamic linking mode in testing for vxWorks
rust-lang/rust/pull/63789

Point at variant on pattern field count mismatch
rust-lang/rust/pull/64161

Use hygiene for AST passes
rust-lang/rust/pull/63919

Account for doc comments coming from proc macros without spans
rust-lang/rust/pull/63930

Reduce span to function name in unreachable calls
rust-lang/rust/pull/64229

Move path parsing earlier
rust-lang/rust/pull/64120

or-patterns: Uniformly use PatKind::Or in AST & Fix/Cleanup resolve
rust-lang/rust/pull/64111

Allow checking of run-pass execution output in compiletest
rust-lang/rust/pull/63825

Rust 2018: NLL migrate mode => hard error
rust-lang/rust/pull/63565

Extend Polonius fact generation for (some) move tracking
rust-lang/rust/pull/62800

polonius: Finalise initialisation calculations
rust-lang/polonius/pull/110

libc: Remove WASI Core API
rust-lang/libc/pull/1461

Use wasi crate for Core API
rust-lang/rust/pull/63676

Use unicode-xid crate instead of libcore
rust-lang/rust/pull/62848

Add Result::cloned{,_err} and Result::copied{,_err}
rust-lang/rust/pull/63166

Stabilize bind_by_move_pattern_guards in Rust 1.39.0
rust-lang/rust/pull/63118

Stabilize checked_duration_since for 1.38.0
rust-lang/rust/pull/62860

Stabilize pin_into_inner in 1.39.0
rust-lang/rust/pull/63985

Rev::rposition counts from the wrong end
rust-lang/rust/pull/63549

Override StepBy::{try_fold, try_rfold}
rust-lang/rust/pull/64121

Add Iterator comparison methods that take a comparison function
rust-lang/rust/pull/62205

Add methods for converting bool to Option<T>
rust-lang/rust/pull/64255

cargo: Rename --all to --workspace
rust-lang/cargo/pull/7241
News

How Rust optimizes async/await II: program analysis.
tmandry.gitlab.io

Rust on the ESP32.
mabez.dev

Linux.Fe2O3: a Rust virus.
www.guitmz.com

Improvement to the compile time of a crate.
antoyo.ml

hyper 0.13 alpha supports async/await.
seanmonstar.com

Writing an OS in Rust: updates in August 2019.
os.phil-opp.com

Rust in large organizations - meeting notes.
users.rust-lang.org

Futures concurrency.
blog.yoshuawuyts.com
Crate of the week: viu

This week's crate is viu, a terminal image viewer.
Updates from core

rustc: Allow the cdylib crate type with wasm32-wasi
rust-lang/rust/pull/64188

Hide diagnostics emitted during --cfg parsing
rust-lang/rust/pull/64467

Improve hygiene of alloc::format!
rust-lang/rust/pull/64060

Cleanup handling of hygiene for built-in macros
rust-lang/rust/pull/64469

resolve: Tweak some "cannot find" wording for macros
rust-lang/rust/pull/64483

Provide a span if main function is not present in crate
rust-lang/rust/pull/64290

def_collector: Do not ICE on attributes on unnamed fields
rust-lang/rust/pull/64457

Permit impls referencing errors to overlap
rust-lang/rust/pull/64474

lowering: Extend temporary lifetimes around await
rust-lang/rust/pull/64292

Shrink ObligationCauseCode
rust-lang/rust/pull/64302

check_match: Refactor + improve non-exhaustive diagnostics for default binding modes
rust-lang/rust/pull/64271

fn ptr is structural match
rust-lang/rust/pull/64431

rustc_mir: Buffer -Zdump-mir output instead of pestering the kernel constantly
rust-lang/rust/pull/64344

std: Add a backtrace module
rust-lang/rust/pull/64154

Stabilize Vec::new and String::new as const fns
rust-lang/rust/pull/64028

Stabilise weak_ptr_eq
rust-lang/rust/pull/61797

Make abs, wrapping_abs, overflowing_abs const functions
rust-lang/rust/pull/63786

Use try_fold instead of manually carrying an accumulator
rust-lang/rust/pull/64473

Improve BTreeSet::Intersection::size_hint
rust-lang/rust/pull/64383

cargo: Don't build libstd as a dylib
rust-lang/cargo/pull/7353

rustup: Update to most recent viable nightly
rust-lang/rustup.rs/pull/1997
News

Upcoming docs.rs changes.
blog.rust-lang.org

GitHub Actions for Rust.
svartalf.info

Rustconf 2019 videos.
www.youtube.com

Improved C variadics in Rust and C2Rust.
immunant.com

Oreboot: Coreboot minus C, a talk by Google.
osfc.io

Announcing awesome-rust-mentors.
rustbeginners.github.io

Adventures in motion control.
adventures.michaelfbryan.com
Crate of the week: texture-synthesis

This week's crate is texture-synthesis, a program to generate textures by choosing examples.
Updates from core

Infer consts more consistently
rust-lang/rust/pull/64679

Parse assoc type bounds in generic params and provide custom diagnostic
rust-lang/rust/pull/64676

Update to LLVM 9.0.0
rust-lang/rust/pull/64634

rustbuild: Copy crate doc files fewer times
rust-lang/rust/pull/64613

Point at original span when emitting unreachable lint
rust-lang/rust/pull/64592

record fewer adjustment types in generator witnesses, avoid spurious drops in MIR construction
rust-lang/rust/pull/64584

More ObligationForest improvements
rust-lang/rust/pull/64545

Replace state_for_location with DataflowResultsCursor
rust-lang/rust/pull/64532

Load proc macro metadata in the correct order
rust-lang/rust/pull/64528

Various ObligationForest improvements
rust-lang/rust/pull/64500

Shrink SubregionOrigin
rust-lang/rust/pull/64394

save-analysis: Nest typeck tables when processing functions/methods
rust-lang/rust/pull/64250

Add cmp::{min_by, min_by_key, max_by, max_by_key}
rust-lang/rust/pull/64047

Stabilize param_attrs in Rust 1.39.0
rust-lang/rust/pull/64010

Make sure interned constants are immutable
rust-lang/rust/pull/63955

Added ability to crosscompile doctests
rust-lang/cargo/pull/6892

Add std_detect::detect::features() API that returns iterator of target-features and reject unstable features in feature-detection macros
rust-lang/stdarch/pull/739
News

LLVM: closing the gap - cross-language LTO between Rust and C/C++.
blog.llvm.org

Weld: accelerating numpy, scikit and pandas as much as 100x with Rust and LLVM.
notamonadtutorial.com

Declarative memory management.
amos.me

Generic newtypes: A way to work around the orphan rule.
blog.eizinger.io

Async builders.
blog.yoshuawuyts.com

Adventures in motion control: top-level infrastructure.
adventures.michaelfbryan.com

Build an NB-IoT GPS Tracker on STM32 L476 with Apache Mynewt and Embedded Rust.
medium.com/@ly.lee

Navigating the Rust OSS community.
yaah.dev