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/
Crate of the week: rust-analyzer
This week's crate is rust-analyzer, an experimental Rust compiler frontend for IDEs. Thanks to llogiq for the suggestion!
This week's crate is rust-analyzer, an experimental Rust compiler frontend for IDEs. Thanks to llogiq for the suggestion!
This week in Rust #271 — 29 jan 2019
https://this-week-in-rust.org/blog/2019/01/29/this-week-in-rust-271/
https://this-week-in-rust.org/blog/2019/01/29/this-week-in-rust-271/
Updates from core
enable RISC-V atomic compare and swap
https://github.com/rust-lang/rust/pull/57925
recover from parse errors in literal struct fields and incorrect float literals
https://github.com/rust-lang/rust/pull/57779
merge visitors in AST validation
https://github.com/rust-lang/rust/pull/57730
resolve: Fix span arithmetics in the import conflict error
https://github.com/rust-lang/rust/pull/57908
fix race condition when emitting stored diagnostics
https://github.com/rust-lang/rust/pull/57066
don't ICE when logging unusual types
https://github.com/rust-lang/rust/pull/57865
combine all builtin early lints
https://github.com/rust-lang/rust/pull/57726
add suggestion for moving type declaration before associated type bindings in generic arguments
https://github.com/rust-lang/rust/pull/57886
add suggestion for incorrect field syntax
https://github.com/rust-lang/rust/pull/57863
suggest removing leading left angle brackets
https://github.com/rust-lang/rust/pull/57852
add error for trailing angle brackets
https://github.com/rust-lang/rust/pull/57817
print visible name for types as well as modules
https://github.com/rust-lang/rust/pull/57802
use structured suggestion instead of notes
https://github.com/rust-lang/rust/pull/57795
explain type mismatch cause pointing to return type when it is impl Trait
https://github.com/rust-lang/rust/pull/57793
when using value after move, point at span of local
https://github.com/rust-lang/rust/pull/57294
conditionally skip two passes if their related attributes were not found
https://github.com/rust-lang/rust/pull/57691
fix evaluating trivial drop glue in constants
https://github.com/rust-lang/rust/pull/57734
const_eval: predetermine the layout of all locals when pushing a stack frame
https://github.com/rust-lang/rust/pull/57677
fix memory leak in P::filter_map
https://github.com/rust-lang/rust/pull/57667
get rid of the fake stack frame for reading from constants
https://github.com/rust-lang/rust/pull/57606
add intrinsic to create an integer bitmask from a vector mask
https://github.com/rust-lang/rust/pull/57269
un-deprecate mem::zeroed
https://github.com/rust-lang/rust/pull/57825
make MutexGuard's Debug implementation more useful
https://github.com/rust-lang/rust/pull/57703
make str indexing generic on SliceIndex
https://github.com/rust-lang/rust/pull/57604
small perf improvement for fmt
https://github.com/rust-lang/rust/pull/57537
add signed num::NonZeroI* types
https://github.com/rust-lang/rust/pull/57475
std: stabilize fixed-width integer atomics
https://github.com/rust-lang/rust/pull/57425
use pinning for generators to make trait safe
https://github.com/rust-lang/rust/pull/55704
implement optimize(size) and optimize(speed) attributes
https://github.com/rust-lang/rust/pull/55641
cargo: make incremental compilation the default for all profiles
https://github.com/rust-lang/cargo/pull/6564
rustdoc: fix ICE from loading proc-macro stubs
https://github.com/rust-lang/rust/pull/57846
enable RISC-V atomic compare and swap
https://github.com/rust-lang/rust/pull/57925
recover from parse errors in literal struct fields and incorrect float literals
https://github.com/rust-lang/rust/pull/57779
merge visitors in AST validation
https://github.com/rust-lang/rust/pull/57730
resolve: Fix span arithmetics in the import conflict error
https://github.com/rust-lang/rust/pull/57908
fix race condition when emitting stored diagnostics
https://github.com/rust-lang/rust/pull/57066
don't ICE when logging unusual types
https://github.com/rust-lang/rust/pull/57865
combine all builtin early lints
https://github.com/rust-lang/rust/pull/57726
add suggestion for moving type declaration before associated type bindings in generic arguments
https://github.com/rust-lang/rust/pull/57886
add suggestion for incorrect field syntax
https://github.com/rust-lang/rust/pull/57863
suggest removing leading left angle brackets
https://github.com/rust-lang/rust/pull/57852
add error for trailing angle brackets
https://github.com/rust-lang/rust/pull/57817
print visible name for types as well as modules
https://github.com/rust-lang/rust/pull/57802
use structured suggestion instead of notes
https://github.com/rust-lang/rust/pull/57795
explain type mismatch cause pointing to return type when it is impl Trait
https://github.com/rust-lang/rust/pull/57793
when using value after move, point at span of local
https://github.com/rust-lang/rust/pull/57294
conditionally skip two passes if their related attributes were not found
https://github.com/rust-lang/rust/pull/57691
fix evaluating trivial drop glue in constants
https://github.com/rust-lang/rust/pull/57734
const_eval: predetermine the layout of all locals when pushing a stack frame
https://github.com/rust-lang/rust/pull/57677
fix memory leak in P::filter_map
https://github.com/rust-lang/rust/pull/57667
get rid of the fake stack frame for reading from constants
https://github.com/rust-lang/rust/pull/57606
add intrinsic to create an integer bitmask from a vector mask
https://github.com/rust-lang/rust/pull/57269
un-deprecate mem::zeroed
https://github.com/rust-lang/rust/pull/57825
make MutexGuard's Debug implementation more useful
https://github.com/rust-lang/rust/pull/57703
make str indexing generic on SliceIndex
https://github.com/rust-lang/rust/pull/57604
small perf improvement for fmt
https://github.com/rust-lang/rust/pull/57537
add signed num::NonZeroI* types
https://github.com/rust-lang/rust/pull/57475
std: stabilize fixed-width integer atomics
https://github.com/rust-lang/rust/pull/57425
use pinning for generators to make trait safe
https://github.com/rust-lang/rust/pull/55704
implement optimize(size) and optimize(speed) attributes
https://github.com/rust-lang/rust/pull/55641
cargo: make incremental compilation the default for all profiles
https://github.com/rust-lang/cargo/pull/6564
rustdoc: fix ICE from loading proc-macro stubs
https://github.com/rust-lang/rust/pull/57846