This week in Rust #265 — 18 dec 2018
https://this-week-in-rust.org/blog/2018/12/18/this-week-in-rust-265/
https://this-week-in-rust.org/blog/2018/12/18/this-week-in-rust-265/
Updates from core
x86: add the adx target feature to whitelist
https://github.com/rust-lang/rust/pull/56749
bump minimum required LLVM version to 6.0
https://github.com/rust-lang/rust/pull/56642
unconditionally emit the target-cpu LLVM attribute
https://github.com/rust-lang/rust/pull/56609
account for impl Trait when suggesting lifetime
https://github.com/rust-lang/rust/pull/56755
fixed issue with using Self ctor in typedefs
https://github.com/rust-lang/rust/pull/56850
clearer error message for dead assign
https://github.com/rust-lang/rust/pull/56439
emit error with span for empty asserts
https://github.com/rust-lang/rust/pull/56491
fix span for invalid number of parameters in trait method
https://github.com/rust-lang/rust/pull/56641
contexually dependent error message for E0424 when value is assigned to "self"
https://github.com/rust-lang/rust/pull/56572
don't depend on Allocation sizes for pattern length
https://github.com/rust-lang/rust/pull/56540
some cleanups around AllocId management
https://github.com/rust-lang/rust/pull/56461
improve MIR match generation for ranges
https://github.com/rust-lang/rust/pull/56810
rustc: add an unstable simd_select_bitmask intrinsic
https://github.com/rust-lang/rust/pull/56789
allow ptr::hash to accept fat pointers
https://github.com/rust-lang/rust/pull/56751
specialize: remove Boxes used by Children::insert
https://github.com/rust-lang/rust/pull/56744
infer: remove Box from a returned Iterator
infer: remove Box from a returned Iterator
TokenStream improvements
https://github.com/rust-lang/rust/pull/56737
remove tokenstream::Delimited
https://github.com/rust-lang/rust/pull/56369
overhaul FileSearch and SearchPaths
https://github.com/rust-lang/rust/pull/56090
SortedMap upgrades
https://github.com/rust-lang/rust/pull/56039
make const unsafe fn bodies unsafe
https://github.com/rust-lang/rust/pull/56706
self-profiler: add column for percent of total time
https://github.com/rust-lang/rust/pull/56702
#[must_use] on traits in stdlib
https://github.com/rust-lang/rust/pull/56677
fix BTreeMap UB
https://github.com/rust-lang/rust/pull/56648
std: activate compiler_builtins mem feature for no_std targets
https://github.com/rust-lang/rust/pull/56825
add checked_add method to Instant time type
https://github.com/rust-lang/rust/pull/56490
VecDeque: fix for stacked borrows
https://github.com/rust-lang/rust/pull/56161
std: depend directly on crates.io crates
https://github.com/rust-lang/rust/pull/56092
libtest: use deterministic HashMap, avoid spawning thread if there is no concurrency
https://github.com/rust-lang/rust/pull/56243
greatly improve rustdoc rendering speed issues
https://github.com/rust-lang/rust/pull/56005
rustdoc: fix local reexports of proc macros
https://github.com/rust-lang/rust/pull/56637
x86: add the adx target feature to whitelist
https://github.com/rust-lang/rust/pull/56749
bump minimum required LLVM version to 6.0
https://github.com/rust-lang/rust/pull/56642
unconditionally emit the target-cpu LLVM attribute
https://github.com/rust-lang/rust/pull/56609
account for impl Trait when suggesting lifetime
https://github.com/rust-lang/rust/pull/56755
fixed issue with using Self ctor in typedefs
https://github.com/rust-lang/rust/pull/56850
clearer error message for dead assign
https://github.com/rust-lang/rust/pull/56439
emit error with span for empty asserts
https://github.com/rust-lang/rust/pull/56491
fix span for invalid number of parameters in trait method
https://github.com/rust-lang/rust/pull/56641
contexually dependent error message for E0424 when value is assigned to "self"
https://github.com/rust-lang/rust/pull/56572
don't depend on Allocation sizes for pattern length
https://github.com/rust-lang/rust/pull/56540
some cleanups around AllocId management
https://github.com/rust-lang/rust/pull/56461
improve MIR match generation for ranges
https://github.com/rust-lang/rust/pull/56810
rustc: add an unstable simd_select_bitmask intrinsic
https://github.com/rust-lang/rust/pull/56789
allow ptr::hash to accept fat pointers
https://github.com/rust-lang/rust/pull/56751
specialize: remove Boxes used by Children::insert
https://github.com/rust-lang/rust/pull/56744
infer: remove Box from a returned Iterator
infer: remove Box from a returned Iterator
TokenStream improvements
https://github.com/rust-lang/rust/pull/56737
remove tokenstream::Delimited
https://github.com/rust-lang/rust/pull/56369
overhaul FileSearch and SearchPaths
https://github.com/rust-lang/rust/pull/56090
SortedMap upgrades
https://github.com/rust-lang/rust/pull/56039
make const unsafe fn bodies unsafe
https://github.com/rust-lang/rust/pull/56706
self-profiler: add column for percent of total time
https://github.com/rust-lang/rust/pull/56702
#[must_use] on traits in stdlib
https://github.com/rust-lang/rust/pull/56677
fix BTreeMap UB
https://github.com/rust-lang/rust/pull/56648
std: activate compiler_builtins mem feature for no_std targets
https://github.com/rust-lang/rust/pull/56825
add checked_add method to Instant time type
https://github.com/rust-lang/rust/pull/56490
VecDeque: fix for stacked borrows
https://github.com/rust-lang/rust/pull/56161
std: depend directly on crates.io crates
https://github.com/rust-lang/rust/pull/56092
libtest: use deterministic HashMap, avoid spawning thread if there is no concurrency
https://github.com/rust-lang/rust/pull/56243
greatly improve rustdoc rendering speed issues
https://github.com/rust-lang/rust/pull/56005
rustdoc: fix local reexports of proc macros
https://github.com/rust-lang/rust/pull/56637
News
Tools in the 2018 edition.
https://blog.rust-lang.org/2018/12/17/Rust-2018-dev-tools.html
Making Rust float parsing fast and correct.
https://www.reddit.com/r/rust/comments/a6j5j1/making_rust_float_parsing_fast_and_correct/
Bootstrapping Rust.
https://www.gnu.org/software/guix/blog/2018/bootstrapping-rust/
Async in Rust, circa 2018.
https://rust-lang-nursery.github.io/wg-net/2018/12/13/async-update.html
Rust Analyzer in 2018 and 2019.
https://ferrous-systems.com/blog/rust-analyzer-2019/
Rust and WebAssembly in 2019.
http://fitzgeraldnick.com/2018/12/14/rust-and-webassembly-in-2019.html
Storing unboxed trait objects in Rust.
https://guiand.xyz/blog-posts/unboxed-trait-objects.html
Currying in Rust — Part 2 (A glimpse of generics).
https://hashnode.com/post/currying-in-rust-part-2-a-glimpse-of-generics-cjphbgun90025pms241ggh3d9
Building a JS Interpreter in Rust part 1.
https://jason-williams.co.uk/building-a-js-interpreter-in-rust-part-1/
Edge programming with Rust and WebAssembly.
https://www.fastly.com/blog/edge-programming-rust-web-assembly
Tools in the 2018 edition.
https://blog.rust-lang.org/2018/12/17/Rust-2018-dev-tools.html
Making Rust float parsing fast and correct.
https://www.reddit.com/r/rust/comments/a6j5j1/making_rust_float_parsing_fast_and_correct/
Bootstrapping Rust.
https://www.gnu.org/software/guix/blog/2018/bootstrapping-rust/
Async in Rust, circa 2018.
https://rust-lang-nursery.github.io/wg-net/2018/12/13/async-update.html
Rust Analyzer in 2018 and 2019.
https://ferrous-systems.com/blog/rust-analyzer-2019/
Rust and WebAssembly in 2019.
http://fitzgeraldnick.com/2018/12/14/rust-and-webassembly-in-2019.html
Storing unboxed trait objects in Rust.
https://guiand.xyz/blog-posts/unboxed-trait-objects.html
Currying in Rust — Part 2 (A glimpse of generics).
https://hashnode.com/post/currying-in-rust-part-2-a-glimpse-of-generics-cjphbgun90025pms241ggh3d9
Building a JS Interpreter in Rust part 1.
https://jason-williams.co.uk/building-a-js-interpreter-in-rust-part-1/
Edge programming with Rust and WebAssembly.
https://www.fastly.com/blog/edge-programming-rust-web-assembly
Crate of the week: yaserde
This week's crate is yaserde, a specialized XML (de)serialization crate compatible with serde. Thanks to Marc Antoine Arnaud for the suggestion!
This week's crate is yaserde, a specialized XML (de)serialization crate compatible with serde. Thanks to Marc Antoine Arnaud for the suggestion!
This week in Rust #266 — 25 dec 2018
https://this-week-in-rust.org/blog/2018/12/25/this-week-in-rust-266/
https://this-week-in-rust.org/blog/2018/12/25/this-week-in-rust-266/
Updates from core
add targets thumbv7neon-linux-androideabi and thumbv7neon-unknown-linux-gnueabihf
https://github.com/rust-lang/rust/pull/56947
less conservative uninhabitedness check
https://github.com/rust-lang/rust/pull/54125
remove "visited" set from inhabitedness checking
https://github.com/rust-lang/rust/pull/57033
short-circuit DefIdForest::intersection()
https://github.com/rust-lang/rust/pull/57060
make the 'a lifetime on TyCtxt useless
https://github.com/rust-lang/rust/pull/56601
trigger unsized coercions keyed on Sized bounds
https://github.com/rust-lang/rust/pull/56219
fix various aspects around let bindings inside const functions
https://github.com/rust-lang/rust/pull/56160
deny intra-doc link resolution failures in libstd
https://github.com/rust-lang/rust/pull/56941
process nested obligations in autoderef
https://github.com/rust-lang/rust/pull/54252
mark tuple structs as live if their constructors are used
https://github.com/rust-lang/rust/pull/56953
fix alignment for array indexing
https://github.com/rust-lang/rust/pull/57053
enable emission of alignment attrs for pointer params
https://github.com/rust-lang/rust/pull/57021
enum type instead of variant suggestion unification
https://github.com/rust-lang/rust/pull/56188
make basic CTFE tracing available on release builds
https://github.com/rust-lang/rust/pull/56973
remove TokenStream::JointTree
https://github.com/rust-lang/rust/pull/56964
miri: allocation is infallible
https://github.com/rust-lang/rust/pull/56981
fix mutable references in static mut
https://github.com/rust-lang/rust/pull/56916
simplify MIR generation for logical operations
https://github.com/rust-lang/rust/pull/56917
static eval: do not ICE on layout size overflow
https://github.com/rust-lang/rust/pull/56909
disable field reordering for repr(int)
https://github.com/rust-lang/rust/pull/56887
always run rustc in a thread
https://github.com/rust-lang/rust/pull/56813
version-gate the trailing semicolon change of return statements inside a match arm
https://github.com/rust-lang/rustfmt/pull/3250
add DoubleEndedIterator::nth_back
https://github.com/rust-lang/rust/pull/56802
mir-opt: make SimplifyCfg collapse goto chains starting from bb0
https://github.com/rust-lang/rust/pull/56764
treat ref-to-raw cast like a reborrow: do a special kind of retag
https://github.com/rust-lang/rust/pull/56741
MIR borrowck doesn't accept the example of iterating and updating a mutable reference
https://github.com/rust-lang/rust/pull/56649
rework treatment of $crate in procedural macros
https://github.com/rust-lang/rust/pull/56647
tweak query code for performance
https://github.com/rust-lang/rust/pull/56613
implement Eq, PartialEq and Hash for atomic::Ordering
https://github.com/rust-lang/rust/pull/56881
add unstable VecDeque::rotate_{left, right}
https://github.com/rust-lang/rust/pull/56842
remove Cycle::try_fold override
https://github.com/rust-lang/rust/pull/56904
short-circuit Rc/Arc equality checking on equal pointers where T: Eq
https://github.com/rust-lang/rust/pull/56550
stabilize Rc, Arc and Pin as method receivers
https://github.com/rust-lang/rust/pull/56805
stabilize min_const_unsafe_fn in 1.33
https://github.com/rust-lang/rust/pull/57067
stabilize Vec(Deque)::resize_with
https://github.com/rust-lang/rust/pull/57002
stabilize Pin
https://github.com/rust-lang/rust/pull/56939
stabilize underscore_imports
https://github.com/rust-lang/rust/pull/56303
bootstrap: Link LLVM as a dylib with ThinLTO
https://github.com/rust-lang/rust/pull/56944
profiler: simplify total_duration, improve readability
https://github.com/rust-lang/rust/pull/56918
cargo: warn on unused patches
https://github.com/rust-lang/cargo/pull/6470
rustdoc: add new CLI flag to load static files from a different location
https://github.com/rust-lang/rust/pull/57011
add targets thumbv7neon-linux-androideabi and thumbv7neon-unknown-linux-gnueabihf
https://github.com/rust-lang/rust/pull/56947
less conservative uninhabitedness check
https://github.com/rust-lang/rust/pull/54125
remove "visited" set from inhabitedness checking
https://github.com/rust-lang/rust/pull/57033
short-circuit DefIdForest::intersection()
https://github.com/rust-lang/rust/pull/57060
make the 'a lifetime on TyCtxt useless
https://github.com/rust-lang/rust/pull/56601
trigger unsized coercions keyed on Sized bounds
https://github.com/rust-lang/rust/pull/56219
fix various aspects around let bindings inside const functions
https://github.com/rust-lang/rust/pull/56160
deny intra-doc link resolution failures in libstd
https://github.com/rust-lang/rust/pull/56941
process nested obligations in autoderef
https://github.com/rust-lang/rust/pull/54252
mark tuple structs as live if their constructors are used
https://github.com/rust-lang/rust/pull/56953
fix alignment for array indexing
https://github.com/rust-lang/rust/pull/57053
enable emission of alignment attrs for pointer params
https://github.com/rust-lang/rust/pull/57021
enum type instead of variant suggestion unification
https://github.com/rust-lang/rust/pull/56188
make basic CTFE tracing available on release builds
https://github.com/rust-lang/rust/pull/56973
remove TokenStream::JointTree
https://github.com/rust-lang/rust/pull/56964
miri: allocation is infallible
https://github.com/rust-lang/rust/pull/56981
fix mutable references in static mut
https://github.com/rust-lang/rust/pull/56916
simplify MIR generation for logical operations
https://github.com/rust-lang/rust/pull/56917
static eval: do not ICE on layout size overflow
https://github.com/rust-lang/rust/pull/56909
disable field reordering for repr(int)
https://github.com/rust-lang/rust/pull/56887
always run rustc in a thread
https://github.com/rust-lang/rust/pull/56813
version-gate the trailing semicolon change of return statements inside a match arm
https://github.com/rust-lang/rustfmt/pull/3250
add DoubleEndedIterator::nth_back
https://github.com/rust-lang/rust/pull/56802
mir-opt: make SimplifyCfg collapse goto chains starting from bb0
https://github.com/rust-lang/rust/pull/56764
treat ref-to-raw cast like a reborrow: do a special kind of retag
https://github.com/rust-lang/rust/pull/56741
MIR borrowck doesn't accept the example of iterating and updating a mutable reference
https://github.com/rust-lang/rust/pull/56649
rework treatment of $crate in procedural macros
https://github.com/rust-lang/rust/pull/56647
tweak query code for performance
https://github.com/rust-lang/rust/pull/56613
implement Eq, PartialEq and Hash for atomic::Ordering
https://github.com/rust-lang/rust/pull/56881
add unstable VecDeque::rotate_{left, right}
https://github.com/rust-lang/rust/pull/56842
remove Cycle::try_fold override
https://github.com/rust-lang/rust/pull/56904
short-circuit Rc/Arc equality checking on equal pointers where T: Eq
https://github.com/rust-lang/rust/pull/56550
stabilize Rc, Arc and Pin as method receivers
https://github.com/rust-lang/rust/pull/56805
stabilize min_const_unsafe_fn in 1.33
https://github.com/rust-lang/rust/pull/57067
stabilize Vec(Deque)::resize_with
https://github.com/rust-lang/rust/pull/57002
stabilize Pin
https://github.com/rust-lang/rust/pull/56939
stabilize underscore_imports
https://github.com/rust-lang/rust/pull/56303
bootstrap: Link LLVM as a dylib with ThinLTO
https://github.com/rust-lang/rust/pull/56944
profiler: simplify total_duration, improve readability
https://github.com/rust-lang/rust/pull/56918
cargo: warn on unused patches
https://github.com/rust-lang/cargo/pull/6470
rustdoc: add new CLI flag to load static files from a different location
https://github.com/rust-lang/rust/pull/57011
News
🎈🎉 Announcing Rust 1.31.1. 🎉🎈
https://blog.rust-lang.org/2018/12/20/Rust-1.31.1.html
Procedural macros in Rust 2018.
https://blog.rust-lang.org/2018/12/21/Procedural-Macros-in-Rust-2018.html
Tokio: A great 2018, an even better 2019.
https://tokio.rs/blog/2018-12-recap-2018/
Using C libraries un Rust: making a *-sys crate.
https://kornel.ski/rust-sys-crate
Rust asynchronous IO: from mio to coroutine.
https://github.com/Hexilee/async-io-demo
Methods for array initialization in Rust.
https://www.joshmcguigan.com/blog/array-initialization-rust/
Currying in rust Part 3 (The circle of life... aka why borrowchecker... why)!?
https://hashnode.com/post/currying-in-rust-part-3-the-circle-of-life-aka-why-borrowchecker-why-cjq3z1dd800dknds1sls4dqav
How to get better at Rust: For beginners.
https://hashnode.com/post/how-to-become-a-rust-super-developer-cjpv1ee7e000buhs2aqrdw2ym
🎈🎉 Announcing Rust 1.31.1. 🎉🎈
https://blog.rust-lang.org/2018/12/20/Rust-1.31.1.html
Procedural macros in Rust 2018.
https://blog.rust-lang.org/2018/12/21/Procedural-Macros-in-Rust-2018.html
Tokio: A great 2018, an even better 2019.
https://tokio.rs/blog/2018-12-recap-2018/
Using C libraries un Rust: making a *-sys crate.
https://kornel.ski/rust-sys-crate
Rust asynchronous IO: from mio to coroutine.
https://github.com/Hexilee/async-io-demo
Methods for array initialization in Rust.
https://www.joshmcguigan.com/blog/array-initialization-rust/
Currying in rust Part 3 (The circle of life... aka why borrowchecker... why)!?
https://hashnode.com/post/currying-in-rust-part-3-the-circle-of-life-aka-why-borrowchecker-why-cjq3z1dd800dknds1sls4dqav
How to get better at Rust: For beginners.
https://hashnode.com/post/how-to-become-a-rust-super-developer-cjpv1ee7e000buhs2aqrdw2ym
Crate of the week: sandspiel
This week's crate is sandspiel, a WASM-powered online sandbox automaton game. Thanks to Vikrant Chaudhary for the suggestion!
This week's crate is sandspiel, a WASM-powered online sandbox automaton game. Thanks to Vikrant Chaudhary for the suggestion!
This week in Rust #267 — 01 jan 2019
https://this-week-in-rust.org/blog/2019/01/01/this-week-in-rust-267/
https://this-week-in-rust.org/blog/2019/01/01/this-week-in-rust-267/
Updates from core
add -Z instrument-mcount
https://github.com/rust-lang/rust/pull/57220
parallel query tweaks
https://github.com/rust-lang/rust/pull/56983
move jemalloc from rustc_driver to rustc
https://github.com/rust-lang/rust/pull/56986
uninline some debugging code and use unlikely! macro
https://github.com/rust-lang/rust/pull/57035
resolve: fix an ICE in import validation
https://github.com/rust-lang/rust/pull/57160
resolve: fix another ICE in import validation
https://github.com/rust-lang/rust/pull/57181
AST/HIR: introduce ExprKind::Err for better error recovery in the front-end
https://github.com/rust-lang/rust/pull/56999
fix new unused patch warning
https://github.com/rust-lang/cargo/pull/6494
suggest .as_ref()? instead of ? in certain circumstances
https://github.com/rust-lang/rust-clippy/pull/3561
suggest .as_ref() when appropriate for Option and Result
https://github.com/rust-lang/rust/pull/57158
tweaks to format string diagnostics
https://github.com/rust-lang/rust/pull/57140
various changes to string format diagnostics
https://github.com/rust-lang/rust/pull/57069
point to cause of fn expected return type
https://github.com/rust-lang/rust/pull/57020
codegen: make zero-sized arrays affect alignment
https://github.com/rust-lang/rust-bindgen/pull/1477
make Alloc::check_bounds_ptr private; you should use Memory::check_bounds_ptr instead
https://github.com/rust-lang/rust/pull/57129
add Unpin to std prelude, not just core
https://github.com/rust-lang/rust/pull/57137
remove the private generic NonZero wrapper type
https://github.com/rust-lang/rust/pull/57133
stabilize Duration::{as_millis, as_micros, as_nanos}
https://github.com/rust-lang/rust/pull/57124
make the getter for NonZero types into a const fn
https://github.com/rust-lang/rust/pull/57167
make tm struct members public
https://github.com/rust-lang/libc/pull/1183
testsuite: require failing commands to check output
https://github.com/rust-lang/cargo/pull/6497
add -Z instrument-mcount
https://github.com/rust-lang/rust/pull/57220
parallel query tweaks
https://github.com/rust-lang/rust/pull/56983
move jemalloc from rustc_driver to rustc
https://github.com/rust-lang/rust/pull/56986
uninline some debugging code and use unlikely! macro
https://github.com/rust-lang/rust/pull/57035
resolve: fix an ICE in import validation
https://github.com/rust-lang/rust/pull/57160
resolve: fix another ICE in import validation
https://github.com/rust-lang/rust/pull/57181
AST/HIR: introduce ExprKind::Err for better error recovery in the front-end
https://github.com/rust-lang/rust/pull/56999
fix new unused patch warning
https://github.com/rust-lang/cargo/pull/6494
suggest .as_ref()? instead of ? in certain circumstances
https://github.com/rust-lang/rust-clippy/pull/3561
suggest .as_ref() when appropriate for Option and Result
https://github.com/rust-lang/rust/pull/57158
tweaks to format string diagnostics
https://github.com/rust-lang/rust/pull/57140
various changes to string format diagnostics
https://github.com/rust-lang/rust/pull/57069
point to cause of fn expected return type
https://github.com/rust-lang/rust/pull/57020
codegen: make zero-sized arrays affect alignment
https://github.com/rust-lang/rust-bindgen/pull/1477
make Alloc::check_bounds_ptr private; you should use Memory::check_bounds_ptr instead
https://github.com/rust-lang/rust/pull/57129
add Unpin to std prelude, not just core
https://github.com/rust-lang/rust/pull/57137
remove the private generic NonZero wrapper type
https://github.com/rust-lang/rust/pull/57133
stabilize Duration::{as_millis, as_micros, as_nanos}
https://github.com/rust-lang/rust/pull/57124
make the getter for NonZero types into a const fn
https://github.com/rust-lang/rust/pull/57167
make tm struct members public
https://github.com/rust-lang/libc/pull/1183
testsuite: require failing commands to check output
https://github.com/rust-lang/cargo/pull/6497
News
This year in gfx-rs: 2018.
https://gfx-rs.github.io/2018/12/27/this-year.html
Comparing Pythagorean triples in C++, D, and Rust.
https://atilanevesoncode.wordpress.com/2018/12/31/comparing-pythagorean-triples-in-c-d-and-rust/
My experience converting a Python library to Rust.
https://alantrick.ca/writings/programming/python_to_rust/
This year in gfx-rs: 2018.
https://gfx-rs.github.io/2018/12/27/this-year.html
Comparing Pythagorean triples in C++, D, and Rust.
https://atilanevesoncode.wordpress.com/2018/12/31/comparing-pythagorean-triples-in-c-d-and-rust/
My experience converting a Python library to Rust.
https://alantrick.ca/writings/programming/python_to_rust/
Crate of the week: Dose Response
This week's crate is Dose Response, an online-playable roguelike game with a probably bleak outcome. Thanks to Vikrant Chaudhary for the suggestion!
This week's crate is Dose Response, an online-playable roguelike game with a probably bleak outcome. Thanks to Vikrant Chaudhary for the suggestion!
This week in Rust #268 — 08 jan 2019
https://this-week-in-rust.org/blog/2019/01/08/this-week-in-rust-268/
https://this-week-in-rust.org/blog/2019/01/08/this-week-in-rust-268/
Updates from core
implement the Re-rebalance coherence RFC
https://github.com/rust-lang/rust/pull/56145
forbid recursive impl trait
https://github.com/rust-lang/rust/pull/56074
allow to dispatch fn traits depending on number of parameters
https://github.com/rust-lang/rust/pull/55986
rustc: fix regression where jemalloc isn't used
https://github.com/rust-lang/rust/pull/57287
syntax: fix regression in diagnostics for patterns in trait method parameters
https://github.com/rust-lang/rust/pull/57251
resolve: simplify treatment of ambiguity errors
https://github.com/rust-lang/rust/pull/57199
calculate privacy access only via query
https://github.com/rust-lang/rust/pull/57343
privacy: fix regression in impl reachability
https://github.com/rust-lang/rust/pull/57344
tweak unicode escape diagnostics
https://github.com/rust-lang/rust/pull/57210
suggest using raw identifiers in 2018 edition when using keywords
https://github.com/rust-lang/rust/pull/57209
do not complain about missing crate named as a keyword
https://github.com/rust-lang/rust/pull/57208
use structured suggestions for nonexistent fields
https://github.com/rust-lang/rust/pull/57047
use structured suggestion for method calls
https://github.com/rust-lang/rust/pull/57291
add specific diagnostic when attempting to transmute between equal generic types
https://github.com/rust-lang/rust/pull/57044
don't emit Unevaluated from const_eval
https://github.com/rust-lang/rust/pull/56723
make CompileController thread-safe
https://github.com/rust-lang/rust/pull/57308
NLL: user type annotations refactor, associated constant patterns and ref bindings
https://github.com/rust-lang/rust/pull/55937
universes
https://github.com/rust-lang/rust/pull/55517
rustdoc: force binary filename for compiled doctests
https://github.com/rust-lang/rust/pull/57338
improve Box<T> → Pin<Box<T>> conversion
https://github.com/rust-lang/rust/pull/57313
eliminate Receiver::recv_timeout panic
https://github.com/rust-lang/rust/pull/56827
VaList::copy should not require a mutable ref
https://github.com/rust-lang/rust/pull/57311
add duration constants
https://github.com/rust-lang/rust/pull/57375
NLL: fix bug in associated constant type annotations
https://github.com/rust-lang/rust/pull/57304
make sure feature gate errors are recoverable
https://github.com/rust-lang/rust/pull/57272
cargo: fix error message when resolving dependencies
https://github.com/rust-lang/cargo/pull/6510
implement the Re-rebalance coherence RFC
https://github.com/rust-lang/rust/pull/56145
forbid recursive impl trait
https://github.com/rust-lang/rust/pull/56074
allow to dispatch fn traits depending on number of parameters
https://github.com/rust-lang/rust/pull/55986
rustc: fix regression where jemalloc isn't used
https://github.com/rust-lang/rust/pull/57287
syntax: fix regression in diagnostics for patterns in trait method parameters
https://github.com/rust-lang/rust/pull/57251
resolve: simplify treatment of ambiguity errors
https://github.com/rust-lang/rust/pull/57199
calculate privacy access only via query
https://github.com/rust-lang/rust/pull/57343
privacy: fix regression in impl reachability
https://github.com/rust-lang/rust/pull/57344
tweak unicode escape diagnostics
https://github.com/rust-lang/rust/pull/57210
suggest using raw identifiers in 2018 edition when using keywords
https://github.com/rust-lang/rust/pull/57209
do not complain about missing crate named as a keyword
https://github.com/rust-lang/rust/pull/57208
use structured suggestions for nonexistent fields
https://github.com/rust-lang/rust/pull/57047
use structured suggestion for method calls
https://github.com/rust-lang/rust/pull/57291
add specific diagnostic when attempting to transmute between equal generic types
https://github.com/rust-lang/rust/pull/57044
don't emit Unevaluated from const_eval
https://github.com/rust-lang/rust/pull/56723
make CompileController thread-safe
https://github.com/rust-lang/rust/pull/57308
NLL: user type annotations refactor, associated constant patterns and ref bindings
https://github.com/rust-lang/rust/pull/55937
universes
https://github.com/rust-lang/rust/pull/55517
rustdoc: force binary filename for compiled doctests
https://github.com/rust-lang/rust/pull/57338
improve Box<T> → Pin<Box<T>> conversion
https://github.com/rust-lang/rust/pull/57313
eliminate Receiver::recv_timeout panic
https://github.com/rust-lang/rust/pull/56827
VaList::copy should not require a mutable ref
https://github.com/rust-lang/rust/pull/57311
add duration constants
https://github.com/rust-lang/rust/pull/57375
NLL: fix bug in associated constant type annotations
https://github.com/rust-lang/rust/pull/57304
make sure feature gate errors are recoverable
https://github.com/rust-lang/rust/pull/57272
cargo: fix error message when resolving dependencies
https://github.com/rust-lang/cargo/pull/6510
News
Rust cheat sheet for beginners.
https://www.breakdown-notes.com/make/load/rust_cs_canvas/true
Deriving traits in Rust with procedural macros.
https://naftuli.wtf/2019/01/02/rust-derive-macros/
Using Rust for Gamedev.
https://medium.com/@michelotti.matthew/using-rust-for-gamedev-2f60b0e4cc5c
Are we async yet?
https://areweasyncyet.rs/
Building a JS interpreter in Rust part 2.
https://jason-williams.co.uk/building-a-js-interpreter-in-rust-part-2
New Rustacean interview: Carol Nichols || Goulding and Jake Goulding. Talking with Carol and Jake about The Rust Programming Language, Rust in Motion, and Rust Belt Rust.
https://newrustacean.com/show_notes/interview/integer32/
Rust cheat sheet for beginners.
https://www.breakdown-notes.com/make/load/rust_cs_canvas/true
Deriving traits in Rust with procedural macros.
https://naftuli.wtf/2019/01/02/rust-derive-macros/
Using Rust for Gamedev.
https://medium.com/@michelotti.matthew/using-rust-for-gamedev-2f60b0e4cc5c
Are we async yet?
https://areweasyncyet.rs/
Building a JS interpreter in Rust part 2.
https://jason-williams.co.uk/building-a-js-interpreter-in-rust-part-2
New Rustacean interview: Carol Nichols || Goulding and Jake Goulding. Talking with Carol and Jake about The Rust Programming Language, Rust in Motion, and Rust Belt Rust.
https://newrustacean.com/show_notes/interview/integer32/
Crate of the week: gfx-hal
This week's crate is gfx-hal, a hardware abstraction layer for gfx-rs. Thanks to Vikrant Chaudhary for the suggestion!
This week's crate is gfx-hal, a hardware abstraction layer for gfx-rs. Thanks to Vikrant Chaudhary for the suggestion!
This week in Rust #269 — 15 jan 2019
https://this-week-in-rust.org/blog/2019/01/15/this-week-in-rust-269/
https://this-week-in-rust.org/blog/2019/01/15/this-week-in-rust-269/
Updates from core
add miri to rustup
https://github.com/rust-lang/rustup.rs/pull/1606
fix undefined behavior
https://github.com/rust-lang/rust/pull/57511
resolve: mark extern crate items as used in more cases
https://github.com/rust-lang/rust/pull/57557
clarify resolve typo suggestion
https://github.com/rust-lang/rust/pull/57477
privacy: fix private-in-public check for existential types
https://github.com/rust-lang/rust/pull/57556
tweak output of type mismatch between "then" and else if arms
https://github.com/rust-lang/rust/pull/57381
use structured suggestion when casting a reference
https://github.com/rust-lang/rust/pull/57493
use structured suggestions for nonstandard style lints
https://github.com/rust-lang/rust/pull/57387
point at match discriminant on type error in match arm pattern
https://github.com/rust-lang/rust/pull/57366
const-stabilize const_int_ops + const_ip
https://github.com/rust-lang/rust/pull/57234
don't actually create a full MIR stack frame when not needed
https://github.com/rust-lang/rust/pull/57351
speed up item_bodies for large match statements involving regions
https://github.com/rust-lang/rust/pull/57494
change String to &'static str in ParseResult::Failure
https://github.com/rust-lang/rust/pull/57461
parallelize and optimize parts of HIR map creation
https://github.com/rust-lang/rust/pull/57232
stabilize cfg_target_vendor
https://github.com/rust-lang/rust/pull/57465
stabilize cfg_attr_multi
https://github.com/rust-lang/rust/pull/57332
stabilize core::convert::identity
https://github.com/rust-lang/rust/pull/57322
stabilize let bindings and destructuring in constants and const fn
https://github.com/rust-lang/rust/pull/57175
clean up and optimize OpenTask / read_index
https://github.com/rust-lang/rust/pull/57114
NLL: add union justifications to conflicting borrows
https://github.com/rust-lang/rust/pull/57102
fix and optimize query profiling
https://github.com/rust-lang/rust/pull/57095
make TokenStream less recursive
https://github.com/rust-lang/rust/pull/57004
replace LockCell with atomic types
https://github.com/rust-lang/rust/pull/56614
make more passes incremental
https://github.com/rust-lang/rust/pull/51487
librustc_mir: fix ICE with slice patterns
https://github.com/rust-lang/rust/pull/57538
don't unwrap unexpected tokens in format!
https://github.com/rust-lang/rust/pull/57522
stabilize uniform_paths
https://github.com/rust-lang/rust/pull/56759
stabilize irrefutable if-let and while-let patterns
https://github.com/rust-lang/rust/pull/57535
stabilize if_while_or_patterns
https://github.com/rust-lang/rust/pull/57532
std: render large exit codes as hex on Windows
https://github.com/rust-lang/rust/pull/57473
add #[must_use] to Iterator and Future
https://github.com/rust-lang/rust/pull/57549
std: force Instant::now() to be monotonic
https://github.com/rust-lang/rust/pull/56988
optimise floating point is_finite (2x) and is_infinite (1.6x)
https://github.com/rust-lang/rust/pull/57353
cargo --{example,bin,bench,test} with no argument now lists all available targets
https://github.com/rust-lang/cargo/pull/6505
rustup: fix utils::copy_file for symlink
https://github.com/rust-lang/rustup.rs/pull/1521
rustdoc: allow inlining of reexported crates and crate items
https://github.com/rust-lang/rust/pull/57508
add miri to rustup
https://github.com/rust-lang/rustup.rs/pull/1606
fix undefined behavior
https://github.com/rust-lang/rust/pull/57511
resolve: mark extern crate items as used in more cases
https://github.com/rust-lang/rust/pull/57557
clarify resolve typo suggestion
https://github.com/rust-lang/rust/pull/57477
privacy: fix private-in-public check for existential types
https://github.com/rust-lang/rust/pull/57556
tweak output of type mismatch between "then" and else if arms
https://github.com/rust-lang/rust/pull/57381
use structured suggestion when casting a reference
https://github.com/rust-lang/rust/pull/57493
use structured suggestions for nonstandard style lints
https://github.com/rust-lang/rust/pull/57387
point at match discriminant on type error in match arm pattern
https://github.com/rust-lang/rust/pull/57366
const-stabilize const_int_ops + const_ip
https://github.com/rust-lang/rust/pull/57234
don't actually create a full MIR stack frame when not needed
https://github.com/rust-lang/rust/pull/57351
speed up item_bodies for large match statements involving regions
https://github.com/rust-lang/rust/pull/57494
change String to &'static str in ParseResult::Failure
https://github.com/rust-lang/rust/pull/57461
parallelize and optimize parts of HIR map creation
https://github.com/rust-lang/rust/pull/57232
stabilize cfg_target_vendor
https://github.com/rust-lang/rust/pull/57465
stabilize cfg_attr_multi
https://github.com/rust-lang/rust/pull/57332
stabilize core::convert::identity
https://github.com/rust-lang/rust/pull/57322
stabilize let bindings and destructuring in constants and const fn
https://github.com/rust-lang/rust/pull/57175
clean up and optimize OpenTask / read_index
https://github.com/rust-lang/rust/pull/57114
NLL: add union justifications to conflicting borrows
https://github.com/rust-lang/rust/pull/57102
fix and optimize query profiling
https://github.com/rust-lang/rust/pull/57095
make TokenStream less recursive
https://github.com/rust-lang/rust/pull/57004
replace LockCell with atomic types
https://github.com/rust-lang/rust/pull/56614
make more passes incremental
https://github.com/rust-lang/rust/pull/51487
librustc_mir: fix ICE with slice patterns
https://github.com/rust-lang/rust/pull/57538
don't unwrap unexpected tokens in format!
https://github.com/rust-lang/rust/pull/57522
stabilize uniform_paths
https://github.com/rust-lang/rust/pull/56759
stabilize irrefutable if-let and while-let patterns
https://github.com/rust-lang/rust/pull/57535
stabilize if_while_or_patterns
https://github.com/rust-lang/rust/pull/57532
std: render large exit codes as hex on Windows
https://github.com/rust-lang/rust/pull/57473
add #[must_use] to Iterator and Future
https://github.com/rust-lang/rust/pull/57549
std: force Instant::now() to be monotonic
https://github.com/rust-lang/rust/pull/56988
optimise floating point is_finite (2x) and is_infinite (1.6x)
https://github.com/rust-lang/rust/pull/57353
cargo --{example,bin,bench,test} with no argument now lists all available targets
https://github.com/rust-lang/cargo/pull/6505
rustup: fix utils::copy_file for symlink
https://github.com/rust-lang/rustup.rs/pull/1521
rustdoc: allow inlining of reexported crates and crate items
https://github.com/rust-lang/rust/pull/57508
News
Writing an OS in Rust: Introduction to paging.
https://os.phil-opp.com/paging-introduction/
Librnoscript is almost rustified now.
https://people.gnome.org/~federico/blog/librnoscript-is-almost-rustified.html
Understanding Rust lifetimes.
https://medium.com/nearprotocol/understanding-rust-lifetimes-e813bcd405fa
const types, traits and implementations in Rust.
https://varkor.github.io/blog/2019/01/11/const-types-traits-and-implementations-in-Rust.html
Generate Rust tests from data files.
https://blog.cyplo.net/posts/2018/12/generate-rust-tests-from-data.html
The evolution of a Rust programmer.
http://antoyo.ml/evolution-rust-programmer
Writing an OS in Rust: Introduction to paging.
https://os.phil-opp.com/paging-introduction/
Librnoscript is almost rustified now.
https://people.gnome.org/~federico/blog/librnoscript-is-almost-rustified.html
Understanding Rust lifetimes.
https://medium.com/nearprotocol/understanding-rust-lifetimes-e813bcd405fa
const types, traits and implementations in Rust.
https://varkor.github.io/blog/2019/01/11/const-types-traits-and-implementations-in-Rust.html
Generate Rust tests from data files.
https://blog.cyplo.net/posts/2018/12/generate-rust-tests-from-data.html
The evolution of a Rust programmer.
http://antoyo.ml/evolution-rust-programmer
Crate of the week: ropey
This week's crate is ropey, an editable text buffer data structure. Thanks to Vikrant Chaudhary for the suggestion!
This week's crate is ropey, an editable text buffer data structure. Thanks to Vikrant Chaudhary for the suggestion!