Crate of the week: mtpng
This week's crate is mtpng, a parallelized PNG encoder. Thanks to Willi Kappler for the suggestion!
This week's crate is mtpng, a parallelized PNG encoder. Thanks to Willi Kappler for the suggestion!
This week in Rust #253 — 25 sep 2018
https://this-week-in-rust.org/blog/2018/09/25/this-week-in-rust-253/
https://this-week-in-rust.org/blog/2018/09/25/this-week-in-rust-253/
Updates from core
switch linker for aarch64-pc-windows-msvc from LLD to MSVC
https://github.com/rust-lang/rust/pull/54290
remove (more) CAS API from Atomic* types where not natively supported
https://github.com/rust-lang/rust/pull/54280
parser: tweak function parameter parsing to avoid rollback on succesfull path
https://github.com/rust-lang/rust/pull/54415
improve handling of type bounds in bit_set.rs
https://github.com/rust-lang/rust/pull/54370
use HybridBitSet in SparseBitMatrix
https://github.com/rust-lang/rust/pull/54318
merge bitvec.rs and indexed_set.rs
https://github.com/rust-lang/rust/pull/54286
split Liveness::users into three
https://github.com/rust-lang/rust/pull/54211
compress Liveness data some more
https://github.com/rust-lang/rust/pull/54420
NLL: deduplicate errors for incorrect move in loop
https://github.com/rust-lang/rust/pull/53995
NLL: rework checking for borrows conflicting with drops
https://github.com/rust-lang/rust/pull/54509
report when borrow could cause &mut aliasing during Drop
https://github.com/rust-lang/rust/pull/54310
move std::os::raw::c_void into libcore and re-export in libstd and
Re-export core::ffi::c_void if it exists (RFC #2521)
https://github.com/rust-lang/rust/pull/53910
make rustc::middle::region::Scope's fields public
https://github.com/rust-lang/rust/pull/54260
miri: correctly compute expected alignment for field
https://github.com/rust-lang/rust/pull/54298
extend MIR inlining to all operand variants
https://github.com/rust-lang/rust/pull/54416
std: check for overflow in str::repeat
https://github.com/rust-lang/rust/pull/54399
switch wasm math symbols to their original names
https://github.com/rust-lang/rust/pull/54257
update to a new pinning API
https://github.com/rust-lang/rust/pull/53877
implement [T]::copy_within
https://github.com/rust-lang/rust/pull/53652
implement MaybeUninit
https://github.com/rust-lang/rust/pull/53508
Duration div mul extras
https://github.com/rust-lang/rust/pull/52813
cargo: fix missing messages when --message-format=json is deeply nested
https://github.com/rust-lang/cargo/pull/6081
cargo: fix incomplete conflict set backjump
https://github.com/rust-lang/cargo/pull/5988
switch linker for aarch64-pc-windows-msvc from LLD to MSVC
https://github.com/rust-lang/rust/pull/54290
remove (more) CAS API from Atomic* types where not natively supported
https://github.com/rust-lang/rust/pull/54280
parser: tweak function parameter parsing to avoid rollback on succesfull path
https://github.com/rust-lang/rust/pull/54415
improve handling of type bounds in bit_set.rs
https://github.com/rust-lang/rust/pull/54370
use HybridBitSet in SparseBitMatrix
https://github.com/rust-lang/rust/pull/54318
merge bitvec.rs and indexed_set.rs
https://github.com/rust-lang/rust/pull/54286
split Liveness::users into three
https://github.com/rust-lang/rust/pull/54211
compress Liveness data some more
https://github.com/rust-lang/rust/pull/54420
NLL: deduplicate errors for incorrect move in loop
https://github.com/rust-lang/rust/pull/53995
NLL: rework checking for borrows conflicting with drops
https://github.com/rust-lang/rust/pull/54509
report when borrow could cause &mut aliasing during Drop
https://github.com/rust-lang/rust/pull/54310
move std::os::raw::c_void into libcore and re-export in libstd and
Re-export core::ffi::c_void if it exists (RFC #2521)
https://github.com/rust-lang/rust/pull/53910
make rustc::middle::region::Scope's fields public
https://github.com/rust-lang/rust/pull/54260
miri: correctly compute expected alignment for field
https://github.com/rust-lang/rust/pull/54298
extend MIR inlining to all operand variants
https://github.com/rust-lang/rust/pull/54416
std: check for overflow in str::repeat
https://github.com/rust-lang/rust/pull/54399
switch wasm math symbols to their original names
https://github.com/rust-lang/rust/pull/54257
update to a new pinning API
https://github.com/rust-lang/rust/pull/53877
implement [T]::copy_within
https://github.com/rust-lang/rust/pull/53652
implement MaybeUninit
https://github.com/rust-lang/rust/pull/53508
Duration div mul extras
https://github.com/rust-lang/rust/pull/52813
cargo: fix missing messages when --message-format=json is deeply nested
https://github.com/rust-lang/cargo/pull/6081
cargo: fix incomplete conflict set backjump
https://github.com/rust-lang/cargo/pull/5988
News
🎈🎉 Announcing Rust 1.29.1. 🎉🎈
https://blog.rust-lang.org/2018/09/25/Rust-1.29.1.html
Citybound: Introducing live builds.
http://aeplay.co/citybound-devblog/introducing-live-builds
The biggest wasm-pack release yet.
https://rustwasm.github.io/2018/09/24/the-biggest-wasm-pack-release-yet.html
Office hours with Niko Matsakis: Debugging with GDB.
http://smallcultfollowing.com/babysteps/blog/2018/09/21/office-hours-0-debugging-with-gdb/
Office hours with Niko Matsakis: Cyclic services.
http://smallcultfollowing.com/babysteps/blog/2018/09/24/office-hours-1-cyclic-services/
Rust on iOS: How to.
https://github.com/mtak-/rust-on-mobile/blob/master/examples/ios/example01.md
A Rust FFI adventure in unsafety.
https://travisf.net/capstone-rs-unsafety-adventure
How to integrate Rust with C#.
https://blog.getseq.net/rust-at-datalust-how-we-integrate-rust-with-csharp/
Rewriting a bash noscript in Rust.
https://wiredforge.com/blog/misc/getpid/index.html
Creating a robot for Eurobot in Rust: The context.
https://blog.florencepaul.com/creating-a-robot-for-eurobot-part-1-context
Incinerator: The ABA problem and concurrent reclamation.
https://bzim.gitlab.io/blog/posts/incinerator-the-aba-problem-and-concurrent-reclamation.html
🎈🎉 Announcing Rust 1.29.1. 🎉🎈
https://blog.rust-lang.org/2018/09/25/Rust-1.29.1.html
Citybound: Introducing live builds.
http://aeplay.co/citybound-devblog/introducing-live-builds
The biggest wasm-pack release yet.
https://rustwasm.github.io/2018/09/24/the-biggest-wasm-pack-release-yet.html
Office hours with Niko Matsakis: Debugging with GDB.
http://smallcultfollowing.com/babysteps/blog/2018/09/21/office-hours-0-debugging-with-gdb/
Office hours with Niko Matsakis: Cyclic services.
http://smallcultfollowing.com/babysteps/blog/2018/09/24/office-hours-1-cyclic-services/
Rust on iOS: How to.
https://github.com/mtak-/rust-on-mobile/blob/master/examples/ios/example01.md
A Rust FFI adventure in unsafety.
https://travisf.net/capstone-rs-unsafety-adventure
How to integrate Rust with C#.
https://blog.getseq.net/rust-at-datalust-how-we-integrate-rust-with-csharp/
Rewriting a bash noscript in Rust.
https://wiredforge.com/blog/misc/getpid/index.html
Creating a robot for Eurobot in Rust: The context.
https://blog.florencepaul.com/creating-a-robot-for-eurobot-part-1-context
Incinerator: The ABA problem and concurrent reclamation.
https://bzim.gitlab.io/blog/posts/incinerator-the-aba-problem-and-concurrent-reclamation.html
Crate of the week: packed_simd
This week's crate is packed_simd, a crate with portable SIMD vector types. Thanks to Gabriel Majeri for the suggestion!
This week's crate is packed_simd, a crate with portable SIMD vector types. Thanks to Gabriel Majeri for the suggestion!
This week in Rust #254 — 02 oct 2018
https://this-week-in-rust.org/blog/2018/10/02/this-week-in-rust-254/
https://this-week-in-rust.org/blog/2018/10/02/this-week-in-rust-254/
Updates from core
Stabilize pattern_parentheses feature.
https://github.com/rust-lang/rust/pull/54497
Support an explicit annotation for marker traits.
https://github.com/rust-lang/rust/pull/53693
Better user experience when attempting to call associated functions with dot notation.
https://github.com/rust-lang/rust/pull/54308
Add "temporary value borrowed for too long" error.
https://github.com/rust-lang/rust/pull/54164
Remove -Z disable_ast_check_for_mutation_in_guard.
https://github.com/rust-lang/rust/pull/54676
Add a -C default-linker-libraries option.
https://github.com/rust-lang/rust/pull/54675
Implement the dbg!(..) macro.
https://github.com/rust-lang/rust/pull/54317
Add -Z emit-stack-sizes.
https://github.com/rust-lang/rust/pull/51946
impl trait in bindings (feature: impl-trait-existential-types.
https://github.com/rust-lang/rust/pull/53542
Make "await" a pseudo-edition keyword.
https://github.com/rust-lang/rust/pull/54411
Use full name to identify a macro in a FileName.
https://github.com/rust-lang/rust/pull/54338
Introduce the partition_dedup/by/by_key methods for slices.
https://github.com/rust-lang/rust/pull/54058
Rework how we handle outlives relationships.
https://github.com/rust-lang/rust/pull/54453
NLL: Get Polonius borrow check to work in simple cases.
https://github.com/rust-lang/rust/pull/54468
NLL: Be more permissive when checking access due to Match.
https://github.com/rust-lang/rust/pull/53438
NLL: Rework checking for borrows conflicting with drops.
https://github.com/rust-lang/rust/pull/54509
Don't lint non-extern-prelude extern crate's in Rust 2018.
https://github.com/rust-lang/rust/pull/54650
Deny the overflowing_literals lint for the 2018 edition.
https://github.com/rust-lang/rust/pull/54507
Rename slice::exact_chunks() to slice::chunks_exact().
https://github.com/rust-lang/rust/pull/54537
Avoid loading constructor attributes in AdtDef decoding.
https://github.com/rust-lang/rust/pull/54485
Panic when using mem::uninitialized or mem::zeroed on an uninhabited type.
https://github.com/rust-lang/rust/pull/54667
Improvements to finding LLVM's FileCheck.
https://github.com/rust-lang/rust/pull/54558
In which we include attributes in unused extern crate suggestion spans.
https://github.com/rust-lang/rust/pull/54488
In which inferable outlives-requirements are linted.
https://github.com/rust-lang/rust/pull/53013
Add a per-tree error cache to the obligation forest.
https://github.com/rust-lang/rust/pull/53255
Stabilize pattern_parentheses feature.
https://github.com/rust-lang/rust/pull/54497
Support an explicit annotation for marker traits.
https://github.com/rust-lang/rust/pull/53693
Better user experience when attempting to call associated functions with dot notation.
https://github.com/rust-lang/rust/pull/54308
Add "temporary value borrowed for too long" error.
https://github.com/rust-lang/rust/pull/54164
Remove -Z disable_ast_check_for_mutation_in_guard.
https://github.com/rust-lang/rust/pull/54676
Add a -C default-linker-libraries option.
https://github.com/rust-lang/rust/pull/54675
Implement the dbg!(..) macro.
https://github.com/rust-lang/rust/pull/54317
Add -Z emit-stack-sizes.
https://github.com/rust-lang/rust/pull/51946
impl trait in bindings (feature: impl-trait-existential-types.
https://github.com/rust-lang/rust/pull/53542
Make "await" a pseudo-edition keyword.
https://github.com/rust-lang/rust/pull/54411
Use full name to identify a macro in a FileName.
https://github.com/rust-lang/rust/pull/54338
Introduce the partition_dedup/by/by_key methods for slices.
https://github.com/rust-lang/rust/pull/54058
Rework how we handle outlives relationships.
https://github.com/rust-lang/rust/pull/54453
NLL: Get Polonius borrow check to work in simple cases.
https://github.com/rust-lang/rust/pull/54468
NLL: Be more permissive when checking access due to Match.
https://github.com/rust-lang/rust/pull/53438
NLL: Rework checking for borrows conflicting with drops.
https://github.com/rust-lang/rust/pull/54509
Don't lint non-extern-prelude extern crate's in Rust 2018.
https://github.com/rust-lang/rust/pull/54650
Deny the overflowing_literals lint for the 2018 edition.
https://github.com/rust-lang/rust/pull/54507
Rename slice::exact_chunks() to slice::chunks_exact().
https://github.com/rust-lang/rust/pull/54537
Avoid loading constructor attributes in AdtDef decoding.
https://github.com/rust-lang/rust/pull/54485
Panic when using mem::uninitialized or mem::zeroed on an uninhabited type.
https://github.com/rust-lang/rust/pull/54667
Improvements to finding LLVM's FileCheck.
https://github.com/rust-lang/rust/pull/54558
In which we include attributes in unused extern crate suggestion spans.
https://github.com/rust-lang/rust/pull/54488
In which inferable outlives-requirements are linted.
https://github.com/rust-lang/rust/pull/53013
Add a per-tree error cache to the obligation forest.
https://github.com/rust-lang/rust/pull/53255
News
Announcing the web-sys crate!
https://rustwasm.github.io/2018/09/26/announcing-web-sys.html
The relative performance of C and Rust.
http://dtrace.org/blogs/bmc/2018/09/28/the-relative-performance-of-c-and-rust/
Understanding compilers — for humans (version 2).
https://towardsdatascience.com/understanding-compilers-for-humans-version-2-157f0edb02dd
How I’ve found vulnerability in a popular Rust crate (and you can too).
https://medium.com/@shnatsel/how-ive-found-vulnerability-in-a-popular-rust-crate-and-you-can-too-3db081a67fb
lolbench: automagically and empirically discovering Rust performance regressions.
https://blog.anp.lol/rust/2018/09/29/lolbench/
This week in Rust and WebAssembly 8.
https://rustwasm.github.io/2018/10/01/this-week-in-rust-wasm-008.html
The embedded WG newsletter 12.
https://rust-embedded.github.io/blog/2018-09-25-newsletter-12/
Announcing the web-sys crate!
https://rustwasm.github.io/2018/09/26/announcing-web-sys.html
The relative performance of C and Rust.
http://dtrace.org/blogs/bmc/2018/09/28/the-relative-performance-of-c-and-rust/
Understanding compilers — for humans (version 2).
https://towardsdatascience.com/understanding-compilers-for-humans-version-2-157f0edb02dd
How I’ve found vulnerability in a popular Rust crate (and you can too).
https://medium.com/@shnatsel/how-ive-found-vulnerability-in-a-popular-rust-crate-and-you-can-too-3db081a67fb
lolbench: automagically and empirically discovering Rust performance regressions.
https://blog.anp.lol/rust/2018/09/29/lolbench/
This week in Rust and WebAssembly 8.
https://rustwasm.github.io/2018/10/01/this-week-in-rust-wasm-008.html
The embedded WG newsletter 12.
https://rust-embedded.github.io/blog/2018-09-25-newsletter-12/
Crate of the week: Evcxr
This week's crate is Evcxr, a Rust REPL and Rust Jupyter Kernel. Thanks to Willi Kappler for the suggestion!
This week's crate is Evcxr, a Rust REPL and Rust Jupyter Kernel. Thanks to Willi Kappler for the suggestion!
This week in Rust #255 — 09 oct 2018
https://this-week-in-rust.org/blog/2018/10/09/this-week-in-rust-255/
https://this-week-in-rust.org/blog/2018/10/09/this-week-in-rust-255/
Updates from core
merge proc_macro_ expansion feature gates as proc_macro_hygiene
https://github.com/rust-lang/rust/pull/52121
proptest basic validation
https://github.com/rust-lang/cargo/pull/6149
allow both explicit and elided lifetimes in the same impl header
https://github.com/rust-lang/rust/pull/54458
do not promote comparing function pointers
https://github.com/rust-lang/rust/pull/54702
nest the impl Trait existential item inside the return type
https://github.com/rust-lang/rust/pull/54741
do not normalize all non-scalar constants to a ConstValue::ScalarPair
https://github.com/rust-lang/rust/pull/54693
fix dead code lint for functions using impl Trait
https://github.com/rust-lang/rust/pull/54810
add suggestion for inverted function parameters
https://github.com/rust-lang/rust/pull/54804
suggest to use self for fake-self from other languages
https://github.com/rust-lang/rust/pull/54694
NLL: improve move error loop detection
https://github.com/rust-lang/rust/pull/54343
make NLL suggest "try removing &mut here"
https://github.com/rust-lang/rust/pull/54720
introduce TyKind::UnnormalizedProjection
https://github.com/rust-lang/rust/pull/54789
stabilize min_const_fn
https://github.com/rust-lang/rust/pull/54835
improve error message when trying to move from an Rc or Arc
https://github.com/rust-lang/rust/pull/54703
revisit work on cvoid
https://github.com/rust-lang/libc/pull/1086
fix Once perf regression
https://github.com/rust-lang/rust/pull/54662
make CStr::from_bytes_with_nul_unchecked() a const fn
https://github.com/rust-lang/rust/pull/54745
std: start implementing wasm32 atomics
https://github.com/rust-lang/rust/pull/54017
make spec_extend use for_each()
https://github.com/rust-lang/rust/pull/54761
merge proc_macro_ expansion feature gates as proc_macro_hygiene
https://github.com/rust-lang/rust/pull/52121
proptest basic validation
https://github.com/rust-lang/cargo/pull/6149
allow both explicit and elided lifetimes in the same impl header
https://github.com/rust-lang/rust/pull/54458
do not promote comparing function pointers
https://github.com/rust-lang/rust/pull/54702
nest the impl Trait existential item inside the return type
https://github.com/rust-lang/rust/pull/54741
do not normalize all non-scalar constants to a ConstValue::ScalarPair
https://github.com/rust-lang/rust/pull/54693
fix dead code lint for functions using impl Trait
https://github.com/rust-lang/rust/pull/54810
add suggestion for inverted function parameters
https://github.com/rust-lang/rust/pull/54804
suggest to use self for fake-self from other languages
https://github.com/rust-lang/rust/pull/54694
NLL: improve move error loop detection
https://github.com/rust-lang/rust/pull/54343
make NLL suggest "try removing &mut here"
https://github.com/rust-lang/rust/pull/54720
introduce TyKind::UnnormalizedProjection
https://github.com/rust-lang/rust/pull/54789
stabilize min_const_fn
https://github.com/rust-lang/rust/pull/54835
improve error message when trying to move from an Rc or Arc
https://github.com/rust-lang/rust/pull/54703
revisit work on cvoid
https://github.com/rust-lang/libc/pull/1086
fix Once perf regression
https://github.com/rust-lang/rust/pull/54662
make CStr::from_bytes_with_nul_unchecked() a const fn
https://github.com/rust-lang/rust/pull/54745
std: start implementing wasm32 atomics
https://github.com/rust-lang/rust/pull/54017
make spec_extend use for_each()
https://github.com/rust-lang/rust/pull/54761
News
Porting C to Rust, a case study: minimp3.
https://wiki.alopex.li/PortingCToRust
Lessons learned on writing web applications completely in Rust.
https://medium.com/@saschagrunert/lessons-learned-on-writing-web-applications-completely-in-rust-2080d0990287
comacro: a declarative building block for static analysis.
http://blog.lambdaverse.org/comacro
Oxidizing Python: Speeding up URL quoting by 10x using Rust.
https://tech.blue-yonder.com/oxidizing-python-speeding-up-urlquoting-by-using-rust/
GLSL quasiquoting in Rust.
https://phaazon.net/blog/glsl-quasiquoting
Going four times faster using multi-threading.
http://worthe-it.co.za/programming/2018/10/03/going-four-times-faster-with-multithreading.html
Bluetooth Low Energy with Rust.
https://219design.com/bluetooth-low-energy-with-rust/
Hunting for bugs in Rust.
https://blog.troutwine.us/2018/10/08/hunting-for-bugs-in-rust/
Who authors the most popular crates on crates.io?
https://words.steveklabnik.com/who-authors-the-most-popular-crates-on-crates-io
Rust's story for default arguments.
https://medium.com/@softprops/default-values-copy-that-ae43831781f3
Remacs continues to improve.
http://db48x.net/rust-remacs-2018/
Future directions for cbindgen (rust-ffi).
http://dreamingofbits.com/post/future-directions-for-cbindgen-rust-ffi/
The Embedded WG newsletter 13.
https://rust-embedded.github.io/blog/2018-10-09-newsletter-13/
Porting C to Rust, a case study: minimp3.
https://wiki.alopex.li/PortingCToRust
Lessons learned on writing web applications completely in Rust.
https://medium.com/@saschagrunert/lessons-learned-on-writing-web-applications-completely-in-rust-2080d0990287
comacro: a declarative building block for static analysis.
http://blog.lambdaverse.org/comacro
Oxidizing Python: Speeding up URL quoting by 10x using Rust.
https://tech.blue-yonder.com/oxidizing-python-speeding-up-urlquoting-by-using-rust/
GLSL quasiquoting in Rust.
https://phaazon.net/blog/glsl-quasiquoting
Going four times faster using multi-threading.
http://worthe-it.co.za/programming/2018/10/03/going-four-times-faster-with-multithreading.html
Bluetooth Low Energy with Rust.
https://219design.com/bluetooth-low-energy-with-rust/
Hunting for bugs in Rust.
https://blog.troutwine.us/2018/10/08/hunting-for-bugs-in-rust/
Who authors the most popular crates on crates.io?
https://words.steveklabnik.com/who-authors-the-most-popular-crates-on-crates-io
Rust's story for default arguments.
https://medium.com/@softprops/default-values-copy-that-ae43831781f3
Remacs continues to improve.
http://db48x.net/rust-remacs-2018/
Future directions for cbindgen (rust-ffi).
http://dreamingofbits.com/post/future-directions-for-cbindgen-rust-ffi/
The Embedded WG newsletter 13.
https://rust-embedded.github.io/blog/2018-10-09-newsletter-13/
Crate of the week: pest
This week's crate is pest, a Parsing Expression Grammar-based parser library. Thanks to CAD97 for the suggestion!
This week's crate is pest, a Parsing Expression Grammar-based parser library. Thanks to CAD97 for the suggestion!
This week in Rust #256 — 16 oct 2018
https://this-week-in-rust.org/blog/2018/10/16/this-week-in-rust-256/
https://this-week-in-rust.org/blog/2018/10/16/this-week-in-rust-256/
Updates from core
rustc: allow targets to specify SIMD args are by-val
https://github.com/rust-lang/rust/pull/55024
stabilize tool lints
https://github.com/rust-lang/rust/pull/54870
user annotations in patterns
https://github.com/rust-lang/rust/pull/54757
impl Eq+Hash for TyLayout
https://github.com/rust-lang/rust/pull/54936
prepare miri engine for enforcing validity invariant during execution
https://github.com/rust-lang/rust/pull/54762
miri engine: fix run-time validation
https://github.com/rust-lang/rust/pull/54955
fix handling of #[must_use] on unit and uninhabited types
https://github.com/rust-lang/rust/pull/54920
#[must_use] for associated functions is supposed to actually work
https://github.com/rust-lang/rust/pull/55003
the #[panic_handler] attribute can be applied to non-functions
https://github.com/rust-lang/rust/pull/54997
NLL is missing struct field suggestion
https://github.com/rust-lang/rust/pull/54831
add chalk rules related to associated type defs
https://github.com/rust-lang/rust/pull/54909
better Diagnostic for Trait Object Capture
https://github.com/rust-lang/rust/pull/54848
structured suggestions for unused-lifetimes lint
https://github.com/rust-lang/rust/pull/54686
mir-inlining: don't inline virtual calls
https://github.com/rust-lang/rust/pull/55046
use MaybeUninit in liballoc
https://github.com/rust-lang/rust/pull/54924
stabilize the Option::replace method
https://github.com/rust-lang/rust/pull/54904
std: implement Thread-local storage for wasm32-unknown-unknown
https://github.com/rust-lang/rust/pull/54951
std: synchronize global allocator on wasm32
https://github.com/rust-lang/rust/pull/54950
rustdoc: fix mobile docs
https://github.com/rust-lang/rust/pull/54869
rustc: allow targets to specify SIMD args are by-val
https://github.com/rust-lang/rust/pull/55024
stabilize tool lints
https://github.com/rust-lang/rust/pull/54870
user annotations in patterns
https://github.com/rust-lang/rust/pull/54757
impl Eq+Hash for TyLayout
https://github.com/rust-lang/rust/pull/54936
prepare miri engine for enforcing validity invariant during execution
https://github.com/rust-lang/rust/pull/54762
miri engine: fix run-time validation
https://github.com/rust-lang/rust/pull/54955
fix handling of #[must_use] on unit and uninhabited types
https://github.com/rust-lang/rust/pull/54920
#[must_use] for associated functions is supposed to actually work
https://github.com/rust-lang/rust/pull/55003
the #[panic_handler] attribute can be applied to non-functions
https://github.com/rust-lang/rust/pull/54997
NLL is missing struct field suggestion
https://github.com/rust-lang/rust/pull/54831
add chalk rules related to associated type defs
https://github.com/rust-lang/rust/pull/54909
better Diagnostic for Trait Object Capture
https://github.com/rust-lang/rust/pull/54848
structured suggestions for unused-lifetimes lint
https://github.com/rust-lang/rust/pull/54686
mir-inlining: don't inline virtual calls
https://github.com/rust-lang/rust/pull/55046
use MaybeUninit in liballoc
https://github.com/rust-lang/rust/pull/54924
stabilize the Option::replace method
https://github.com/rust-lang/rust/pull/54904
std: implement Thread-local storage for wasm32-unknown-unknown
https://github.com/rust-lang/rust/pull/54951
std: synchronize global allocator on wasm32
https://github.com/rust-lang/rust/pull/54950
rustdoc: fix mobile docs
https://github.com/rust-lang/rust/pull/54869
News
🎈🎉 Announcing Rust 1.29.2. 🎉🎈
https://blog.rust-lang.org/2018/10/12/Rust-1.29.2.html
Rust has a static garbage collector.
https://words.steveklabnik.com/borrow-checking-escape-analysis-and-the-generational-hypothesis
Serverless Rust with Cloudflare Workers.
https://blog.cloudflare.com/cloudflare-workers-as-a-serverless-rust-platform/
Notes on type layouts and ABIs in Rust.
https://gankro.github.io/blah/rust-layouts-and-abis/
Game dev from zero - part 1: Hello, Rust lang.
https://hashnode.com/post/game-dev-from-zero-part-1-hello-rust-lang-cjn3brwto001jv7s2e533bdfc
Fixing a Clippy crash.
https://phansch.net/2018/10/10/fixing-a-clippy-crash/
Handling configurations in a Rust app with envy.
https://medium.com/@softprops/configuration-envy-a09584386705
Routing and extraction in Tide: a first sketch.
https://rust-lang-nursery.github.io/wg-net/2018/10/16/tide-routing.html
Amethyst is growing; news on ongoing projects.
https://www.amethyst.rs/blog/dev-news-10-2018/
🎈🎉 Announcing Rust 1.29.2. 🎉🎈
https://blog.rust-lang.org/2018/10/12/Rust-1.29.2.html
Rust has a static garbage collector.
https://words.steveklabnik.com/borrow-checking-escape-analysis-and-the-generational-hypothesis
Serverless Rust with Cloudflare Workers.
https://blog.cloudflare.com/cloudflare-workers-as-a-serverless-rust-platform/
Notes on type layouts and ABIs in Rust.
https://gankro.github.io/blah/rust-layouts-and-abis/
Game dev from zero - part 1: Hello, Rust lang.
https://hashnode.com/post/game-dev-from-zero-part-1-hello-rust-lang-cjn3brwto001jv7s2e533bdfc
Fixing a Clippy crash.
https://phansch.net/2018/10/10/fixing-a-clippy-crash/
Handling configurations in a Rust app with envy.
https://medium.com/@softprops/configuration-envy-a09584386705
Routing and extraction in Tide: a first sketch.
https://rust-lang-nursery.github.io/wg-net/2018/10/16/tide-routing.html
Amethyst is growing; news on ongoing projects.
https://www.amethyst.rs/blog/dev-news-10-2018/
Crate of the week: Noria
This week's crate is Noria, a new streaming data-flow system designed to act as a fast storage backend for read-heavy web applications. Thanks to Stevensonmt for the suggestion!
This week's crate is Noria, a new streaming data-flow system designed to act as a fast storage backend for read-heavy web applications. Thanks to Stevensonmt for the suggestion!
This week in Rust #257 — 23 oct 2018
https://this-week-in-rust.org/blog/2018/10/23/this-week-in-rust-257/
https://this-week-in-rust.org/blog/2018/10/23/this-week-in-rust-257/
Updates from core
mir-inlining: don't inline virtual calls
https://github.com/rust-lang/rust/pull/55046
reject partial init and reinit of uninitialized data
https://github.com/rust-lang/rust/pull/54941
improve verify_llvm_ir config option
https://github.com/rust-lang/rust/pull/55031
add missing lifetime fragment specifier to error message
https://github.com/rust-lang/rust/pull/55025
rustc: fix (again) simd vectors by-val in ABI
https://github.com/rust-lang/rust/pull/55073
resolve: scale back hard-coded extern prelude additions on 2015 edition
https://github.com/rust-lang/rust/pull/54671
resolve: do not skip extern prelude during speculative resolution
https://github.com/rust-lang/rust/pull/55102
allow explicit matches on ! without warning
https://github.com/rust-lang/rust/pull/55119
deduplicate some code and compile-time values around vtables
https://github.com/rust-lang/rust/pull/55016
NLL: propagate bounds from generators
https://github.com/rust-lang/rust/pull/55013
NLL lacks various special case handling of closures
https://github.com/rust-lang/rust/pull/54976
NLL: fix migrate mode issue by not buffering lints
https://github.com/rust-lang/rust/pull/55135
NLL: change compare-mode=nll to use borrowck=migrate
https://github.com/rust-lang/rust/pull/55134
NLL: use new region infer errors when explaining borrows
https://github.com/rust-lang/rust/pull/55069
NLL type annotations in multisegment path
https://github.com/rust-lang/rust/pull/55093
add filtering option to rustc_on_unimplemented and reword Iterator E0277 errors
https://github.com/rust-lang/rust/pull/54946
custom E0277 diagnostic for Path
https://github.com/rust-lang/rust/pull/54979
unused_patterns lint
https://github.com/rust-lang/rust/pull/54820
check the type of statics and constants for Sizedness
https://github.com/rust-lang/rust/pull/55004
miri: layout should not affect CTFE checks
https://github.com/rust-lang/rust/pull/55142
added graphviz visualization for obligation forests
https://github.com/rust-lang/rust/pull/54486
replace CanonicalVar with DebruijnIndex
https://github.com/rust-lang/rust/pull/52984
stabilize slice::chunks_exact(), chunks_exact_mut(), rchunks(), rchunks_mut(), rchunks_exact(), rchunks_exact_mut()
https://github.com/rust-lang/rust/pull/55178
add a copysign function to f32 and f64
https://github.com/rust-lang/rust/pull/55169
don't warn about parentheses on match (return)
https://github.com/rust-lang/rust/pull/55166
handle underscore bounds in unexpected places
https://github.com/rust-lang/rust/pull/55162
fix ICE and report a human readable error
https://github.com/rust-lang/rust/pull/55071
add slice::rchunks(), rchunks_mut(), rchunks_exact() and rchunks_exact_mut()
https://github.com/rust-lang/rust/pull/54580
unify multiple errors on single typo in match pattern
https://github.com/rust-lang/rust/pull/55156
fix LLVMRustInlineAsmVerify return type mismatch
https://github.com/rust-lang/rust/pull/55128
miri engine: hooks for basic stacked borrows
https://github.com/rust-lang/rust/pull/55125
add support for 'cargo check --all-features'
https://github.com/rust-lang/rust.vim/pull/265
cargo: add PackageError wrappers for activation errors
https://github.com/rust-lang/cargo/pull/6175
rustdoc: use dyn keyword when rendering dynamic traits
https://github.com/rust-lang/rust/pull/55077
rustdoc: don't prefer dynamic linking in doc tests
https://github.com/rust-lang/rust/pull/54939
rustdoc: add lint for doc without codeblocks
https://github.com/rust-lang/rust/pull/54349
detect if access to localStorage is forbidden by the user's browser
https://github.com/rust-lang/rust/pull/55080
librustdoc: disable spellcheck for search field
https://github.com/rust-lang/rust/pull/55161
crates.io: add a missing index on crates
https://github.com/rust-lang/crates.io/pull/1527
mir-inlining: don't inline virtual calls
https://github.com/rust-lang/rust/pull/55046
reject partial init and reinit of uninitialized data
https://github.com/rust-lang/rust/pull/54941
improve verify_llvm_ir config option
https://github.com/rust-lang/rust/pull/55031
add missing lifetime fragment specifier to error message
https://github.com/rust-lang/rust/pull/55025
rustc: fix (again) simd vectors by-val in ABI
https://github.com/rust-lang/rust/pull/55073
resolve: scale back hard-coded extern prelude additions on 2015 edition
https://github.com/rust-lang/rust/pull/54671
resolve: do not skip extern prelude during speculative resolution
https://github.com/rust-lang/rust/pull/55102
allow explicit matches on ! without warning
https://github.com/rust-lang/rust/pull/55119
deduplicate some code and compile-time values around vtables
https://github.com/rust-lang/rust/pull/55016
NLL: propagate bounds from generators
https://github.com/rust-lang/rust/pull/55013
NLL lacks various special case handling of closures
https://github.com/rust-lang/rust/pull/54976
NLL: fix migrate mode issue by not buffering lints
https://github.com/rust-lang/rust/pull/55135
NLL: change compare-mode=nll to use borrowck=migrate
https://github.com/rust-lang/rust/pull/55134
NLL: use new region infer errors when explaining borrows
https://github.com/rust-lang/rust/pull/55069
NLL type annotations in multisegment path
https://github.com/rust-lang/rust/pull/55093
add filtering option to rustc_on_unimplemented and reword Iterator E0277 errors
https://github.com/rust-lang/rust/pull/54946
custom E0277 diagnostic for Path
https://github.com/rust-lang/rust/pull/54979
unused_patterns lint
https://github.com/rust-lang/rust/pull/54820
check the type of statics and constants for Sizedness
https://github.com/rust-lang/rust/pull/55004
miri: layout should not affect CTFE checks
https://github.com/rust-lang/rust/pull/55142
added graphviz visualization for obligation forests
https://github.com/rust-lang/rust/pull/54486
replace CanonicalVar with DebruijnIndex
https://github.com/rust-lang/rust/pull/52984
stabilize slice::chunks_exact(), chunks_exact_mut(), rchunks(), rchunks_mut(), rchunks_exact(), rchunks_exact_mut()
https://github.com/rust-lang/rust/pull/55178
add a copysign function to f32 and f64
https://github.com/rust-lang/rust/pull/55169
don't warn about parentheses on match (return)
https://github.com/rust-lang/rust/pull/55166
handle underscore bounds in unexpected places
https://github.com/rust-lang/rust/pull/55162
fix ICE and report a human readable error
https://github.com/rust-lang/rust/pull/55071
add slice::rchunks(), rchunks_mut(), rchunks_exact() and rchunks_exact_mut()
https://github.com/rust-lang/rust/pull/54580
unify multiple errors on single typo in match pattern
https://github.com/rust-lang/rust/pull/55156
fix LLVMRustInlineAsmVerify return type mismatch
https://github.com/rust-lang/rust/pull/55128
miri engine: hooks for basic stacked borrows
https://github.com/rust-lang/rust/pull/55125
add support for 'cargo check --all-features'
https://github.com/rust-lang/rust.vim/pull/265
cargo: add PackageError wrappers for activation errors
https://github.com/rust-lang/cargo/pull/6175
rustdoc: use dyn keyword when rendering dynamic traits
https://github.com/rust-lang/rust/pull/55077
rustdoc: don't prefer dynamic linking in doc tests
https://github.com/rust-lang/rust/pull/54939
rustdoc: add lint for doc without codeblocks
https://github.com/rust-lang/rust/pull/54349
detect if access to localStorage is forbidden by the user's browser
https://github.com/rust-lang/rust/pull/55080
librustdoc: disable spellcheck for search field
https://github.com/rust-lang/rust/pull/55161
crates.io: add a missing index on crates
https://github.com/rust-lang/crates.io/pull/1527
News
Writing an OS in Rust: Hardware interrupts.
https://os.phil-opp.com/hardware-interrupts/
Towards fearless SIMD.
https://raphlinus.github.io/rust/simd/2018/10/19/fearless-simd.html
Shifgrethor I: Garbage collection as a Rust library.
https://boats.gitlab.io/blog/post/shifgrethor-i/
Update on the October 15, 2018 incident on crates.io.
https://blog.rust-lang.org/2018/10/19/Update-on-crates.io-incident.html
docs.rs is now part of the rust-lang-nursery organization.
https://github.com/rust-lang-nursery/docs.rs
Is Rust functional?
https://www.fpcomplete.com/blog/2018/10/is-rust-functional
Multithreading Rust and WebAssembly.
https://rustwasm.github.io/2018/10/24/multithreading-rust-and-wasm.html
Rust has higher kinded types already... sort of.
https://joshlf.com/post/2018/10/18/rust-higher-kinded-types-already/
Auth web microservice with Rust using actix-web.
https://hgill.io/posts/auth-microservice-rust-actix-web-diesel-complete-tutorial-part-1/
Writing an OS in Rust: Hardware interrupts.
https://os.phil-opp.com/hardware-interrupts/
Towards fearless SIMD.
https://raphlinus.github.io/rust/simd/2018/10/19/fearless-simd.html
Shifgrethor I: Garbage collection as a Rust library.
https://boats.gitlab.io/blog/post/shifgrethor-i/
Update on the October 15, 2018 incident on crates.io.
https://blog.rust-lang.org/2018/10/19/Update-on-crates.io-incident.html
docs.rs is now part of the rust-lang-nursery organization.
https://github.com/rust-lang-nursery/docs.rs
Is Rust functional?
https://www.fpcomplete.com/blog/2018/10/is-rust-functional
Multithreading Rust and WebAssembly.
https://rustwasm.github.io/2018/10/24/multithreading-rust-and-wasm.html
Rust has higher kinded types already... sort of.
https://joshlf.com/post/2018/10/18/rust-higher-kinded-types-already/
Auth web microservice with Rust using actix-web.
https://hgill.io/posts/auth-microservice-rust-actix-web-diesel-complete-tutorial-part-1/