This week in Rust #284 — 30 apr 2019
https://this-week-in-rust.org/blog/2019/04/30/this-week-in-rust-284/
https://this-week-in-rust.org/blog/2019/04/30/this-week-in-rust-284/
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
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
🎈🎉 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!
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!
This week in Rust #285 — 07 may 2019
https://this-week-in-rust.org/blog/2019/05/07/this-week-in-rust-285/
https://this-week-in-rust.org/blog/2019/05/07/this-week-in-rust-285/
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
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
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!
This week's crate is select-rustc, a crate for conditional compilation according to rustc version. Thanks to ehsanmok for the suggestion!
This week in Rust #286 — 14 may 2019
https://this-week-in-rust.org/blog/2019/05/14/this-week-in-rust-286/
https://this-week-in-rust.org/blog/2019/05/14/this-week-in-rust-286/
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
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
🎈🎉 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!
This week's crate is panic-never, a crate to make every panic a link-time error. Thanks to ehsanmok for the suggestion!
This week in Rust #287 — 21 may 2019
https://this-week-in-rust.org/blog/2019/05/21/this-week-in-rust-287/
https://this-week-in-rust.org/blog/2019/05/21/this-week-in-rust-287/
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
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
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!
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!
This week in Rust #288 — 28 may 2019
https://this-week-in-rust.org/blog/2019/05/28/this-week-in-rust-288/
https://this-week-in-rust.org/blog/2019/05/28/this-week-in-rust-288/
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
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
🎈🎉 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