This week in Rust #252 — 18 sep 2018
https://this-week-in-rust.org/blog/2018/09/18/this-week-in-rust-252/
https://this-week-in-rust.org/blog/2018/09/18/this-week-in-rust-252/
Updates from core
temporarily prohibit proc macro attributes placed after derives
https://github.com/rust-lang/rust/pull/54277
add target thumbv7a-pc-windows-msvc
https://github.com/rust-lang/rust/pull/53621
PowerPC: fix the calling convention for i1 arguments on PPC32
https://github.com/rust-lang/llvm/pull/127
allow for opting out of ThinLTO and clean up LTO related cli flag handling
https://github.com/rust-lang/rust/pull/53950
resolve: allow only core, std, meta and --extern in Rust 2018 paths
https://github.com/rust-lang/rust/pull/54116
resolve: do not error on access to proc macros imported with #[macro_use]
https://github.com/rust-lang/rust/pull/53461
add inspection and setter methods to proc_macro::Diagnostic
https://github.com/rust-lang/rust/pull/52896
support anoscription for patterns in NLL
https://github.com/rust-lang/rust/pull/53873
allow named lifetimes in async functions
https://github.com/rust-lang/rust/pull/54000
suggest && and || instead of 'and' and 'or'
https://github.com/rust-lang/rust/pull/54181
use structured suggestion for "missing mut" label
https://github.com/rust-lang/rust/pull/54157
de-overlap the lifetimes of flow_inits and flow_{un,ever_}inits
https://github.com/rust-lang/rust/pull/54213
don't compute padding of braces unless they are unmatched
https://github.com/rust-lang/rust/pull/54092
don't suggest extra clone when converting cloned slice to Vec
https://github.com/rust-lang/rust/pull/54080
reexport CheckLintNameResult
https://github.com/rust-lang/rust/pull/54106
miri: keep around some information for dead allocations
https://github.com/rust-lang/rust/pull/54254
miri loop detector hashing
https://github.com/rust-lang/rust/pull/54076
fix some uses of pointer intrinsics with invalid pointers
https://github.com/rust-lang/rust/pull/53804
first step towards u128 instead of Const in PatternKind::Range
https://github.com/rust-lang/rust/pull/51159
stabilize outlives requirements
https://github.com/rust-lang/rust/pull/53793
stabilize #[used]
https://github.com/rust-lang/rust/pull/51363
stabilize slice_align_to
https://github.com/rust-lang/rust/pull/53754
implement tuple_struct_self_ctor (RFC #2302)
https://github.com/rust-lang/rust/pull/53751
implement map_or_else for Result<T, E>
https://github.com/rust-lang/rust/pull/53777
add a implementation of From for converting &'a Option<T> into Option<&'a T>
https://github.com/rust-lang/rust/pull/53218
cargo: add empty ctrlc handler on Windows
https://github.com/rust-lang/cargo/pull/6004
temporarily prohibit proc macro attributes placed after derives
https://github.com/rust-lang/rust/pull/54277
add target thumbv7a-pc-windows-msvc
https://github.com/rust-lang/rust/pull/53621
PowerPC: fix the calling convention for i1 arguments on PPC32
https://github.com/rust-lang/llvm/pull/127
allow for opting out of ThinLTO and clean up LTO related cli flag handling
https://github.com/rust-lang/rust/pull/53950
resolve: allow only core, std, meta and --extern in Rust 2018 paths
https://github.com/rust-lang/rust/pull/54116
resolve: do not error on access to proc macros imported with #[macro_use]
https://github.com/rust-lang/rust/pull/53461
add inspection and setter methods to proc_macro::Diagnostic
https://github.com/rust-lang/rust/pull/52896
support anoscription for patterns in NLL
https://github.com/rust-lang/rust/pull/53873
allow named lifetimes in async functions
https://github.com/rust-lang/rust/pull/54000
suggest && and || instead of 'and' and 'or'
https://github.com/rust-lang/rust/pull/54181
use structured suggestion for "missing mut" label
https://github.com/rust-lang/rust/pull/54157
de-overlap the lifetimes of flow_inits and flow_{un,ever_}inits
https://github.com/rust-lang/rust/pull/54213
don't compute padding of braces unless they are unmatched
https://github.com/rust-lang/rust/pull/54092
don't suggest extra clone when converting cloned slice to Vec
https://github.com/rust-lang/rust/pull/54080
reexport CheckLintNameResult
https://github.com/rust-lang/rust/pull/54106
miri: keep around some information for dead allocations
https://github.com/rust-lang/rust/pull/54254
miri loop detector hashing
https://github.com/rust-lang/rust/pull/54076
fix some uses of pointer intrinsics with invalid pointers
https://github.com/rust-lang/rust/pull/53804
first step towards u128 instead of Const in PatternKind::Range
https://github.com/rust-lang/rust/pull/51159
stabilize outlives requirements
https://github.com/rust-lang/rust/pull/53793
stabilize #[used]
https://github.com/rust-lang/rust/pull/51363
stabilize slice_align_to
https://github.com/rust-lang/rust/pull/53754
implement tuple_struct_self_ctor (RFC #2302)
https://github.com/rust-lang/rust/pull/53751
implement map_or_else for Result<T, E>
https://github.com/rust-lang/rust/pull/53777
add a implementation of From for converting &'a Option<T> into Option<&'a T>
https://github.com/rust-lang/rust/pull/53218
cargo: add empty ctrlc handler on Windows
https://github.com/rust-lang/cargo/pull/6004
News
🎈🎉 Announcing Rust 1.29. 🎉🎈
https://blog.rust-lang.org/2018/09/13/Rust-1.29.html
Ripgrep is available as a package in Ubuntu 18.10.
https://github.com/BurntSushi/ripgrep/pull/1054
WebRender is now enabled by default in Firefox Nightly on Windows 10 with Nvidia GPUs.
https://groups.google.com/forum/#!topic/mozilla.dev.platform/x_sFbDgQJP0
RustConf 2018 closing keynote (blog post).
https://kyren.github.io/2018/09/14/rustconf-talk.html
Rising Tide: building a modular web framework in the open.
https://rust-lang-nursery.github.io/wg-net/2018/09/11/tide.html
You can’t “turn off the borrow checker” in Rust.
https://words.steveklabnik.com/you-can-t-turn-off-the-borrow-checker-in-rust
Measuring SmallVec footprint with Smallvectune.
https://llogiq.github.io/2018/09/13/smallvec.html
How we organize a complex Rust codebase.
https://blog.getseq.net/rust-at-datalust-how-we-organize-a-complex-rust-codebase/
Desktop apps with Rust (Electorn + WebAssembly).
https://speice.io/2018/09/isomorphic-apps.html
Postgres over TLS with the postgres crate, r2d2_postgres and openssl.
https://matthewkmayer.github.io/blag/public/post/postgres-tls/
The Networking WG newsletter 1.
https://internals.rust-lang.org/t/the-networking-working-group-newsletter-01/8391
🎈🎉 Announcing Rust 1.29. 🎉🎈
https://blog.rust-lang.org/2018/09/13/Rust-1.29.html
Ripgrep is available as a package in Ubuntu 18.10.
https://github.com/BurntSushi/ripgrep/pull/1054
WebRender is now enabled by default in Firefox Nightly on Windows 10 with Nvidia GPUs.
https://groups.google.com/forum/#!topic/mozilla.dev.platform/x_sFbDgQJP0
RustConf 2018 closing keynote (blog post).
https://kyren.github.io/2018/09/14/rustconf-talk.html
Rising Tide: building a modular web framework in the open.
https://rust-lang-nursery.github.io/wg-net/2018/09/11/tide.html
You can’t “turn off the borrow checker” in Rust.
https://words.steveklabnik.com/you-can-t-turn-off-the-borrow-checker-in-rust
Measuring SmallVec footprint with Smallvectune.
https://llogiq.github.io/2018/09/13/smallvec.html
How we organize a complex Rust codebase.
https://blog.getseq.net/rust-at-datalust-how-we-organize-a-complex-rust-codebase/
Desktop apps with Rust (Electorn + WebAssembly).
https://speice.io/2018/09/isomorphic-apps.html
Postgres over TLS with the postgres crate, r2d2_postgres and openssl.
https://matthewkmayer.github.io/blag/public/post/postgres-tls/
The Networking WG newsletter 1.
https://internals.rust-lang.org/t/the-networking-working-group-newsletter-01/8391
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/