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

Avoid ICE when suggestion span is at Eof
rust-lang/rust/pull/62995

On format!() arg count mismatch provide extra info
rust-lang/rust/pull/63121

Syntax: Recover on for ( $pat in $expr ) $block
rust-lang/rust/pull/62928

dead_code: Properly inspect fields in struct patterns with type relative paths
rust-lang/rust/pull/63227

Collect file → edition mapping after AST expansion
rust-lang/rls/pull/1513

Unsupport the await!(future) macro
rust-lang/rust/pull/62293

Round generator sizes to a multiple of their alignment
rust-lang/rust/pull/63208

miri: Fix determining size of an "extra function" allocation
rust-lang/rust/pull/63076

miri: Add misssing 'roundf32' and 'roundf64' intrinsics
rust-lang/miri/pull/885

Impl Debug for Chars
rust-lang/rust/pull/63000

const fn-ify std::any::type_name
rust-lang/rust/pull/63123

hashbrown: Replace FxHash with AHash as the default hasher
rust-lang/hashbrown/pull/97

hashbrown: Experimentally expose RawTable under the "raw" feature
rust-lang/hashbrown/pull/108

rustc: Stabilize options for pipelined compilation
rust-lang/rust/pull/62766

cargo: Enable pipelined compilation by default
rust-lang/cargo/pull/7143

cargo: Improve error message for unmatched prerelease dependencies
rust-lang/cargo/pull/7191

rustdoc: Use doc comments from 'pub use' statements
rust-lang/rust/pull/63048
News

We rewrote our IoT platform in Rust and got away with it.
medium.com/dwelo-r-d

About the future of nphysics: a pure rust 2D and 3D real-time physics engine.
www.patreon.com

Building GTK+ app in Rust for a first time.
turbomack.github.io

Understanding Rust through AVL trees.
francismurillo.github.io

Writing an OS in Rust: Updates in July 2019.
os.phil-opp.com

Rust reverses research ruin.
medium.com/@me_26124

Veloren: A multiplayer voxel RPG written in Rust.
veloren.net

Minimum safe abstractions.
llogiq.github.io

How to serve static files with Rust.
www.steadylearner.com

Rust Rocks NB-IoT! STM32 Blue Pill with Quectel BC95-G on Apache Mynewt.
medium.com/@ly.lee
Crate of the week: broot

This week's crate is broot, a program to show the gist of a directory tree.
Updates from core

Sort the fat LTO modules to produce deterministic output
rust-lang/rust/pull/63352

More explicit diagnostic when using a vec![] in a pattern
rust-lang/rust/pull/63399

Give built-in macros stable addresses in the standard library
rust-lang/rust/pull/63056

Remove gensym in format_args
rust-lang/rust/pull/63114

Cleanup & Simplify stuff in lowering
rust-lang/rust/pull/63432

Revert "Simplify MIR generation for logical ops"
rust-lang/rust/pull/63431

CTFE: Simplify ConstValue by not checking for alignment
rust-lang/rust/pull/63079

Miri: Use ldexp from cmath instead
rust-lang/miri/pull/898

Fix generator size regressions due to optimization
rust-lang/rust/pull/63034

Improve invalid_value lint message
rust-lang/rust/pull/63483

Fix for "ambiguous associated type" issue with ATBs
rust-lang/rust/pull/61919

Add implementations for converting boxed slices into boxed arrays
rust-lang/rust/pull/61515

Add {IoSlice, IoSliceMut}::advance
rust-lang/rust/pull/62987

Stabilize duration_float
rust-lang/rust/pull/62756

Deprecate try! macro
rust-lang/rust/pull/62672

Use internal iteration in the Sum and Product impls of Result and Option
rust-lang/rust/pull/62459

Implement DoubleEndedIterator for iter::{StepBy, Peekable, Take}
rust-lang/rust/pull/61457

Skip roundtrip on few structs on OpenBSD
rust-lang/libc/pull/1456

cargo: Improve error message when using API command with non-remote registry
rust-lang/cargo/pull/7239
News

Tokio alpha release with async & await.
tokio.rs

Await a minute, why bother?
docs.rs

Functional programming jargon in Rust.
functional.works-hub.com

Migrating the TiKV Rust client from futures 0.1 to 0.3.
tikv.org

Updating to async/await.
leshow.github.io

Follow-up to Method on Emulating Higher-Kinded Types (HKTs) in Rust.
https://gist.github.com/edmundsmith/e09d5f473172066c0023ef84ee830cad

Runtime configuration reloading.
vorner.github.io

Parsing Rust strings into slices.
wduquette.github.io

Why is there a large performance impact when looping over an array over 240 elements?
stackoverflow.com
Crate of the week: topgrade

This week's crate is topgrade, a command-line program to upgrade all the things.
Updates from core

Hash the remapped sysroot instead of the original
rust-lang/rust/pull/63505

Make sure that all file loading happens via SourceMap
rust-lang/rust/pull/63525

syntax: Account for CVarArgs being in the argument list
rust-lang/rust/pull/63459

Remove redundant ty fields from mir::Constant and hair::pattern::PatternRange
rust-lang/rust/pull/63495

resolve: Remove remaining special cases from built-in macros
rust-lang/rust/pull/63449

resolve: Properly integrate derives and macro_rules scopes
rust-lang/rust/pull/63667

Point at the right enclosing scope when using await in non-async fn
rust-lang/rust/pull/63509

typeck: Prohibit RPIT types that inherit lifetimes
rust-lang/rust/pull/62849

Handle elision in async fn correctly
rust-lang/rust/pull/63499

When needing type annotations in local bindings, account for impl Trait and closures
rust-lang/rust/pull/63507

Improved error message for break in async block
rust-lang/rust/pull/63659

Suggest Rust 2018 on <expr>.await with no such field
rust-lang/rust/pull/63539

Crank up invalid value lint
rust-lang/rust/pull/63657

Refactor Miri ops (unary, binary) to have more types
rust-lang/rust/pull/63658

Do not generate allocations for zero sized allocations
rust-lang/rust/pull/63635

Feature gate 'yield $expr?' pre-expansion
rust-lang/rust/pull/63545

Provide map_ok and map_err method for Poll>>
rust-lang/rust/pull/63512

Implement Clone, Display for ascii::EscapeDefault
rust-lang/rust/pull/63421

Add APIs for uninitialized Box, Rc, and Arc (Plus get_mut_unchecked)
rust-lang/rust/pull/62451

Reduce the genericity of closures in the iterator traits
rust-lang/rust/pull/62429

Add custom nth_back for Chain
rust-lang/rust/pull/60492

cargo install: Remove orphaned executables
rust-lang/cargo/pull/7246
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