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

Rust is the most loved language four years in a row.
insights.stackoverflow.com

How to compose functions in Rust.
stackoverflow.com

A basic web application with Rust and Actix-web.
zupzup.org

More tricks up in the ArcSwap’s sleeve.
vorner.github.io

Arenas vs. indices.
llogiq.github.io

Protocols in Tokio (i3 IPC).
leshow.github.io

Array1 and function traits (scientific computing: a Rust adventure, part 2).
www.lpalmieri.com
Crate of the week: interact

This week's crate is interact, a framework for online introspection of the running program state. Thanks to Willi Kappler for the suggestion!
Updates from core

save-analysis: Pull associated type definition using qpath_def
rust-lang/rust/pull/59894

Recover from missing semicolon based on the found token
rust-lang/rust/pull/59866

Increase Span from 4 bytes to 8 bytes
rust-lang/rust/pull/59693

proc_macro: Stop using LEB128 for RPC
rust-lang/rust/pull/59820

Remove duplicated redundant spans
rust-lang/rust/pull/59896

Mark variables captured by reference as mutable correctly
rust-lang/rust/pull/59708

Suggest removing ? to resolve type errors
rust-lang/rust/pull/59859

Make duplicate matcher bindings a hard error
rust-lang/rust/pull/59858

Improvement for comparision against fn
rust-lang/rust/pull/59798

Suggest importing macros from the crate root
rust-lang/rust/pull/59784

Function arguments should never get promoted
rust-lang/rust/pull/59724

miri: Implement non-deterministc mode
rust-lang/miri/pull/683

miri: Unsized locals and by-value dyn traits
rust-lang/rust/pull/59780

std: Add {read, write}_vectored for more types
rust-lang/rust/pull/59852

MaybeUninit: Remove deprecated functions
rust-lang/rust/pull/59912

Stabilize the alloc crate
rust-lang/rust/pull/59675

Improve warning in cargo new with parse error
rust-lang/cargo/pull/6839

rustup.rs: Less copying during dist installation
rust-lang/rustup.rs/pull/1744

rustup.rs: Shell completions for Cargo
rust-lang/rustup.rs/pull/1646

Add --path option to 'rustup override set'
rust-lang/rustup.rs/pull/1524
News

🎈🎉 Announcing Rust 1.34.0. 🎉🎈
blog.rust-lang.org

ripgrep 11 released.
BurntSushi/ripgrep/releases/tag/11.0.0

Introducing Runtime, a platform-agnostic library that intends to make Async Rust both flexible and easy.
blog.yoshuawuyts.com

A love letter to Rust macros.
happens.lol

Rust: beyond the typechecker.
blog.merigoux.fr

Face detection with Actix web.
cetra3.github.io

Compiler team needs more than coders.
smallcultfollowing.com

for await loops (Part I).
boats.gitlab.io

Keeping Rust projects' README.md code examples up-to-date.
blog.guillaume-gomez.fr

Making an iterator from a function.
weblog.latte.ca

cargo-call-stack, part 2: getting call graph information from rustc.
blog.japaric.io

Web development with Rust — 03/x: Create a REST API.
dev.to

Building a pub/sub server with Sonr.
hagsteel.com
Crate of the week: sendfd

This week's crate is sendfd, a simple way to send file denoscriptors over UNIX sockets. Thanks to Léo Gaspard for the suggestion!
Updates from core

Implement event filtering for self-profiler
rust-lang/rust/pull/59915

Continue evaluating after missing main
rust-lang/rust/pull/59903

Point at try ? on errors affecting the err match arm of the desugared code
rust-lang/rust/pull/60064

Make const parameters enforce no variance constraints
rust-lang/rust/pull/60058

save-analysis: Use serde instead of libserialize to dump JSON data
rust-lang/rust/pull/60053

Fix ICE on const evaluation of const method
rust-lang/rust/pull/60048

Specialize nth_back() for Bytes, Fuse and Enumerate
rust-lang/rust/pull/60023

Fix the max value of usize on 16-bit platforms
rust-lang/rust/pull/60013

Fix LinkedList invalidating mutable references
rust-lang/rust/pull/60072

Allow multiple args to dbg!(..)
rust-lang/rust/pull/59826

Add must_use annotations to Result::is_ok and is_err
rust-lang/rust/pull/59648

chalk: Remove coinductive_traits from ProgramEnvironment
rust-lang/chalk/pull/213

chalk: Simplify crate structure
rust-lang/chalk/pull/215

cargo: Treat HTTP/2 stream errors as spurious network errors
rust-lang/cargo/pull/6861

cargo: Validate registry token before operations that require it
rust-lang/cargo/pull/6854

cargo: Pass OsStr/OsString args through to the process spawned by cargo run
rust-lang/cargo/pull/6849

rustdoc: Remove default keyword from re-exported trait methods
rust-lang/rust/pull/59978
News

Rust's 2019 roadmap.
blog.rust-lang.org

Amethyst receives Mozilla grant for WASM development.
www.amethyst.rs

6 useful Rust macros that you might not have seen before.
medium.com/@benmcdonald_11671

Learning parser combinators with Rust.
bodil.lol

What not to do in Rust.
blog.sentry.io

Generic returns in Rust.
blog.jcoglan.com

Futures 0.1 compatibility layer.
rust-lang-nursery.github.io

What I learned from my failed attempt of writing baremetal android in Rust.
onatm.dev

Building a plugin system using Rust and Wasmer (part 2, part 3).
wiredforge.com

Using DMA to transfer data with embedded Rust.
flowdsp.io

AiC: Adventures in consensus.
smallcultfollowing.com

rustup 1.18.0 released.
rust-lang/rustup.rs/blob/master/CHANGELOG.md#1180---2019-04-22

RustFest 2019 - next stop: Barcelona.
blog.rustfest.eu

Videos from Rust Latam 2019.
www.youtube.com
Crate of the week: color-backtrace

This week's crate is color-backtrace, a crate to give panic backtraces more information (and some color, too). Thanks to Willi Kappler for the suggestion!
Updates from core

Stabilize futures_api.
rust-lang/rust/pull/59739

Replace HashMap implementation with SwissTable (as an external crate)
rust-lang/rust/pull/58623

Introduce hir::ExprKind::Use and employ in for loop desugaring
rust-lang/rust/pull/60225

Future-proof MIR for dedicated debuginfo
rust-lang/rust/pull/56278

Add f16c target_feature
rust-lang/rust/pull/60191

Fix sync_all on macos/ios
rust-lang/rust/pull/60121

Implement saturating_abs() and saturating_neg() functions for signed integer types
rust-lang/rust/pull/60192

Stabilize Iterator::copied
rust-lang/rust/pull/60333

Stabilize pointer::align_offset
rust-lang/rust/pull/60303

Const-stabilize std::mem::needs_drop
rust-lang/rust/pull/60364

cargo: Support relative paths for registries
rust-lang/cargo/pull/6873

Set cfg(test) when rustdoc is running with --test option
rust-lang/rust/pull/59940
News

🎈🎉 Announcing Rust 1.34.1. 🎉🎈
blog.rust-lang.org

Await syntax discussion summary.
internals.rust-lang.org

A (type-based) Rust cheatsheet.
upsuper.github.io

Writing an OS in Rust: Testing.
os.phil-opp.com

How Rust solved dependency hell.
stephencoakley.com

Creating crossplatform Rust terminal apps.
www.jonathanturner.org

10 key learnings in Rust after 30,000 lines of code.
medium.com/@jondot

UWP port is in progress.
www.reddit.com

Mozilla IRC sunset and the Rust channel.
blog.rust-lang.org

Giving up on wlroots-rs.
way-cooler.org

Making Sandspiel (a falling sand game in Rust and Wasm).
maxbittker.com

Implementing tile encoding in rav1e.
blog.rom1v.com
Crate of the week: cast-rs

This week's crate is cast-rs, a crate with ergonomic, checked cast functions for primitive types. Thanks to mark-i-m for the suggestion!
Updates from core

Stop -O/-C opt-level and -g/-C debuginfo conflicting
rust-lang/rust/pull/60426

The Genesis of Generic Germination
rust-lang/rust/pull/53645

Avoid repeated interning of static strings
rust-lang/rust/pull/60467

Suggest try_into when possible
rust-lang/rust/pull/60159

Suggest using an inclusive range instead of an exclusive range when the endpoint overflows by 1
rust-lang/rust/pull/60330

Search for incompatible universes in borrow errors
rust-lang/rust/pull/60327

Constrain all regions in the concrete type for an opaque type
rust-lang/rust/pull/60449

Const propagation refactoring
rust-lang/rust/pull/60457

Implement BorrowMut<str> for String
rust-lang/rust/pull/60404

Stabilize vectored IO
rust-lang/rust/pull/60334

Stabilize str::as_mut_ptr
rust-lang/rust/pull/60356

Add Option::flatten and Into<Option<_>> for Option<Option<_>>
rust-lang/rust/pull/60256

cargo: Add some help with updating the registry in offline mode
rust-lang/cargo/pull/6871
News

A final proposal for await syntax.
boats.gitlab.io

Cargo in 2019.
www.ncameron.org

Const generics: a summary of progress so far.
rust-lang/rust/issues/44580#issuecomment-488819344

Rust parallelism for non-C/C++ developers.
medium.com/nearprotocol

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

A guide to Rust graphics libraries as of 2019.
wiki.alopex.li

World's first private Cargo registry.
blog.cloudsmith.io

Compile-time coprocessor codegen, with Rust macros.
guiand.xyz

Using Wasmer for plugins part 4
wiredforge.com
Crate of the week: select-rustc

This week's crate is select-rustc, a crate for conditional compilation according to rustc version. Thanks to ehsanmok for the suggestion!