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

🎈🎉 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!
Updates from core

Implement built-in .await syntax (Hooray!)
rust-lang/rust/pull/60586

Remove the old await! macro
rust-lang/rust/pull/60675

Cleanup the .await HIR lowering with .stmt(..)
rust-lang/rust/pull/60733

Revert "Disable big-endian simd in swap_nonoverlapping_bytes"
rust-lang/rust/pull/60588

syntax: introduce unescape module
rust-lang/rust/pull/60261

syntax_pos: Optimize symbol interner pre-filling slightly
rust-lang/rust/pull/60700

Keep original literal tokens in AST
rust-lang/rust/pull/60679

Tweak Symbol and InternedString
rust-lang/rust/pull/60659

Use Symbol more
rust-lang/rust/pull/60630

Better IO buffer when validating dist hashes
rust-lang/rustup.rs/pull/1845

Remove hir::ExprKind::If
rust-lang/rust/pull/59288

Optimize HIR map
rust-lang/rust/pull/60246

Fix HIR printing of existential type
rust-lang/rust/pull/60694

Const-stabilize NonNull::dangling and NonNull::cast
rust-lang/rust/pull/60244

std: Derive Default for io::Cursor
rust-lang/rust/pull/60234

cargo: Stabilize offline mode
rust-lang/cargo/pull/6934

cargo: Always include Cargo.toml when packaging
rust-lang/cargo/pull/6925

Implement the Cargo half of pipelined compilation
rust-lang/cargo/pull/6883

rustup: More progress bars
rust-lang/rustup.rs/pull/1842
News

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

Security advisory for the standard library.
blog.rust-lang.org

Update on the CI investigation.
internals.rust-lang.org

2D graphics on modern GPU.
raphlinus.github.io

Rust patterns: enums instead of booleans.
blakesmith.me

Asymmetric multi-processing on microcontrollers with μAMP.
blog.japaric.io

State of machine learning in Rust.
ehsanmkermani.com
Crate of the week: panic-never

This week's crate is panic-never, a crate to make every panic a link-time error. Thanks to ehsanmok for the suggestion!
Updates from core

Move token tree related lexer state to a separate struct
rust-lang/rust/pull/60763

Stop using gensyms in HIR lowering
rust-lang/rust/pull/60960

Fix more escaping ReScopes
rust-lang/rust/pull/60765

Perform constant propagation into terminators
rust-lang/rust/pull/60745

Do some simple constant propagation in the ConstProp pass
rust-lang/rust/pull/60597

Test interaction of unions with non-zero/niche-filling optimization
rust-lang/rust/pull/60590

Forego caching for all participants in cycles, apart from root node
rust-lang/rust/pull/60444

Mark core::alloc::Layout::from_size_align_unchecked const
rust-lang/rust/pull/60370

Remove the unstable and deprecated mpsc_select
rust-lang/rust/pull/60921

Stabilize core parts of MaybeUninit
rust-lang/rust/pull/60445

Stabilize vecdeque_rotate
rust-lang/rust/pull/60678

Add entry-like methods to HashSet
rust-lang/rust/pull/60894

Add implementations of last in terms of next_back on a bunch of DoubleEndedIterators
rust-lang/rust/pull/60130

Fix display of const generics in rustdoc
rust-lang/rust/pull/60760

rustup: Avoid blocking on CloseHandle
rust-lang/rustup.rs/pull/1850

rustc-guide: Add documentation about profile-guided optimization
rust-lang/rustc-guide/pull/318

lint: convert incoherent_fundamental_impls into hard error
rust-lang/rust/pull/49799

clippy: Prevent symbocalypse
rust-lang/rust-clippy/pull/4110

crates.io: Fix performance regression on crate search
rust-lang/crates.io/pull/1746
News

4 years of Rust.
blog.rust-lang.org

The 2019 Rust event lineup.
blog.rust-lang.org

Understanding zero cost abstractions.
boats.gitlab.io

Using Rust to scale Elixir for 11 million concurrent users.
blog.discordapp.com

Rust in Avast.
vorner.github.io

Evaluating pipelined rustc compilation.
internals.rust-lang.org

Analysis of various tricky Rust code.
dtolnay/case-studies

Get back some compile time from monomorphization.
llogiq.github.io

mem::uninitialized is deprecated.
gankro.github.io

Shell completions in pure Rust.
www.joshmcguigan.com

Creating C/C++ APIs in Rust.
karroffel.gitlab.io

How to start Rust chat app.
medium.com/@steadylearner

WebRender MVP ships in Firefox.
mozillagfx.wordpress.com

Rust in Motion - a video series by Carol Nichols and Jake Goulding (requires purchase).
www.manning.com

Rust in Action - a book by Tim McNamara (early access, requires purchase).
www.manning.com
Crate of the week: memory-profiles

This week we have two crates: memory-profiles, does what it says on the box. momo is a procedural macro that outlines generic conversions to reduce monomorphized code. Thanks to ehsanmok and llogiq for the suggestion!
Updates from core

Turn turbo 🐟 🍨 into an error
rust-lang/rust/pull/61189

Remove ObsoleteInPlace
rust-lang/rust/pull/60803

Make place projections concrete
rust-lang/rust/pull/60441

Simplify use of keyword symbols
rust-lang/rust/pull/60740

Fix overflowing literal lint in loops
rust-lang/rust/pull/61098

Use Symbol even more
rust-lang/rust/pull/60815

Use Symbol more in lint APIs
rust-lang/rust/pull/60827

Move gensym operations from Symbol to Ident
rust-lang/rust/pull/60903

Avoid symbol interning in file_metadata
rust-lang/rust/pull/60973

Avoid more symbol interning
rust-lang/rust/pull/61035

Don't arena-allocate static symbols
rust-lang/rust/pull/61077

rustc: Improve type size assertions
rust-lang/rust/pull/60959

Allow null-pointer-optimized enums in FFI if their underlying representation is FFI safe
rust-lang/rust/pull/60300

Preserve local scopes in generator MIR
rust-lang/rust/pull/60840

Annotate each reverse_bits with #[must_use]
rust-lang/rust/pull/61134

Vec: Avoid creating slices to the elements
rust-lang/rust/pull/61114

Fix dangling reference in Vec::append
rust-lang/rust/pull/61082

crates.io: Further address performance regression in search
rust-lang/crates.io/pull/1749

rustbuild: Add clippy and fix commands to x.py
rust-lang/rust/pull/56595
News

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

Update on await syntax.
boats.gitlab.io

Writing a compiler in Rust.
thume.ca

Announcing Mockiato - A strict, yet friendly mocking library for Rust 2018.
blog.myelin.ch

Programming Servo: Zen and the art of removing blocks from your system.
medium.com/@polyglot_factotum

Cross compiling and statically linking against Rust libraries.
medium.com/csis-techblog

Rebuffing the attack of the clones - a newbie's guide to clone.
thenewwazoo.github.io

New Rustacean Meta 3 - A story and a dream (and the promise of Rust): the final episode of New Rustacean!
newrustacean.com

Erebor, a Rust consultancy startup by Alexander Regueiro.
erebor.io
Crate of the week: mockiato

This week's crate is mockiato, a strict yet friendly mocking library for Rust 2018. Thanks to Ruben Schmidmeister for the suggestion!