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!
This week in Rust #270 — 22 jan 2019
https://this-week-in-rust.org/blog/2019/01/22/this-week-in-rust-270/
https://this-week-in-rust.org/blog/2019/01/22/this-week-in-rust-270/
Updates from core
rustc: Remove platform intrinsics crate
https://github.com/rust-lang/rust/pull/57416
implement new literal type Err
https://github.com/rust-lang/rust/pull/57651
Better lifetime error message
https://github.com/rust-lang/rust/pull/56479
Add span for malformed doc comment
https://github.com/rust-lang/rust/pull/57784
Add "dereference boxed value" suggestion
https://github.com/rust-lang/rust/pull/57783
Suggest correct cast for struct fields with shorthand syntax
https://github.com/rust-lang/rust/pull/57769
Continue parsing after parent type args and suggest using angle brackets
https://github.com/rust-lang/rust/pull/57768
Remove delay_span_bug from qualify_min_const_fn
https://github.com/rust-lang/rust/pull/57736
Use structured suggestion to surround struct literal with parenthesis
https://github.com/rust-lang/rust/pull/57725
Point at cause for expectation in return type type error
https://github.com/rust-lang/rust/pull/57723
Fix suggestions given mulitple bad lifetimes
https://github.com/rust-lang/rust/pull/57720
better error message for bad manifest with cargo install
https://github.com/rust-lang/cargo/pull/6560
add applicability to remaining suggestions
https://github.com/rust-lang/rust/pull/57699
use a faster early exit during region expansion
https://github.com/rust-lang/rust/pull/57697
Tweak expand_node
https://github.com/rust-lang/rust/pull/57719
simplify TokenStream some more
https://github.com/rust-lang/rust/pull/57486
redo hir::Stmt
https://github.com/rust-lang/rust/pull/57689
high priority resolutions for associated variants
https://github.com/rust-lang/rust/pull/57501
provide suggestion for invalid boolean cast
https://github.com/rust-lang/rust/pull/57481
two HIR tweaks
https://github.com/rust-lang/rust/pull/57658
librustc_metadata: pass a default value when unwrapping a span
https://github.com/rust-lang/rust/pull/57650
privacy: account for associated existential types
https://github.com/rust-lang/rust/pull/57649
use structured macro and path resolve suggestions
https://github.com/rust-lang/rust/pull/57635
unaccept extern_in_paths
https://github.com/rust-lang/rust/pull/57572
querify entry_fn
https://github.com/rust-lang/rust/pull/57573
querify local plugin_registrar_fn and proc_macro_decls_static
https://github.com/rust-lang/rust/pull/57570
modify some parser diagnostics to continue evaluating beyond the parser
https://github.com/rust-lang/rust/pull/57540
Fix poor worst case performance of set intersection
https://github.com/rust-lang/rust/pull/57043
add core::iter::once_with()
https://github.com/rust-lang/rust/pull/57579
Add is_sorted to Iterator and [T]
https://github.com/rust-lang/rust/pull/55045
add a debug_assert to Vec::set_len
https://github.com/rust-lang/rust/pull/57589
enhance Pin impl applicability for PartialEq and PartialOrd
https://github.com/rust-lang/rust/pull/57685
Change bounds on TryFrom blanket impl to use Into instead of From
https://github.com/rust-lang/rust/pull/56796
stabilize FileExt::read_exact_at/write_all_at
https://github.com/rust-lang/rust/pull/57625
rustdoc: Add option to persist doc test executables
https://github.com/rust-lang/rust/pull/56189
crates.io: Reject publishing of crates that depend on an alternative registry
https://github.com/rust-lang/crates.io/pull/1589
rustc: Remove platform intrinsics crate
https://github.com/rust-lang/rust/pull/57416
implement new literal type Err
https://github.com/rust-lang/rust/pull/57651
Better lifetime error message
https://github.com/rust-lang/rust/pull/56479
Add span for malformed doc comment
https://github.com/rust-lang/rust/pull/57784
Add "dereference boxed value" suggestion
https://github.com/rust-lang/rust/pull/57783
Suggest correct cast for struct fields with shorthand syntax
https://github.com/rust-lang/rust/pull/57769
Continue parsing after parent type args and suggest using angle brackets
https://github.com/rust-lang/rust/pull/57768
Remove delay_span_bug from qualify_min_const_fn
https://github.com/rust-lang/rust/pull/57736
Use structured suggestion to surround struct literal with parenthesis
https://github.com/rust-lang/rust/pull/57725
Point at cause for expectation in return type type error
https://github.com/rust-lang/rust/pull/57723
Fix suggestions given mulitple bad lifetimes
https://github.com/rust-lang/rust/pull/57720
better error message for bad manifest with cargo install
https://github.com/rust-lang/cargo/pull/6560
add applicability to remaining suggestions
https://github.com/rust-lang/rust/pull/57699
use a faster early exit during region expansion
https://github.com/rust-lang/rust/pull/57697
Tweak expand_node
https://github.com/rust-lang/rust/pull/57719
simplify TokenStream some more
https://github.com/rust-lang/rust/pull/57486
redo hir::Stmt
https://github.com/rust-lang/rust/pull/57689
high priority resolutions for associated variants
https://github.com/rust-lang/rust/pull/57501
provide suggestion for invalid boolean cast
https://github.com/rust-lang/rust/pull/57481
two HIR tweaks
https://github.com/rust-lang/rust/pull/57658
librustc_metadata: pass a default value when unwrapping a span
https://github.com/rust-lang/rust/pull/57650
privacy: account for associated existential types
https://github.com/rust-lang/rust/pull/57649
use structured macro and path resolve suggestions
https://github.com/rust-lang/rust/pull/57635
unaccept extern_in_paths
https://github.com/rust-lang/rust/pull/57572
querify entry_fn
https://github.com/rust-lang/rust/pull/57573
querify local plugin_registrar_fn and proc_macro_decls_static
https://github.com/rust-lang/rust/pull/57570
modify some parser diagnostics to continue evaluating beyond the parser
https://github.com/rust-lang/rust/pull/57540
Fix poor worst case performance of set intersection
https://github.com/rust-lang/rust/pull/57043
add core::iter::once_with()
https://github.com/rust-lang/rust/pull/57579
Add is_sorted to Iterator and [T]
https://github.com/rust-lang/rust/pull/55045
add a debug_assert to Vec::set_len
https://github.com/rust-lang/rust/pull/57589
enhance Pin impl applicability for PartialEq and PartialOrd
https://github.com/rust-lang/rust/pull/57685
Change bounds on TryFrom blanket impl to use Into instead of From
https://github.com/rust-lang/rust/pull/56796
stabilize FileExt::read_exact_at/write_all_at
https://github.com/rust-lang/rust/pull/57625
rustdoc: Add option to persist doc test executables
https://github.com/rust-lang/rust/pull/56189
crates.io: Reject publishing of crates that depend on an alternative registry
https://github.com/rust-lang/crates.io/pull/1589
News
🎈🎉 Announcing Rust 1.32.0. 🎉🎈
https://blog.rust-lang.org/2019/01/17/Rust-1.32.0.html
A bot for Starcraft in Rust, C, or any other language.
https://habr.com/en/post/436254/
Building JavaScript development tools in Rust.
https://freemasen.github.io/rusty-ecma-book/
Guide to rust-analyzer.
https://github.com/rust-analyzer/rust-analyzer/blob/e0d8c86563b72e5414cf10fe16da5e88201447e2/guide.md
The state of ggez, 2019.
https://wiki.alopex.li/TheStateOfGGEZ2019
proc-macro-rules - macro_rules patterns in procedural macros.
https://www.ncameron.org/blog/proc-macro-rules/
Polonius and region errors.
http://smallcultfollowing.com/babysteps/blog/2019/01/17/polonius-and-region-errors/
Why aren't my Rust threads running?
https://esimmler.com/why-arent-my-rust-threads-running/
Paw at Rust GUIs.
https://medium.com/@m.siglreith/paw-at-rust-guis-d4d848e14b94
Serialising Rust tests.
https://tech.labs.oliverwyman.com/blog/2019/01/14/serialising-rust-tests/
🎈🎉 Announcing Rust 1.32.0. 🎉🎈
https://blog.rust-lang.org/2019/01/17/Rust-1.32.0.html
A bot for Starcraft in Rust, C, or any other language.
https://habr.com/en/post/436254/
Building JavaScript development tools in Rust.
https://freemasen.github.io/rusty-ecma-book/
Guide to rust-analyzer.
https://github.com/rust-analyzer/rust-analyzer/blob/e0d8c86563b72e5414cf10fe16da5e88201447e2/guide.md
The state of ggez, 2019.
https://wiki.alopex.li/TheStateOfGGEZ2019
proc-macro-rules - macro_rules patterns in procedural macros.
https://www.ncameron.org/blog/proc-macro-rules/
Polonius and region errors.
http://smallcultfollowing.com/babysteps/blog/2019/01/17/polonius-and-region-errors/
Why aren't my Rust threads running?
https://esimmler.com/why-arent-my-rust-threads-running/
Paw at Rust GUIs.
https://medium.com/@m.siglreith/paw-at-rust-guis-d4d848e14b94
Serialising Rust tests.
https://tech.labs.oliverwyman.com/blog/2019/01/14/serialising-rust-tests/