This week in Rust #309 — 22 oct 2019
https://this-week-in-rust.org/blog/2019/10/22/this-week-in-rust-309/
https://this-week-in-rust.org/blog/2019/10/22/this-week-in-rust-309/
Updates from core
Stabilize proc macros generating macro_rules items
rust-lang/rust/pull/64035
Return false from needs_drop for all zero-sized arrays
rust-lang/rust/pull/65389
Optimize LexicalResolve::expansion
rust-lang/rust/pull/65260
Remove custom PartialEq impls for LocalInternedString
rust-lang/rust/pull/65426
Optimize BitIter
rust-lang/rust/pull/65425
Optimize dropck
rust-lang/rust/pull/64595
More symbol cleanups
rust-lang/rust/pull/65545
Avoid unnecessary arena allocations in expand_pattern()
rust-lang/rust/pull/65463
Avoid unnecessary TokenTree to TokenStream conversions
rust-lang/rust/pull/65455
expand: Simplify expansion of derives
rust-lang/rust/pull/65252
Fix suggestion to constrain trait for method to be found
rust-lang/rust/pull/65242
syntax: add parser recovery for intersection- / and-patterns p1 @ p2
rust-lang/rust/pull/65410
Reducing spurious unused lifetime warnings
rust-lang/rust/pull/64603
Bring attention to suggestions when the only difference is capitalization
rust-lang/rust/pull/65398
Use structured suggestion for restricting bounds
rust-lang/rust/pull/65192
Fix zero-size uninitialized boxes
rust-lang/rust/pull/65174
Add check for overlapping ranges to unreachable patterns lint
rust-lang/rust/pull/64007
Use more fine grained locks for the dep graph
rust-lang/rust/pull/63756
Fix canonicalize_const_var leaking inference variables
rust-lang/rust/pull/65652
mir-opt: Improve SimplifyLocals pass so it can remove unused consts
rust-lang/rust/pull/65624
Improve error message for APIT with explicit generic arguments
rust-lang/rust/pull/65614
Remove unreachable unit tuple compare binop codegen
rust-lang/rust/pull/65605
Avoid ICE when include! is used by stdin crate
rust-lang/rust/pull/65603
Implement AsRef<[T]> for List<T>
rust-lang/rust/pull/65444
hashbrown: Remove most #[inline] annotations
rust-lang/hashbrown/pull/119
Always inline mem::{size_of, align_of} in debug builds
rust-lang/rust/pull/65016
Avoid realloc in CString::new
rust-lang/rust/pull/65551
BTreeSet symmetric_difference & union optimized
rust-lang/rust/pull/65226
cargo: Allow --all-features in root of virtual workspace
rust-lang/cargo/pull/7525
rustup install: add --profile flag to override profile
rust-lang/rustup.rs/pull/2075
Stabilize proc macros generating macro_rules items
rust-lang/rust/pull/64035
Return false from needs_drop for all zero-sized arrays
rust-lang/rust/pull/65389
Optimize LexicalResolve::expansion
rust-lang/rust/pull/65260
Remove custom PartialEq impls for LocalInternedString
rust-lang/rust/pull/65426
Optimize BitIter
rust-lang/rust/pull/65425
Optimize dropck
rust-lang/rust/pull/64595
More symbol cleanups
rust-lang/rust/pull/65545
Avoid unnecessary arena allocations in expand_pattern()
rust-lang/rust/pull/65463
Avoid unnecessary TokenTree to TokenStream conversions
rust-lang/rust/pull/65455
expand: Simplify expansion of derives
rust-lang/rust/pull/65252
Fix suggestion to constrain trait for method to be found
rust-lang/rust/pull/65242
syntax: add parser recovery for intersection- / and-patterns p1 @ p2
rust-lang/rust/pull/65410
Reducing spurious unused lifetime warnings
rust-lang/rust/pull/64603
Bring attention to suggestions when the only difference is capitalization
rust-lang/rust/pull/65398
Use structured suggestion for restricting bounds
rust-lang/rust/pull/65192
Fix zero-size uninitialized boxes
rust-lang/rust/pull/65174
Add check for overlapping ranges to unreachable patterns lint
rust-lang/rust/pull/64007
Use more fine grained locks for the dep graph
rust-lang/rust/pull/63756
Fix canonicalize_const_var leaking inference variables
rust-lang/rust/pull/65652
mir-opt: Improve SimplifyLocals pass so it can remove unused consts
rust-lang/rust/pull/65624
Improve error message for APIT with explicit generic arguments
rust-lang/rust/pull/65614
Remove unreachable unit tuple compare binop codegen
rust-lang/rust/pull/65605
Avoid ICE when include! is used by stdin crate
rust-lang/rust/pull/65603
Implement AsRef<[T]> for List<T>
rust-lang/rust/pull/65444
hashbrown: Remove most #[inline] annotations
rust-lang/hashbrown/pull/119
Always inline mem::{size_of, align_of} in debug builds
rust-lang/rust/pull/65016
Avoid realloc in CString::new
rust-lang/rust/pull/65551
BTreeSet symmetric_difference & union optimized
rust-lang/rust/pull/65226
cargo: Allow --all-features in root of virtual workspace
rust-lang/cargo/pull/7525
rustup install: add --profile flag to override profile
rust-lang/rustup.rs/pull/2075
News
I made a NES emulator in Rust using generators.
kyle.space
Where rustc spends its time.
wiki.alopex.li
2019 compiler roadmap progress.
internals.rust-lang.org
Update on const generics progress.
rust-lang/rust/issues/44580#issuecomment-544155666
Asynchronous destructors.
boats.gitlab.io
A tiny, static, full-text search engine using Rust and WebAssembly.
endler.dev
MicroRust: discover the world of microcontrollers through Rust on the BBC micro:bit.
droogmic.github.io
Dealing with process termination in Linux.
iximiuz.com
The embedded WG's operating system tutorials rewrite added support for the Raspberry Pi 4.
rust-embedded/rust-raspi3-OS-tutorials/tree/rewrite_for_v2
Adventures in motion control: simple automation sequences
adventures.michaelfbryan.com
Programming Servo: shipping message-ports(via a detour into Spectre).
medium.com/programming-servo
Rotary encoders in embedded Rust.
leshow.github.io
I made a NES emulator in Rust using generators.
kyle.space
Where rustc spends its time.
wiki.alopex.li
2019 compiler roadmap progress.
internals.rust-lang.org
Update on const generics progress.
rust-lang/rust/issues/44580#issuecomment-544155666
Asynchronous destructors.
boats.gitlab.io
A tiny, static, full-text search engine using Rust and WebAssembly.
endler.dev
MicroRust: discover the world of microcontrollers through Rust on the BBC micro:bit.
droogmic.github.io
Dealing with process termination in Linux.
iximiuz.com
The embedded WG's operating system tutorials rewrite added support for the Raspberry Pi 4.
rust-embedded/rust-raspi3-OS-tutorials/tree/rewrite_for_v2
Adventures in motion control: simple automation sequences
adventures.michaelfbryan.com
Programming Servo: shipping message-ports(via a detour into Spectre).
medium.com/programming-servo
Rotary encoders in embedded Rust.
leshow.github.io
Crate of the week: grubbnet
This week's crate is grubbnet, a TCP client/server library for networked applications and games.
This week's crate is grubbnet, a TCP client/server library for networked applications and games.
This week in Rust #311 — 05 nov 2019
https://this-week-in-rust.org/blog/2019/11/05/this-week-in-rust-311/
https://this-week-in-rust.org/blog/2019/11/05/this-week-in-rust-311/
Updates from core
Allow foreign exceptions to unwind through Rust code and Rust panics to unwind through FFI
rust-lang/rust/pull/65646
expand: Feature gate out-of-line modules in proc macro input
rust-lang/rust/pull/66078
Lint ignored #[inline] on function prototypes
rust-lang/rust/pull/65294
Improve the "try using a variant of the expected type" hint
rust-lang/rust/pull/65562
Use heuristics to recover parsing of missing ;
rust-lang/rust/pull/65640
Point at local similarly named element and tweak references to variants
rust-lang/rust/pull/65421
Custom lifetime error for impl item doesn't conform to trait
rust-lang/rust/pull/65068
Add lint and tests for unnecessary parens around types
rust-lang/rust/pull/65112
Correct handling of type flags with ConstValue::Placeholder
rust-lang/rust/pull/65643
Use structured suggestion for unnecessary bounds in type aliases
rust-lang/rust/pull/65914
save-analysis: Account for async desugaring in async fn return types
rust-lang/rust/pull/65936
Switch CrateMetadata's source_map_import_info from RwLock to Once
rust-lang/rust/pull/65979
Don't use eval_always for miri queries used from codegen
rust-lang/rust/pull/65927
rustc: use IndexVec instead of Vec
rust-lang/rust/pull/65825
Make promote_consts emit the errors when required promotion fails
rust-lang/rust/pull/65946
Implement ordered/sorted iterators on BinaryHeap
rust-lang/rust/pull/65091
Make *{const, mut} T>::offset_from const fn
rust-lang/rust/pull/63810
Stabilize float_to_from_bytes feature
rust-lang/rust/pull/66002
hashbrown: Introduce ahash-compile-time-rng feature
rust-lang/hashbrown/pull/125
cargo: Add --filter-platform to cargo metadata
rust-lang/cargo/pull/7376
cargo: Fix cargo fix not showing colors
rust-lang/cargo/pull/7550
chalk: Remove delayed literals
rust-lang/chalk/pull/270
chalk: Add TypeName::Error variant
rust-lang/chalk/pull/269
chalk: Output multiple solutions
rust-lang/chalk/pull/263
rustdoc: Stabilize cfg(doctest)
rust-lang/rust/pull/63803
Allow foreign exceptions to unwind through Rust code and Rust panics to unwind through FFI
rust-lang/rust/pull/65646
expand: Feature gate out-of-line modules in proc macro input
rust-lang/rust/pull/66078
Lint ignored #[inline] on function prototypes
rust-lang/rust/pull/65294
Improve the "try using a variant of the expected type" hint
rust-lang/rust/pull/65562
Use heuristics to recover parsing of missing ;
rust-lang/rust/pull/65640
Point at local similarly named element and tweak references to variants
rust-lang/rust/pull/65421
Custom lifetime error for impl item doesn't conform to trait
rust-lang/rust/pull/65068
Add lint and tests for unnecessary parens around types
rust-lang/rust/pull/65112
Correct handling of type flags with ConstValue::Placeholder
rust-lang/rust/pull/65643
Use structured suggestion for unnecessary bounds in type aliases
rust-lang/rust/pull/65914
save-analysis: Account for async desugaring in async fn return types
rust-lang/rust/pull/65936
Switch CrateMetadata's source_map_import_info from RwLock to Once
rust-lang/rust/pull/65979
Don't use eval_always for miri queries used from codegen
rust-lang/rust/pull/65927
rustc: use IndexVec instead of Vec
rust-lang/rust/pull/65825
Make promote_consts emit the errors when required promotion fails
rust-lang/rust/pull/65946
Implement ordered/sorted iterators on BinaryHeap
rust-lang/rust/pull/65091
Make *{const, mut} T>::offset_from const fn
rust-lang/rust/pull/63810
Stabilize float_to_from_bytes feature
rust-lang/rust/pull/66002
hashbrown: Introduce ahash-compile-time-rng feature
rust-lang/hashbrown/pull/125
cargo: Add --filter-platform to cargo metadata
rust-lang/cargo/pull/7376
cargo: Fix cargo fix not showing colors
rust-lang/cargo/pull/7550
chalk: Remove delayed literals
rust-lang/chalk/pull/270
chalk: Add TypeName::Error variant
rust-lang/chalk/pull/269
chalk: Output multiple solutions
rust-lang/chalk/pull/263
rustdoc: Stabilize cfg(doctest)
rust-lang/rust/pull/63803
News
Completing the transition to the new borrow checker.
blog.rust-lang.org
Rust support for Windows Runtime in the works by the author of C++ WinRT.
kennykerr.ca
You probably didn't want .into_iter().cloned().
www.reddit.com
Clippy is removing its plugin interface.
blog.rust-lang.org
Rust concurrency patterns: condvars and locks.
medium.com/@polyglot_factotum
How to make your C codebase rusty: rewriting keyboard firmware keymap in Rust.
about.houqp.me
When writing a bump allocator, always bump downwards.
fitzgeraldnick.com
Adventures in motion control: initial motion system.
adventures.michaelfbryan.com
2019-10-24 compiler team triage meeting.
blog.rust-lang.org
Completing the transition to the new borrow checker.
blog.rust-lang.org
Rust support for Windows Runtime in the works by the author of C++ WinRT.
kennykerr.ca
You probably didn't want .into_iter().cloned().
www.reddit.com
Clippy is removing its plugin interface.
blog.rust-lang.org
Rust concurrency patterns: condvars and locks.
medium.com/@polyglot_factotum
How to make your C codebase rusty: rewriting keyboard firmware keymap in Rust.
about.houqp.me
When writing a bump allocator, always bump downwards.
fitzgeraldnick.com
Adventures in motion control: initial motion system.
adventures.michaelfbryan.com
2019-10-24 compiler team triage meeting.
blog.rust-lang.org
Crate of the week: displaydoc
This week's crate is displaydoc, a procedural derive macro to implement Display by string-interpolating the doc comment.
This week's crate is displaydoc, a procedural derive macro to implement Display by string-interpolating the doc comment.
News
Completing the transition to the new borrow checker.
blog.rust-lang.org
Rust support for Windows Runtime in the works by the author of C++ WinRT.
kennykerr.ca
You probably didn't want .into_iter().cloned().
www.reddit.com
Clippy is removing its plugin interface.
blog.rust-lang.org
Rust concurrency patterns: condvars and locks.
medium.com/@polyglot_factotum
How to make your C codebase rusty: rewriting keyboard firmware keymap in Rust.
about.houqp.me
When writing a bump allocator, always bump downwards.
fitzgeraldnick.com
Adventures in motion control: initial motion system.
adventures.michaelfbryan.com
2019-10-24 compiler team triage meeting.
blog.rust-lang.org
Completing the transition to the new borrow checker.
blog.rust-lang.org
Rust support for Windows Runtime in the works by the author of C++ WinRT.
kennykerr.ca
You probably didn't want .into_iter().cloned().
www.reddit.com
Clippy is removing its plugin interface.
blog.rust-lang.org
Rust concurrency patterns: condvars and locks.
medium.com/@polyglot_factotum
How to make your C codebase rusty: rewriting keyboard firmware keymap in Rust.
about.houqp.me
When writing a bump allocator, always bump downwards.
fitzgeraldnick.com
Adventures in motion control: initial motion system.
adventures.michaelfbryan.com
2019-10-24 compiler team triage meeting.
blog.rust-lang.org
Crate of the week: displaydoc
This week's crate is displaydoc, a procedural derive macro to implement Display by string-interpolating the doc comment.
This week's crate is displaydoc, a procedural derive macro to implement Display by string-interpolating the doc comment.
This week in Rust #311 — 05 nov 2019
https://this-week-in-rust.org/blog/2019/11/05/this-week-in-rust-311/
https://this-week-in-rust.org/blog/2019/11/05/this-week-in-rust-311/
Updates from core
Allow foreign exceptions to unwind through Rust code and Rust panics to unwind through FFI
rust-lang/rust/pull/65646
expand: Feature gate out-of-line modules in proc macro input
rust-lang/rust/pull/66078
Lint ignored #[inline] on function prototypes
rust-lang/rust/pull/65294
Improve the "try using a variant of the expected type" hint
rust-lang/rust/pull/65562
Use heuristics to recover parsing of missing ;
rust-lang/rust/pull/65640
Point at local similarly named element and tweak references to variants
rust-lang/rust/pull/65421
Custom lifetime error for impl item doesn't conform to trait
rust-lang/rust/pull/65068
Add lint and tests for unnecessary parens around types
rust-lang/rust/pull/65112
Correct handling of type flags with ConstValue::Placeholder
rust-lang/rust/pull/65643
Use structured suggestion for unnecessary bounds in type aliases
rust-lang/rust/pull/65914
save-analysis: Account for async desugaring in async fn return types
rust-lang/rust/pull/65936
Switch CrateMetadata's source_map_import_info from RwLock to Once
rust-lang/rust/pull/65979
Don't use eval_always for miri queries used from codegen
rust-lang/rust/pull/65927
rustc: use IndexVec instead of Vec
rust-lang/rust/pull/65825
Make promote_consts emit the errors when required promotion fails
rust-lang/rust/pull/65946
Implement ordered/sorted iterators on BinaryHeap
rust-lang/rust/pull/65091
Make *{const, mut} T>::offset_from const fn
rust-lang/rust/pull/63810
Stabilize float_to_from_bytes feature
rust-lang/rust/pull/66002
hashbrown: Introduce ahash-compile-time-rng feature
rust-lang/hashbrown/pull/125
cargo: Add --filter-platform to cargo metadata
rust-lang/cargo/pull/7376
cargo: Fix cargo fix not showing colors
rust-lang/cargo/pull/7550
chalk: Remove delayed literals
rust-lang/chalk/pull/270
chalk: Add TypeName::Error variant
rust-lang/chalk/pull/269
chalk: Output multiple solutions
rust-lang/chalk/pull/263
rustdoc: Stabilize cfg(doctest)
rust-lang/rust/pull/63803
Allow foreign exceptions to unwind through Rust code and Rust panics to unwind through FFI
rust-lang/rust/pull/65646
expand: Feature gate out-of-line modules in proc macro input
rust-lang/rust/pull/66078
Lint ignored #[inline] on function prototypes
rust-lang/rust/pull/65294
Improve the "try using a variant of the expected type" hint
rust-lang/rust/pull/65562
Use heuristics to recover parsing of missing ;
rust-lang/rust/pull/65640
Point at local similarly named element and tweak references to variants
rust-lang/rust/pull/65421
Custom lifetime error for impl item doesn't conform to trait
rust-lang/rust/pull/65068
Add lint and tests for unnecessary parens around types
rust-lang/rust/pull/65112
Correct handling of type flags with ConstValue::Placeholder
rust-lang/rust/pull/65643
Use structured suggestion for unnecessary bounds in type aliases
rust-lang/rust/pull/65914
save-analysis: Account for async desugaring in async fn return types
rust-lang/rust/pull/65936
Switch CrateMetadata's source_map_import_info from RwLock to Once
rust-lang/rust/pull/65979
Don't use eval_always for miri queries used from codegen
rust-lang/rust/pull/65927
rustc: use IndexVec instead of Vec
rust-lang/rust/pull/65825
Make promote_consts emit the errors when required promotion fails
rust-lang/rust/pull/65946
Implement ordered/sorted iterators on BinaryHeap
rust-lang/rust/pull/65091
Make *{const, mut} T>::offset_from const fn
rust-lang/rust/pull/63810
Stabilize float_to_from_bytes feature
rust-lang/rust/pull/66002
hashbrown: Introduce ahash-compile-time-rng feature
rust-lang/hashbrown/pull/125
cargo: Add --filter-platform to cargo metadata
rust-lang/cargo/pull/7376
cargo: Fix cargo fix not showing colors
rust-lang/cargo/pull/7550
chalk: Remove delayed literals
rust-lang/chalk/pull/270
chalk: Add TypeName::Error variant
rust-lang/chalk/pull/269
chalk: Output multiple solutions
rust-lang/chalk/pull/263
rustdoc: Stabilize cfg(doctest)
rust-lang/rust/pull/63803
News
Completing the transition to the new borrow checker.
blog.rust-lang.org
Rust support for Windows Runtime in the works by the author of C++ WinRT.
kennykerr.ca
You probably didn't want .into_iter().cloned().
www.reddit.com
Clippy is removing its plugin interface.
blog.rust-lang.org
Rust concurrency patterns: condvars and locks.
medium.com/@polyglot_factotum
How to make your C codebase rusty: rewriting keyboard firmware keymap in Rust.
about.houqp.me
When writing a bump allocator, always bump downwards.
fitzgeraldnick.com
Adventures in motion control: initial motion system.
adventures.michaelfbryan.com
2019-10-24 compiler team triage meeting.
blog.rust-lang.org
Completing the transition to the new borrow checker.
blog.rust-lang.org
Rust support for Windows Runtime in the works by the author of C++ WinRT.
kennykerr.ca
You probably didn't want .into_iter().cloned().
www.reddit.com
Clippy is removing its plugin interface.
blog.rust-lang.org
Rust concurrency patterns: condvars and locks.
medium.com/@polyglot_factotum
How to make your C codebase rusty: rewriting keyboard firmware keymap in Rust.
about.houqp.me
When writing a bump allocator, always bump downwards.
fitzgeraldnick.com
Adventures in motion control: initial motion system.
adventures.michaelfbryan.com
2019-10-24 compiler team triage meeting.
blog.rust-lang.org
News
Completing the transition to the new borrow checker.
blog.rust-lang.org
Rust support for Windows Runtime in the works by the author of C++ WinRT.
kennykerr.ca
You probably didn't want .into_iter().cloned().
www.reddit.com
Clippy is removing its plugin interface.
blog.rust-lang.org
Rust concurrency patterns: condvars and locks.
medium.com/@polyglot_factotum
How to make your C codebase rusty: rewriting keyboard firmware keymap in Rust.
about.houqp.me
When writing a bump allocator, always bump downwards.
fitzgeraldnick.com
Adventures in motion control: initial motion system.
adventures.michaelfbryan.com
2019-10-24 compiler team triage meeting.
blog.rust-lang.org
Completing the transition to the new borrow checker.
blog.rust-lang.org
Rust support for Windows Runtime in the works by the author of C++ WinRT.
kennykerr.ca
You probably didn't want .into_iter().cloned().
www.reddit.com
Clippy is removing its plugin interface.
blog.rust-lang.org
Rust concurrency patterns: condvars and locks.
medium.com/@polyglot_factotum
How to make your C codebase rusty: rewriting keyboard firmware keymap in Rust.
about.houqp.me
When writing a bump allocator, always bump downwards.
fitzgeraldnick.com
Adventures in motion control: initial motion system.
adventures.michaelfbryan.com
2019-10-24 compiler team triage meeting.
blog.rust-lang.org
Crate of the week: displaydoc
This week's crate is displaydoc, a procedural derive macro to implement Display by string-interpolating the doc comment.
This week's crate is displaydoc, a procedural derive macro to implement Display by string-interpolating the doc comment.
This week in Rust #335 — 21 apr 2020
https://this-week-in-rust.org/blog/2020/04/21/this-week-in-rust-335/
https://this-week-in-rust.org/blog/2020/04/21/this-week-in-rust-335/
Updates from core
remove a stack frame from .await calls
rust-lang/rust/pull/70831
improve async-await/generator obligation errors in some cases
rust-lang/rust/pull/70679
make needs_drop less pessimistic on generators
rust-lang/rust/pull/70015
provide better compiler output when using ? on Option in fn returning Result and vice-versa
rust-lang/rust/pull/71141
suggest .into() over try_into() when it would work
rust-lang/rust/pull/71051
maintain chain of derived obligations
rust-lang/rust/pull/69793
chalk: recursive solver
rust-lang/chalk/pull/372
chalk: recursive solver: Exit early on ambiguity
rust-lang/chalk/pull/404
chalk: make it possible to cache the result of env elaboration
rust-lang/chalk/pull/403
use query to determine whether function needs const checking
rust-lang/rust/pull/69642
mir-opt: run SimplifyLocals to a fixedpoint and handle most rvalue
rust-lang/rust/pull/70755
miri: add option to disable alignment check
rust-lang/miri/pull/1332
miri: let machine hook dynamically decide about alignment checks
rust-lang/rust/pull/71101
miri: expand frame hooks
rust-lang/rust/pull/71100
miri: handle std::sync::atomic::spin_loop_hint()
rust-lang/miri/pull/1342
ptr: introduce len() method on raw slices
rust-lang/rust/pull/71082
miri: use pre-computed layouts some more
rust-lang/miri/pull/1349
miri-unleashed: test that we detect heap allocations
rust-lang/rust/pull/71276
deprecate the asm! macro in favor of llvm_asm!
rust-lang/rust/pull/71007
backtrace: remove memmap dependency
rust-lang/backtrace-rs/pull/311
cargo: several updates to token/index handling
rust-lang/cargo/pull/7973
cargo: try to avoid panics on buggy (?) clocks
rust-lang/cargo/pull/8114
remove a stack frame from .await calls
rust-lang/rust/pull/70831
improve async-await/generator obligation errors in some cases
rust-lang/rust/pull/70679
make needs_drop less pessimistic on generators
rust-lang/rust/pull/70015
provide better compiler output when using ? on Option in fn returning Result and vice-versa
rust-lang/rust/pull/71141
suggest .into() over try_into() when it would work
rust-lang/rust/pull/71051
maintain chain of derived obligations
rust-lang/rust/pull/69793
chalk: recursive solver
rust-lang/chalk/pull/372
chalk: recursive solver: Exit early on ambiguity
rust-lang/chalk/pull/404
chalk: make it possible to cache the result of env elaboration
rust-lang/chalk/pull/403
use query to determine whether function needs const checking
rust-lang/rust/pull/69642
mir-opt: run SimplifyLocals to a fixedpoint and handle most rvalue
rust-lang/rust/pull/70755
miri: add option to disable alignment check
rust-lang/miri/pull/1332
miri: let machine hook dynamically decide about alignment checks
rust-lang/rust/pull/71101
miri: expand frame hooks
rust-lang/rust/pull/71100
miri: handle std::sync::atomic::spin_loop_hint()
rust-lang/miri/pull/1342
ptr: introduce len() method on raw slices
rust-lang/rust/pull/71082
miri: use pre-computed layouts some more
rust-lang/miri/pull/1349
miri-unleashed: test that we detect heap allocations
rust-lang/rust/pull/71276
deprecate the asm! macro in favor of llvm_asm!
rust-lang/rust/pull/71007
backtrace: remove memmap dependency
rust-lang/backtrace-rs/pull/311
cargo: several updates to token/index handling
rust-lang/cargo/pull/7973
cargo: try to avoid panics on buggy (?) clocks
rust-lang/cargo/pull/8114
News
Rust Survey 2019 results.
blog.rust-lang.org
Testing sync at Dropbox.
dropbox.tech
Write an OS for the Raspberry Pi in Rust.
tc.gts3.org
Wired Logic - a pixel-based digital circuit simulator running in a browser (Rust compiled into WASM).
iostapyshyn.github.io
Better stack fixing for Firefox.
blog.mozilla.org
Writing Python inside your Rust code — part 1.
blog.m-ou.se
wgpu-rs on the web.
gfx-rs.github.io
Building a Rust web browser from scratch.
joshondesign.com
From Pratt to Dijkstra.
matklad.github.io
Rust lang tips and tricks.
mudit.blog
An experiment with type-erased data structures.
vgatherps.github.io
How to write CRaP Rust code.
blog.logrocket.com
Intro to gfx-hal - part 3: Vertex buffers.
www.falseidolfactory.com
How I reverse engineered the LastPass CLI tool.
adventures.michaelfbryan.com
Open-sourcing dotenv-linter: lightning-fast tool to lint your .env files.
evrone.com
rust-analyzer changelog 21.
rust-analyzer.github.io
Rust Survey 2019 results.
blog.rust-lang.org
Testing sync at Dropbox.
dropbox.tech
Write an OS for the Raspberry Pi in Rust.
tc.gts3.org
Wired Logic - a pixel-based digital circuit simulator running in a browser (Rust compiled into WASM).
iostapyshyn.github.io
Better stack fixing for Firefox.
blog.mozilla.org
Writing Python inside your Rust code — part 1.
blog.m-ou.se
wgpu-rs on the web.
gfx-rs.github.io
Building a Rust web browser from scratch.
joshondesign.com
From Pratt to Dijkstra.
matklad.github.io
Rust lang tips and tricks.
mudit.blog
An experiment with type-erased data structures.
vgatherps.github.io
How to write CRaP Rust code.
blog.logrocket.com
Intro to gfx-hal - part 3: Vertex buffers.
www.falseidolfactory.com
How I reverse engineered the LastPass CLI tool.
adventures.michaelfbryan.com
Open-sourcing dotenv-linter: lightning-fast tool to lint your .env files.
evrone.com
rust-analyzer changelog 21.
rust-analyzer.github.io
Crate of the week: regex2fat
This week's crate is regex2fat, a program to convert a regular expression into a decidedly nonstandard FAT32 file system.
This week's crate is regex2fat, a program to convert a regular expression into a decidedly nonstandard FAT32 file system.
This week in Rust #336 — 29 apr 2020
https://this-week-in-rust.org/blog/2020/04/29/this-week-in-rust-336/
https://this-week-in-rust.org/blog/2020/04/29/this-week-in-rust-336/
Updates from core
don't run various MIR optimizations at mir-opt-level=0
rust-lang/rust/pull/70073
replace thread_local with generator resume arguments in box_region
rust-lang/rust/pull/71554
fix -Zast-json to output correct JSON form
rust-lang/rust/pull/71284
allow wasm32 compilation of librustc_data_structures/profiling.rs
rust-lang/rust/pull/71369
proc_macro::is_available()
rust-lang/rust/pull/71400
proc_macro: stabilize Span::resolved_at and Span::located_at
rust-lang/rust/pull/69041
attempt to recover perf by removing exports_all_green
rust-lang/rust/pull/71267
chalk: use FxHashMap/FxHashSet and add well-formed clause for tuples
rust-lang/chalk/pull/411
ConstProp: use a BitSet<Local> instead of IndexVec<Local, bool>
rust-lang/rust/pull/71312
fix span of while (let) expressions after lowering
rust-lang/rust/pull/71494
Miri Frame: use mir::Location to represent position in function
rust-lang/rust/pull/71475
add BinaryHeap::retain
rust-lang/rust/pull/71485
add a function to turn Box<T> into Box<[T]>
rust-lang/rust/pull/71421
add missing Send and Sync impls for linked list Cursor and CursorMut
rust-lang/rust/pull/71548
implement BitOr and BitOrAssign for the NonZero integer types
rust-lang/rust/pull/69813
stabilize most common subset of alloc_layout_extras
rust-lang/rust/pull/69362
stabilize Span::mixed_site
rust-lang/rust/pull/68716
stabilize BTreeMap::remove_entry
rust-lang/rust/pull/70712
futures: introduce ready_chunks adaptor
rust-lang/futures-rs/pull/2123
backport to 0.1: Avoid starvation from FuturesUnordered::poll_next
rust-lang/futures-rs/pull/2122
futures: add AsyncWriteExt::write_all_vectored utility
rust-lang/futures-rs/pull/1741
hashbrown: future-proof specialization code
rust-lang/hashbrown/pull/147
hashbrown: remove unsound use of specialization
rust-lang/hashbrown/pull/154
cargo: fix warning for resolve mismatch in workspace
rust-lang/cargo/pull/8169
cargo: add resolver opt-in for new feature resolver
rust-lang/cargo/pull/8129
rustdoc: replace big JS dict with JSON parsing
rust-lang/rust/pull/71250
don't run various MIR optimizations at mir-opt-level=0
rust-lang/rust/pull/70073
replace thread_local with generator resume arguments in box_region
rust-lang/rust/pull/71554
fix -Zast-json to output correct JSON form
rust-lang/rust/pull/71284
allow wasm32 compilation of librustc_data_structures/profiling.rs
rust-lang/rust/pull/71369
proc_macro::is_available()
rust-lang/rust/pull/71400
proc_macro: stabilize Span::resolved_at and Span::located_at
rust-lang/rust/pull/69041
attempt to recover perf by removing exports_all_green
rust-lang/rust/pull/71267
chalk: use FxHashMap/FxHashSet and add well-formed clause for tuples
rust-lang/chalk/pull/411
ConstProp: use a BitSet<Local> instead of IndexVec<Local, bool>
rust-lang/rust/pull/71312
fix span of while (let) expressions after lowering
rust-lang/rust/pull/71494
Miri Frame: use mir::Location to represent position in function
rust-lang/rust/pull/71475
add BinaryHeap::retain
rust-lang/rust/pull/71485
add a function to turn Box<T> into Box<[T]>
rust-lang/rust/pull/71421
add missing Send and Sync impls for linked list Cursor and CursorMut
rust-lang/rust/pull/71548
implement BitOr and BitOrAssign for the NonZero integer types
rust-lang/rust/pull/69813
stabilize most common subset of alloc_layout_extras
rust-lang/rust/pull/69362
stabilize Span::mixed_site
rust-lang/rust/pull/68716
stabilize BTreeMap::remove_entry
rust-lang/rust/pull/70712
futures: introduce ready_chunks adaptor
rust-lang/futures-rs/pull/2123
backport to 0.1: Avoid starvation from FuturesUnordered::poll_next
rust-lang/futures-rs/pull/2122
futures: add AsyncWriteExt::write_all_vectored utility
rust-lang/futures-rs/pull/1741
hashbrown: future-proof specialization code
rust-lang/hashbrown/pull/147
hashbrown: remove unsound use of specialization
rust-lang/hashbrown/pull/154
cargo: fix warning for resolve mismatch in workspace
rust-lang/cargo/pull/8169
cargo: add resolver opt-in for new feature resolver
rust-lang/cargo/pull/8129
rustdoc: replace big JS dict with JSON parsing
rust-lang/rust/pull/71250