This week in Rust #259 — 06 nov 2018
https://this-week-in-rust.org/blog/2018/11/06/this-week-in-rust-259/
https://this-week-in-rust.org/blog/2018/11/06/this-week-in-rust-259/
Updates from core
fix DWARF generation for enums
https://github.com/rust-lang/rust/pull/54004
add libproc_macro to rust-src distribution
https://github.com/rust-lang/rust/pull/55280
remove the alloc_jemalloc crate
https://github.com/rust-lang/rust/pull/55238
add Retagging statements
https://github.com/rust-lang/rust/pull/55316
implement object-safety and dynamic dispatch for arbitrary_self_types
https://github.com/rust-lang/rust/pull/54383
universes refactor 3
https://github.com/rust-lang/rust/pull/55305
correct alignment of atomic types and (re)add Atomic{I,U}128
https://github.com/rust-lang/rust/pull/55410
rustc_target: pass contexts by reference, not value
https://github.com/rust-lang/rust/pull/55665
take advantage of impl Iterator in (transitive/elaborate)_bounds
https://github.com/rust-lang/rust/pull/55473
change a flat_map with 0/1-element vecs to a filter_map
https://github.com/rust-lang/rust/pull/55476
improve a few cases of collecting to an FxHash(Map/Set)
https://github.com/rust-lang/rust/pull/55205
crates.io: ensure only exact name matches are added to the index
https://github.com/rust-lang/crates.io/pull/1550
use SmallVec within MoveData
https://github.com/rust-lang/rust/pull/55574
tweak MatcherPos::matches
https://github.com/rust-lang/rust/pull/55558
make -Z ls list the actual filename of external dependencies
https://github.com/rust-lang/rust/pull/55555
syntax: improve a few allocations
https://github.com/rust-lang/rust/pull/55542
pass suggestions as impl Iterator instead of Vec
https://github.com/rust-lang/rust/pull/55536
fix invalid_const_promotion test on some archs
https://github.com/rust-lang/rust/pull/55575
add raw_entry API to HashMap
https://github.com/rust-lang/rust/pull/54043
cargo: configure tar to not set mtime
https://github.com/rust-lang/cargo/pull/6257
rustdoc: hide default impls items
https://github.com/rust-lang/rust/pull/54162
rustdoc: refactor: centralize all command-line argument parsing
https://github.com/rust-lang/rust/pull/55515
fix DWARF generation for enums
https://github.com/rust-lang/rust/pull/54004
add libproc_macro to rust-src distribution
https://github.com/rust-lang/rust/pull/55280
remove the alloc_jemalloc crate
https://github.com/rust-lang/rust/pull/55238
add Retagging statements
https://github.com/rust-lang/rust/pull/55316
implement object-safety and dynamic dispatch for arbitrary_self_types
https://github.com/rust-lang/rust/pull/54383
universes refactor 3
https://github.com/rust-lang/rust/pull/55305
correct alignment of atomic types and (re)add Atomic{I,U}128
https://github.com/rust-lang/rust/pull/55410
rustc_target: pass contexts by reference, not value
https://github.com/rust-lang/rust/pull/55665
take advantage of impl Iterator in (transitive/elaborate)_bounds
https://github.com/rust-lang/rust/pull/55473
change a flat_map with 0/1-element vecs to a filter_map
https://github.com/rust-lang/rust/pull/55476
improve a few cases of collecting to an FxHash(Map/Set)
https://github.com/rust-lang/rust/pull/55205
crates.io: ensure only exact name matches are added to the index
https://github.com/rust-lang/crates.io/pull/1550
use SmallVec within MoveData
https://github.com/rust-lang/rust/pull/55574
tweak MatcherPos::matches
https://github.com/rust-lang/rust/pull/55558
make -Z ls list the actual filename of external dependencies
https://github.com/rust-lang/rust/pull/55555
syntax: improve a few allocations
https://github.com/rust-lang/rust/pull/55542
pass suggestions as impl Iterator instead of Vec
https://github.com/rust-lang/rust/pull/55536
fix invalid_const_promotion test on some archs
https://github.com/rust-lang/rust/pull/55575
add raw_entry API to HashMap
https://github.com/rust-lang/rust/pull/54043
cargo: configure tar to not set mtime
https://github.com/rust-lang/cargo/pull/6257
rustdoc: hide default impls items
https://github.com/rust-lang/rust/pull/54162
rustdoc: refactor: centralize all command-line argument parsing
https://github.com/rust-lang/rust/pull/55515
News
Rust now available on 14 Debian architectures.
https://lists.debian.org/debian-devel-announce/2018/11/msg00000.html
MIR-based borrowck is almost here.
http://smallcultfollowing.com/babysteps/blog/2018/10/31/mir-based-borrowck-is-almost-here/
How to speed up the Rust compiler in 2018: NLL edition.
https://blog.mozilla.org/nnethercote/2018/11/06/how-to-speed-up-the-rust-compiler-in-2018-nll-edition/
After NLL: Interprocedural conflicts.
http://smallcultfollowing.com/babysteps/blog/2018/11/01/after-nll-interprocedural-conflicts/
Shifgrethor IV: Tracing.
https://boats.gitlab.io/blog/post/shifgrethor-iv/
A hammer you can only hold by the handle. Looking at the Rust borrow checker from a different perspective.
https://blog.systems.ethz.ch/blog/2018/a-hammer-you-can-only-hold-by-the-handle.html
Anchored and uniform paths.
https://boats.gitlab.io/blog/post/anchored-uniform/
On dealing with owning and borrowing in public interfaces.
https://phaazon.net/blog/on-owning-borrowing-pub-interface
Rust now available on 14 Debian architectures.
https://lists.debian.org/debian-devel-announce/2018/11/msg00000.html
MIR-based borrowck is almost here.
http://smallcultfollowing.com/babysteps/blog/2018/10/31/mir-based-borrowck-is-almost-here/
How to speed up the Rust compiler in 2018: NLL edition.
https://blog.mozilla.org/nnethercote/2018/11/06/how-to-speed-up-the-rust-compiler-in-2018-nll-edition/
After NLL: Interprocedural conflicts.
http://smallcultfollowing.com/babysteps/blog/2018/11/01/after-nll-interprocedural-conflicts/
Shifgrethor IV: Tracing.
https://boats.gitlab.io/blog/post/shifgrethor-iv/
A hammer you can only hold by the handle. Looking at the Rust borrow checker from a different perspective.
https://blog.systems.ethz.ch/blog/2018/a-hammer-you-can-only-hold-by-the-handle.html
Anchored and uniform paths.
https://boats.gitlab.io/blog/post/anchored-uniform/
On dealing with owning and borrowing in public interfaces.
https://phaazon.net/blog/on-owning-borrowing-pub-interface
Crate of the week: parse_wiki_text
This week's crate is parse_wiki_text, a crate to parse MediaWiki entries into a tree of elements. Thanks to Fredrik for the suggestion!
This week's crate is parse_wiki_text, a crate to parse MediaWiki entries into a tree of elements. Thanks to Fredrik for the suggestion!
This week in Rust #260 — 13 nov 2018
https://this-week-in-rust.org/blog/2018/11/13/this-week-in-rust-260/
https://this-week-in-rust.org/blog/2018/11/13/this-week-in-rust-260/
Updates from core
remove support for building against LLVM 4
https://github.com/rust-lang/rust/pull/55698
use lld directly for Fuchsia target
https://github.com/rust-lang/rust/pull/55106
support memcpy/memmove with differing src/dst alignment
https://github.com/rust-lang/rust/pull/55633
treat "proc-macro" crate type the same as proc-macro = true
https://github.com/rust-lang/cargo/pull/6256
custom diagnostic when trying to doc comment argument
https://github.com/rust-lang/rust/pull/55451
enforce unused-must-use lint in macros
https://github.com/rust-lang/rust/pull/55569
don't print opt fuel messages to stdout because it breaks Rustbuild
https://github.com/rust-lang/rust/pull/55495
NLL: fix ICE with elided lifetimes
https://github.com/rust-lang/rust/pull/55822
NLL: update box insensitivity test
https://github.com/rust-lang/rust/pull/55801
NLL: missing errors for borrows of union fields
https://github.com/rust-lang/rust/pull/55696
NLL: unions not reinitialized after assignment into field
https://github.com/rust-lang/rust/pull/55657
consume optimization fuel from the MIR inliner
https://github.com/rust-lang/rust/pull/55739
take supertraits into account when calculating associated types
https://github.com/rust-lang/rust/pull/55687
typecheck patterns of all match arms first, so we get types for bindings
https://github.com/rust-lang/rust/pull/55819
don't inline virtual calls (take 2)
https://github.com/rust-lang/rust/pull/55802
use SmallVec to avoid allocations in from_decimal_string
https://github.com/rust-lang/rust/pull/55816
un-P my Lit! Don't allocate it in vain
https://github.com/rust-lang/rust/pull/55777
don't Box the TyCtxt::associated_items
https://github.com/rust-lang/rust/pull/55604
make MatcherPos::stack a SmallVec
https://github.com/rust-lang/rust/pull/55525
improve creation of 3 IndexVecs
https://github.com/rust-lang/rust/pull/55755
implement rotate using funnel shift on LLVM >= 7
https://github.com/rust-lang/rust/pull/55650
value visitors for miri
Value visitors for miri
remove the alloc_system crate
https://github.com/rust-lang/rust/pull/55660
std: improve codegen size of accessing TLS
https://github.com/rust-lang/rust/pull/55518
std: enable usage of thread_local! through imports
https://github.com/rust-lang/rust/pull/55597
choose predicates without inference variables over those with them
https://github.com/rust-lang/rust/pull/55453
minor standard library constification
https://github.com/rust-lang/rust/pull/55278
fix Rc/Arc allocation layout
https://github.com/rust-lang/rust/pull/55764
fix undefined behavior in Rc/Arc allocation
https://github.com/rust-lang/rust/pull/54922
cargo: avoid retaining all rustc output in memory
https://github.com/rust-lang/cargo/pull/6289
cargo: timeout batch downloads, not each download
https://github.com/rust-lang/cargo/pull/6285
cargo: small things to help with fuzz tests
https://github.com/rust-lang/cargo/pull/6274
cargo: don't include build noscripts in --out-dir
https://github.com/rust-lang/cargo/pull/6300
remove support for building against LLVM 4
https://github.com/rust-lang/rust/pull/55698
use lld directly for Fuchsia target
https://github.com/rust-lang/rust/pull/55106
support memcpy/memmove with differing src/dst alignment
https://github.com/rust-lang/rust/pull/55633
treat "proc-macro" crate type the same as proc-macro = true
https://github.com/rust-lang/cargo/pull/6256
custom diagnostic when trying to doc comment argument
https://github.com/rust-lang/rust/pull/55451
enforce unused-must-use lint in macros
https://github.com/rust-lang/rust/pull/55569
don't print opt fuel messages to stdout because it breaks Rustbuild
https://github.com/rust-lang/rust/pull/55495
NLL: fix ICE with elided lifetimes
https://github.com/rust-lang/rust/pull/55822
NLL: update box insensitivity test
https://github.com/rust-lang/rust/pull/55801
NLL: missing errors for borrows of union fields
https://github.com/rust-lang/rust/pull/55696
NLL: unions not reinitialized after assignment into field
https://github.com/rust-lang/rust/pull/55657
consume optimization fuel from the MIR inliner
https://github.com/rust-lang/rust/pull/55739
take supertraits into account when calculating associated types
https://github.com/rust-lang/rust/pull/55687
typecheck patterns of all match arms first, so we get types for bindings
https://github.com/rust-lang/rust/pull/55819
don't inline virtual calls (take 2)
https://github.com/rust-lang/rust/pull/55802
use SmallVec to avoid allocations in from_decimal_string
https://github.com/rust-lang/rust/pull/55816
un-P my Lit! Don't allocate it in vain
https://github.com/rust-lang/rust/pull/55777
don't Box the TyCtxt::associated_items
https://github.com/rust-lang/rust/pull/55604
make MatcherPos::stack a SmallVec
https://github.com/rust-lang/rust/pull/55525
improve creation of 3 IndexVecs
https://github.com/rust-lang/rust/pull/55755
implement rotate using funnel shift on LLVM >= 7
https://github.com/rust-lang/rust/pull/55650
value visitors for miri
Value visitors for miri
remove the alloc_system crate
https://github.com/rust-lang/rust/pull/55660
std: improve codegen size of accessing TLS
https://github.com/rust-lang/rust/pull/55518
std: enable usage of thread_local! through imports
https://github.com/rust-lang/rust/pull/55597
choose predicates without inference variables over those with them
https://github.com/rust-lang/rust/pull/55453
minor standard library constification
https://github.com/rust-lang/rust/pull/55278
fix Rc/Arc allocation layout
https://github.com/rust-lang/rust/pull/55764
fix undefined behavior in Rc/Arc allocation
https://github.com/rust-lang/rust/pull/54922
cargo: avoid retaining all rustc output in memory
https://github.com/rust-lang/cargo/pull/6289
cargo: timeout batch downloads, not each download
https://github.com/rust-lang/cargo/pull/6285
cargo: small things to help with fuzz tests
https://github.com/rust-lang/cargo/pull/6274
cargo: don't include build noscripts in --out-dir
https://github.com/rust-lang/cargo/pull/6300
News
🎈🎉 Announcing Rust 1.30.1. 🎉🎈
https://blog.rust-lang.org/2018/11/08/Rust-1.30.1.html
Things Rust doesn’t let you do.
https://medium.com/@GolDDranks/things-rust-doesnt-let-you-do-draft-f596a3c740a5
After NLL: Moving from borrowed data and the sentinel pattern.
http://smallcultfollowing.com/babysteps/blog/2018/11/10/after-nll-moving-from-borrowed-data-and-the-sentinel-pattern/
Running Rust natively in AWS Lambda and testing it locally.
https://medium.com/@bernardo.belchior1/running-rust-natively-in-aws-lambda-and-testing-it-locally-57080421426d
Truly zero cost abstractions.
https://vorner.github.io/2018/11/11/truly-zero-cost.html
Implementing Rust’s std::sync::Mutex in D.
https://atilanevesoncode.wordpress.com/2018/11/06/implementing-rusts-stdsyncmutex-in-d/
Middleware in Tide.
https://rust-lang-nursery.github.io/wg-net/2018/11/07/tide-middleware.html
Monadic do notation in Rust: Part I.
https://varkor.github.io/blog/2018/11/10/monadic-do-notation-in-rust-part-i.html
proc_macro_attribute revisited.
https://llogiq.github.io/2018/11/10/proc-macro.html
[pdf] Writing network drivers in Rust.
https://www.net.in.tum.de/fileadmin/bibtex/publications/theses/2018-ixy-rust.pdf
🎈🎉 Announcing Rust 1.30.1. 🎉🎈
https://blog.rust-lang.org/2018/11/08/Rust-1.30.1.html
Things Rust doesn’t let you do.
https://medium.com/@GolDDranks/things-rust-doesnt-let-you-do-draft-f596a3c740a5
After NLL: Moving from borrowed data and the sentinel pattern.
http://smallcultfollowing.com/babysteps/blog/2018/11/10/after-nll-moving-from-borrowed-data-and-the-sentinel-pattern/
Running Rust natively in AWS Lambda and testing it locally.
https://medium.com/@bernardo.belchior1/running-rust-natively-in-aws-lambda-and-testing-it-locally-57080421426d
Truly zero cost abstractions.
https://vorner.github.io/2018/11/11/truly-zero-cost.html
Implementing Rust’s std::sync::Mutex in D.
https://atilanevesoncode.wordpress.com/2018/11/06/implementing-rusts-stdsyncmutex-in-d/
Middleware in Tide.
https://rust-lang-nursery.github.io/wg-net/2018/11/07/tide-middleware.html
Monadic do notation in Rust: Part I.
https://varkor.github.io/blog/2018/11/10/monadic-do-notation-in-rust-part-i.html
proc_macro_attribute revisited.
https://llogiq.github.io/2018/11/10/proc-macro.html
[pdf] Writing network drivers in Rust.
https://www.net.in.tum.de/fileadmin/bibtex/publications/theses/2018-ixy-rust.pdf
Crate of the week: cargo-nono
This week's crate is cargo-nono, a cargo subcommand to check a crate's dependencies for no-std compatibility. Thanks to Hobofan for the suggestion!
This week's crate is cargo-nono, a cargo subcommand to check a crate's dependencies for no-std compatibility. Thanks to Hobofan for the suggestion!
This week in Rust #261 — 20 nov 2018
https://this-week-in-rust.org/blog/2018/11/20/this-week-in-rust-261/
https://this-week-in-rust.org/blog/2018/11/20/this-week-in-rust-261/
Updates from core
remove "approx env bounds" if we already know from trait
https://github.com/rust-lang/rust/pull/56043
resolve: implement uniform paths 2.0
https://github.com/rust-lang/rust/pull/56042
chalk lowering rule: ProjectionEq-Normalize
https://github.com/rust-lang/rust/pull/52153
miri backtrace improvements
https://github.com/rust-lang/rust/pull/55970
fix emission of niche-filling discriminant values
https://github.com/rust-lang/rust/pull/55701
avoid shared ref in UnsafeCell::get
https://github.com/rust-lang/rust/pull/56012
CTFE: dynamically make sure we do not call non-const-fn
https://github.com/rust-lang/rust/pull/56007
reattach all grandchildren when constructing specialization graph
https://github.com/rust-lang/rust/pull/54906
ty: return impl Iterator from Predicate::walk_tys
https://github.com/rust-lang/rust/pull/55949
a handful of hir tweaks
https://github.com/rust-lang/rust/pull/55930
make miri value visitor useful for mutation
https://github.com/rust-lang/rust/pull/55916
miri enum discriminant handling: Fix treatment of pointers, better error when it is undef
https://github.com/rust-lang/rust/pull/55894
more precise spans for temps and their drops
https://github.com/rust-lang/rust/pull/55781
reference count crate_inherent_implss return value
https://github.com/rust-lang/rust/pull/55882
unix RwLock: avoid racy access to write_locked
https://github.com/rust-lang/rust/pull/55865
forward the ABI of the non-zero sized fields of an union if they have the same ABI
https://github.com/rust-lang/rust/pull/55834
a few tweaks to iterations/collecting
https://github.com/rust-lang/rust/pull/55827
move static_assert! into librustc_data_structures
https://github.com/rust-lang/rust/pull/55805
wrap some query results in Lrc
https://github.com/rust-lang/rust/pull/55778
avoid converting bytes to UTF-8 strings to print, just pass bytes to stdout/err
https://github.com/rust-lang/rust/pull/55754
impl_stable_hash_for: support enums and tuple structs with generic parameters
https://github.com/rust-lang/rust/pull/55722
std: Synchronize access to global env during exec
https://github.com/rust-lang/rust/pull/55939
add mem::forget_unsized() for forgetting unsized values
https://github.com/rust-lang/rust/pull/55785
core/char: speed up to_digit() for radix <= 10
https://github.com/rust-lang/rust/pull/55932
add VecDeque::resize_with
https://github.com/rust-lang/rust/pull/56016
add FromIterator<A> to Box<[A]>
https://github.com/rust-lang/rust/pull/55843
speed up String::from_utf16
https://github.com/rust-lang/rust/pull/55530
cargo: add c alias for check
https://github.com/rust-lang/cargo/pull/6218
cargo: distinguish custom build invocations
https://github.com/rust-lang/cargo/pull/6331
cargo: allow crate_type=bin examples to run
https://github.com/rust-lang/cargo/pull/6330
rustdoc: properly calculate spans for intra-doc link resolution errors
https://github.com/rust-lang/rust/pull/55962
remove "approx env bounds" if we already know from trait
https://github.com/rust-lang/rust/pull/56043
resolve: implement uniform paths 2.0
https://github.com/rust-lang/rust/pull/56042
chalk lowering rule: ProjectionEq-Normalize
https://github.com/rust-lang/rust/pull/52153
miri backtrace improvements
https://github.com/rust-lang/rust/pull/55970
fix emission of niche-filling discriminant values
https://github.com/rust-lang/rust/pull/55701
avoid shared ref in UnsafeCell::get
https://github.com/rust-lang/rust/pull/56012
CTFE: dynamically make sure we do not call non-const-fn
https://github.com/rust-lang/rust/pull/56007
reattach all grandchildren when constructing specialization graph
https://github.com/rust-lang/rust/pull/54906
ty: return impl Iterator from Predicate::walk_tys
https://github.com/rust-lang/rust/pull/55949
a handful of hir tweaks
https://github.com/rust-lang/rust/pull/55930
make miri value visitor useful for mutation
https://github.com/rust-lang/rust/pull/55916
miri enum discriminant handling: Fix treatment of pointers, better error when it is undef
https://github.com/rust-lang/rust/pull/55894
more precise spans for temps and their drops
https://github.com/rust-lang/rust/pull/55781
reference count crate_inherent_implss return value
https://github.com/rust-lang/rust/pull/55882
unix RwLock: avoid racy access to write_locked
https://github.com/rust-lang/rust/pull/55865
forward the ABI of the non-zero sized fields of an union if they have the same ABI
https://github.com/rust-lang/rust/pull/55834
a few tweaks to iterations/collecting
https://github.com/rust-lang/rust/pull/55827
move static_assert! into librustc_data_structures
https://github.com/rust-lang/rust/pull/55805
wrap some query results in Lrc
https://github.com/rust-lang/rust/pull/55778
avoid converting bytes to UTF-8 strings to print, just pass bytes to stdout/err
https://github.com/rust-lang/rust/pull/55754
impl_stable_hash_for: support enums and tuple structs with generic parameters
https://github.com/rust-lang/rust/pull/55722
std: Synchronize access to global env during exec
https://github.com/rust-lang/rust/pull/55939
add mem::forget_unsized() for forgetting unsized values
https://github.com/rust-lang/rust/pull/55785
core/char: speed up to_digit() for radix <= 10
https://github.com/rust-lang/rust/pull/55932
add VecDeque::resize_with
https://github.com/rust-lang/rust/pull/56016
add FromIterator<A> to Box<[A]>
https://github.com/rust-lang/rust/pull/55843
speed up String::from_utf16
https://github.com/rust-lang/rust/pull/55530
cargo: add c alias for check
https://github.com/rust-lang/cargo/pull/6218
cargo: distinguish custom build invocations
https://github.com/rust-lang/cargo/pull/6331
cargo: allow crate_type=bin examples to run
https://github.com/rust-lang/cargo/pull/6330
rustdoc: properly calculate spans for intra-doc link resolution errors
https://github.com/rust-lang/rust/pull/55962
News
A verified email address will be required to publish to crates.io starting on 2019-02-28.
https://users.rust-lang.org/t/a-verified-email-address-will-be-required-to-publish-to-crates-io-starting-on-2019-02-28/22425
Rust and game development.
https://alexene.github.io/2018/11/15/Rust-and-game-development.html
Build your own shell using Rust.
https://www.joshmcguigan.com/blog/build-your-own-shell-rust/
Stacked borrows implemented: An aliasing model for Rust.
https://www.ralfj.de/blog/2018/11/16/stacked-borrows-implementation.html
Bringing Elm's architecture to Rust and Webassembly.
https://sindrejohansen.no/blog/willow/rust/elm/2018/11/16/willow-elm-in-rust.html
Programming Servo: a background-hang-monitor.
https://medium.com/programming-servo/programming-servo-a-background-hang-monitor-73e89185ce1
Compile time feature flags in Rust.
https://www.worthe-it.co.za/programming/2018/11/18/compile-time-feature-flags-in-rust.html
Program synthesis is possible in Rust.
http://fitzgeraldnick.com/2018/11/15/program-synthesis-is-possible-in-rust.html
This year in embedded Rust.
https://rust-embedded.github.io/blog/2018-11-14-this-year-in-embedded-rust/
A verified email address will be required to publish to crates.io starting on 2019-02-28.
https://users.rust-lang.org/t/a-verified-email-address-will-be-required-to-publish-to-crates-io-starting-on-2019-02-28/22425
Rust and game development.
https://alexene.github.io/2018/11/15/Rust-and-game-development.html
Build your own shell using Rust.
https://www.joshmcguigan.com/blog/build-your-own-shell-rust/
Stacked borrows implemented: An aliasing model for Rust.
https://www.ralfj.de/blog/2018/11/16/stacked-borrows-implementation.html
Bringing Elm's architecture to Rust and Webassembly.
https://sindrejohansen.no/blog/willow/rust/elm/2018/11/16/willow-elm-in-rust.html
Programming Servo: a background-hang-monitor.
https://medium.com/programming-servo/programming-servo-a-background-hang-monitor-73e89185ce1
Compile time feature flags in Rust.
https://www.worthe-it.co.za/programming/2018/11/18/compile-time-feature-flags-in-rust.html
Program synthesis is possible in Rust.
http://fitzgeraldnick.com/2018/11/15/program-synthesis-is-possible-in-rust.html
This year in embedded Rust.
https://rust-embedded.github.io/blog/2018-11-14-this-year-in-embedded-rust/
Crate of the week: cargo-sweep
This week's crate is cargo-sweep, a cargo subcommand to clean cargo's various temporaries. Thanks to Viktor Holmgren for the suggestion!
This week's crate is cargo-sweep, a cargo subcommand to clean cargo's various temporaries. Thanks to Viktor Holmgren for the suggestion!
This week in Rust #262 — 27 nov 2018
https://this-week-in-rust.org/blog/2018/11/27/this-week-in-rust-262/
https://this-week-in-rust.org/blog/2018/11/27/this-week-in-rust-262/
Updates from core
lint if a private item has doctests
https://github.com/rust-lang/rust/pull/55367
fix self profiler ICE on Windows
https://github.com/rust-lang/rust/pull/56170
allow #[must_use] on traits
https://github.com/rust-lang/rust/pull/55663
suggest correct syntax when writing type arg instead of assoc type
https://github.com/rust-lang/rust/pull/55808
match_ref_pats: don't emit suggestions inside of a macro
https://github.com/rust-lang/rust-clippy/pull/3432
fix stability hole with `static _
https://github.com/rust-lang/rust/pull/55983
stabilize macro_literal_matcher
https://github.com/rust-lang/rust/pull/56072
check arg/ret sizedness at ExprKind::Path
https://github.com/rust-lang/rust/pull/56045
miri: accept extern types in structs if they are the only field
https://github.com/rust-lang/rust/pull/55672
miri engine refactoring
https://github.com/rust-lang/rust/pull/55915
allow assignments in const contexts
https://github.com/rust-lang/rust/pull/56070
clean up and streamline snapshot data structures
https://github.com/rust-lang/rust/pull/55906
remove clones made redundant by Intern SourceId
https://github.com/rust-lang/cargo/pull/6347
cleanup from lexical MIR borrowck removal
https://github.com/rust-lang/rust/pull/55959
stabilize extern_crate_item_prelude
https://github.com/rust-lang/rust/pull/56032
generator fields are not necessarily initialized
https://github.com/rust-lang/rust/pull/56100
stabilize the int_to_from_bytes feature
https://github.com/rust-lang/rust/pull/56207
add std::iter::unfold
https://github.com/rust-lang/rust/pull/55869
read_c_str should call the AllocationExtra hooks
https://github.com/rust-lang/rust/pull/56210
implement checked_add_duration for SystemTime
https://github.com/rust-lang/rust/pull/55527
return &T / &mut T in ManuallyDrop Deref(Mut) impl
https://github.com/rust-lang/rust/pull/55485
debug: fix VecDeque pretty-printer
https://github.com/rust-lang/rust/pull/55961
debug: fix BTreeSet and BTreeMap gdb pretty-printers
https://github.com/rust-lang/rust/pull/56144
do not panic just because cargo failed
https://github.com/rust-lang/rust/pull/55867
cargo: allow crate_type=bin examples to run
https://github.com/rust-lang/cargo/pull/6330
lint if a private item has doctests
https://github.com/rust-lang/rust/pull/55367
fix self profiler ICE on Windows
https://github.com/rust-lang/rust/pull/56170
allow #[must_use] on traits
https://github.com/rust-lang/rust/pull/55663
suggest correct syntax when writing type arg instead of assoc type
https://github.com/rust-lang/rust/pull/55808
match_ref_pats: don't emit suggestions inside of a macro
https://github.com/rust-lang/rust-clippy/pull/3432
fix stability hole with `static _
https://github.com/rust-lang/rust/pull/55983
stabilize macro_literal_matcher
https://github.com/rust-lang/rust/pull/56072
check arg/ret sizedness at ExprKind::Path
https://github.com/rust-lang/rust/pull/56045
miri: accept extern types in structs if they are the only field
https://github.com/rust-lang/rust/pull/55672
miri engine refactoring
https://github.com/rust-lang/rust/pull/55915
allow assignments in const contexts
https://github.com/rust-lang/rust/pull/56070
clean up and streamline snapshot data structures
https://github.com/rust-lang/rust/pull/55906
remove clones made redundant by Intern SourceId
https://github.com/rust-lang/cargo/pull/6347
cleanup from lexical MIR borrowck removal
https://github.com/rust-lang/rust/pull/55959
stabilize extern_crate_item_prelude
https://github.com/rust-lang/rust/pull/56032
generator fields are not necessarily initialized
https://github.com/rust-lang/rust/pull/56100
stabilize the int_to_from_bytes feature
https://github.com/rust-lang/rust/pull/56207
add std::iter::unfold
https://github.com/rust-lang/rust/pull/55869
read_c_str should call the AllocationExtra hooks
https://github.com/rust-lang/rust/pull/56210
implement checked_add_duration for SystemTime
https://github.com/rust-lang/rust/pull/55527
return &T / &mut T in ManuallyDrop Deref(Mut) impl
https://github.com/rust-lang/rust/pull/55485
debug: fix VecDeque pretty-printer
https://github.com/rust-lang/rust/pull/55961
debug: fix BTreeSet and BTreeMap gdb pretty-printers
https://github.com/rust-lang/rust/pull/56144
do not panic just because cargo failed
https://github.com/rust-lang/rust/pull/55867
cargo: allow crate_type=bin examples to run
https://github.com/rust-lang/cargo/pull/6330
News
Announcing Rust 2018 Beta release.
https://internals.rust-lang.org/t/announcing-rust-2018-beta-release/8901
Announcing Firecracker from Amazon: MicroVM for serverless computing.
https://aws.amazon.com/blogs/opensource/firecracker-open-source-secure-fast-microvm-serverless/
Rust survey 2018 results.
https://blog.rust-lang.org/2018/11/27/Rust-survey-2018.html
Getting started with nightly async/await support.
https://jsdw.me/posts/rust-asyncawait-preview/
Converting AsyncRead and AsyncWrite to Futures, Sinks, and Streams.
https://jsdw.me/posts/rust-futures-tokio/
Bootstrapping an embedded Rust development environment.
https://josh.robsonchase.com/embedded-bootstrapping/
Tide's evolving middleware approach.
https://rust-lang-nursery.github.io/wg-net/2018/11/27/tide-middleware-evolution.html
Rust traits and their (lack of) privacy.
https://phaazon.net/blog/rust-traits-privacy
Serverless HTTP.
https://medium.com/@softprops/serverless-http-9a58f9b2df60
Generic methods in Rust: How Exonum shifted from Iron to Actix-web.
https://medium.com/meetbitfury/generic-methods-in-rust-how-exonum-shifted-from-iron-to-actix-web-7a2752171388
Rust+GNOME Hackfest 4.
http://antoyo.ml/rust-gnome-hackfest-thessaloniki
Amethyst Foundation has been formed.
https://www.amethyst.rs/blog/non-profit-announce/
Rust language cheat sheet (cheats.rs).
https://cheats.rs
Rust Latam CFP is now open, deadline is December 31st. Also ticket sales are open.
https://cfp.rustlatam.org/events/rust-latam
Videos from Rust Belt Rust 2018 are now available.
https://www.youtube.com/playlist?list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW
Announcing Rust 2018 Beta release.
https://internals.rust-lang.org/t/announcing-rust-2018-beta-release/8901
Announcing Firecracker from Amazon: MicroVM for serverless computing.
https://aws.amazon.com/blogs/opensource/firecracker-open-source-secure-fast-microvm-serverless/
Rust survey 2018 results.
https://blog.rust-lang.org/2018/11/27/Rust-survey-2018.html
Getting started with nightly async/await support.
https://jsdw.me/posts/rust-asyncawait-preview/
Converting AsyncRead and AsyncWrite to Futures, Sinks, and Streams.
https://jsdw.me/posts/rust-futures-tokio/
Bootstrapping an embedded Rust development environment.
https://josh.robsonchase.com/embedded-bootstrapping/
Tide's evolving middleware approach.
https://rust-lang-nursery.github.io/wg-net/2018/11/27/tide-middleware-evolution.html
Rust traits and their (lack of) privacy.
https://phaazon.net/blog/rust-traits-privacy
Serverless HTTP.
https://medium.com/@softprops/serverless-http-9a58f9b2df60
Generic methods in Rust: How Exonum shifted from Iron to Actix-web.
https://medium.com/meetbitfury/generic-methods-in-rust-how-exonum-shifted-from-iron-to-actix-web-7a2752171388
Rust+GNOME Hackfest 4.
http://antoyo.ml/rust-gnome-hackfest-thessaloniki
Amethyst Foundation has been formed.
https://www.amethyst.rs/blog/non-profit-announce/
Rust language cheat sheet (cheats.rs).
https://cheats.rs
Rust Latam CFP is now open, deadline is December 31st. Also ticket sales are open.
https://cfp.rustlatam.org/events/rust-latam
Videos from Rust Belt Rust 2018 are now available.
https://www.youtube.com/playlist?list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW
Crate of the week: modulator
This week's crate is modulator, a crate of abstract modulators for use in audio synthesizers (and possibly elsewhere). Thanks to Andrea Pessino for the suggestion!
This week's crate is modulator, a crate of abstract modulators for use in audio synthesizers (and possibly elsewhere). Thanks to Andrea Pessino for the suggestion!
This week in Rust #263 — 04 dec 2018
https://this-week-in-rust.org/blog/2018/12/04/this-week-in-rust-263/
https://this-week-in-rust.org/blog/2018/12/04/this-week-in-rust-263/
Updates from core
decouple proc_macro from the rest of the compiler
https://github.com/rust-lang/rust/pull/49219
implement chalk unification routines
https://github.com/rust-lang/rust/pull/56214
upgrade LLVM to trunk, still version 8
https://github.com/rust-lang/rust/pull/55835
another LLVM Update and Re-enable lldb
https://github.com/rust-lang/rust/pull/56313
use sort_by_cached_key when the key function is not trivial/free
https://github.com/rust-lang/rust/pull/55821
deduplicate literal → constant lowering
https://github.com/rust-lang/rust/pull/56312
use MaybeUninit instead of mem::uninitialized for Windows Mutex
https://github.com/rust-lang/rust/pull/56275
libcore: add VaList and variadic arg handling intrinsics
https://github.com/rust-lang/rust/pull/49878
arena: speed up TypedArena::clear and improve common patterns
https://github.com/rust-lang/rust/pull/56378
stabilize macro_at_most_once_rep
https://github.com/rust-lang/rust/pull/56245
stabilize dbg!(..)
https://github.com/rust-lang/rust/pull/56395
stabilize self_in_typedefs
https://github.com/rust-lang/rust/pull/56366
stabilize self_struct_ctor
https://github.com/rust-lang/rust/pull/56365
remove unsafe unsafe inner function
https://github.com/rust-lang/rust/pull/56236
add TryFrom<&[T]> for [T; $N] where T: Copy
https://github.com/rust-lang/rust/pull/56216
move VecDeque::resize_with out of the impl block
https://github.com/rust-lang/rust/pull/56401
use allow-dirty option in cargo package to skip vcs checks
https://github.com/rust-lang/cargo/pull/6280
make ParseIntError and IntErrorKind fully public
https://github.com/rust-lang/rust/pull/55705
use MaybeUninit in libcore
https://github.com/rust-lang/rust/pull/54668
fix futures creating aliasing mutable and shared ref
https://github.com/rust-lang/rust/pull/56319
add libstd Cargo feature panic_immediate_abort
https://github.com/rust-lang/rust/pull/55011
cargo: ConflictStoreTrie: faster filtered search
https://github.com/rust-lang/cargo/pull/6366
crates.io: email verification warning
https://github.com/rust-lang/crates.io/pull/1565
decouple proc_macro from the rest of the compiler
https://github.com/rust-lang/rust/pull/49219
implement chalk unification routines
https://github.com/rust-lang/rust/pull/56214
upgrade LLVM to trunk, still version 8
https://github.com/rust-lang/rust/pull/55835
another LLVM Update and Re-enable lldb
https://github.com/rust-lang/rust/pull/56313
use sort_by_cached_key when the key function is not trivial/free
https://github.com/rust-lang/rust/pull/55821
deduplicate literal → constant lowering
https://github.com/rust-lang/rust/pull/56312
use MaybeUninit instead of mem::uninitialized for Windows Mutex
https://github.com/rust-lang/rust/pull/56275
libcore: add VaList and variadic arg handling intrinsics
https://github.com/rust-lang/rust/pull/49878
arena: speed up TypedArena::clear and improve common patterns
https://github.com/rust-lang/rust/pull/56378
stabilize macro_at_most_once_rep
https://github.com/rust-lang/rust/pull/56245
stabilize dbg!(..)
https://github.com/rust-lang/rust/pull/56395
stabilize self_in_typedefs
https://github.com/rust-lang/rust/pull/56366
stabilize self_struct_ctor
https://github.com/rust-lang/rust/pull/56365
remove unsafe unsafe inner function
https://github.com/rust-lang/rust/pull/56236
add TryFrom<&[T]> for [T; $N] where T: Copy
https://github.com/rust-lang/rust/pull/56216
move VecDeque::resize_with out of the impl block
https://github.com/rust-lang/rust/pull/56401
use allow-dirty option in cargo package to skip vcs checks
https://github.com/rust-lang/cargo/pull/6280
make ParseIntError and IntErrorKind fully public
https://github.com/rust-lang/rust/pull/55705
use MaybeUninit in libcore
https://github.com/rust-lang/rust/pull/54668
fix futures creating aliasing mutable and shared ref
https://github.com/rust-lang/rust/pull/56319
add libstd Cargo feature panic_immediate_abort
https://github.com/rust-lang/rust/pull/55011
cargo: ConflictStoreTrie: faster filtered search
https://github.com/rust-lang/cargo/pull/6366
crates.io: email verification warning
https://github.com/rust-lang/crates.io/pull/1565
News
A new look for rust-lang.org.
https://blog.rust-lang.org/2018/11/29/a-new-look-for-rust-lang-org.html
Rust Quiz: 26 medium to hard Rust questions with complete explanations.
https://dtolnay.github.io/rust-quiz/18
Announcing RustaCUDA.
https://bheisler.github.io/post/announcing-rustacuda/
Official Rust runtime for AWS Lambda.
https://aws.amazon.com/blogs/opensource/rust-runtime-for-aws-lambda/
Creating my first AWS Lambda using Rust.
https://medium.com/@kkostov/rust-aws-lambda-30a1b92d4009
How I wrote a modern C++ library in Rust.
https://hsivonen.fi/modern-cpp-in-rust/
Using Passenger with Rust.
https://www.phusionpassenger.com/docs/advanced_guides/gls/rust.html
wasm-bindgen — how does it work?
http://fitzgeraldnick.com/2018/12/02/wasm-bindgen-how-does-it-work.html
Rust web survey 2018.
https://rust-lang-nursery.github.io/wg-net/2018/11/28/wg-net-survey.html
This Week in Rust and WebAssembly 9.
https://rustwasm.github.io/2018/11/28/this-week-in-rust-wasm-009.html
A new look for rust-lang.org.
https://blog.rust-lang.org/2018/11/29/a-new-look-for-rust-lang-org.html
Rust Quiz: 26 medium to hard Rust questions with complete explanations.
https://dtolnay.github.io/rust-quiz/18
Announcing RustaCUDA.
https://bheisler.github.io/post/announcing-rustacuda/
Official Rust runtime for AWS Lambda.
https://aws.amazon.com/blogs/opensource/rust-runtime-for-aws-lambda/
Creating my first AWS Lambda using Rust.
https://medium.com/@kkostov/rust-aws-lambda-30a1b92d4009
How I wrote a modern C++ library in Rust.
https://hsivonen.fi/modern-cpp-in-rust/
Using Passenger with Rust.
https://www.phusionpassenger.com/docs/advanced_guides/gls/rust.html
wasm-bindgen — how does it work?
http://fitzgeraldnick.com/2018/12/02/wasm-bindgen-how-does-it-work.html
Rust web survey 2018.
https://rust-lang-nursery.github.io/wg-net/2018/11/28/wg-net-survey.html
This Week in Rust and WebAssembly 9.
https://rustwasm.github.io/2018/11/28/this-week-in-rust-wasm-009.html
Crate of the week: cargo-call-stack
This week's crate is cargo-call-stack, a cargo subcommand for whole-program call stack analysis. Thanks to Jorge Aparicio for the suggestion!
This week's crate is cargo-call-stack, a cargo subcommand for whole-program call stack analysis. Thanks to Jorge Aparicio for the suggestion!
This week in Rust #264 — 11 dec 2018
https://this-week-in-rust.org/blog/2018/12/11/this-week-in-rust-264/
https://this-week-in-rust.org/blog/2018/12/11/this-week-in-rust-264/