News
Porting C to Rust, a case study: minimp3.
https://wiki.alopex.li/PortingCToRust
Lessons learned on writing web applications completely in Rust.
https://medium.com/@saschagrunert/lessons-learned-on-writing-web-applications-completely-in-rust-2080d0990287
comacro: a declarative building block for static analysis.
http://blog.lambdaverse.org/comacro
Oxidizing Python: Speeding up URL quoting by 10x using Rust.
https://tech.blue-yonder.com/oxidizing-python-speeding-up-urlquoting-by-using-rust/
GLSL quasiquoting in Rust.
https://phaazon.net/blog/glsl-quasiquoting
Going four times faster using multi-threading.
http://worthe-it.co.za/programming/2018/10/03/going-four-times-faster-with-multithreading.html
Bluetooth Low Energy with Rust.
https://219design.com/bluetooth-low-energy-with-rust/
Hunting for bugs in Rust.
https://blog.troutwine.us/2018/10/08/hunting-for-bugs-in-rust/
Who authors the most popular crates on crates.io?
https://words.steveklabnik.com/who-authors-the-most-popular-crates-on-crates-io
Rust's story for default arguments.
https://medium.com/@softprops/default-values-copy-that-ae43831781f3
Remacs continues to improve.
http://db48x.net/rust-remacs-2018/
Future directions for cbindgen (rust-ffi).
http://dreamingofbits.com/post/future-directions-for-cbindgen-rust-ffi/
The Embedded WG newsletter 13.
https://rust-embedded.github.io/blog/2018-10-09-newsletter-13/
Porting C to Rust, a case study: minimp3.
https://wiki.alopex.li/PortingCToRust
Lessons learned on writing web applications completely in Rust.
https://medium.com/@saschagrunert/lessons-learned-on-writing-web-applications-completely-in-rust-2080d0990287
comacro: a declarative building block for static analysis.
http://blog.lambdaverse.org/comacro
Oxidizing Python: Speeding up URL quoting by 10x using Rust.
https://tech.blue-yonder.com/oxidizing-python-speeding-up-urlquoting-by-using-rust/
GLSL quasiquoting in Rust.
https://phaazon.net/blog/glsl-quasiquoting
Going four times faster using multi-threading.
http://worthe-it.co.za/programming/2018/10/03/going-four-times-faster-with-multithreading.html
Bluetooth Low Energy with Rust.
https://219design.com/bluetooth-low-energy-with-rust/
Hunting for bugs in Rust.
https://blog.troutwine.us/2018/10/08/hunting-for-bugs-in-rust/
Who authors the most popular crates on crates.io?
https://words.steveklabnik.com/who-authors-the-most-popular-crates-on-crates-io
Rust's story for default arguments.
https://medium.com/@softprops/default-values-copy-that-ae43831781f3
Remacs continues to improve.
http://db48x.net/rust-remacs-2018/
Future directions for cbindgen (rust-ffi).
http://dreamingofbits.com/post/future-directions-for-cbindgen-rust-ffi/
The Embedded WG newsletter 13.
https://rust-embedded.github.io/blog/2018-10-09-newsletter-13/
Crate of the week: pest
This week's crate is pest, a Parsing Expression Grammar-based parser library. Thanks to CAD97 for the suggestion!
This week's crate is pest, a Parsing Expression Grammar-based parser library. Thanks to CAD97 for the suggestion!
This week in Rust #256 — 16 oct 2018
https://this-week-in-rust.org/blog/2018/10/16/this-week-in-rust-256/
https://this-week-in-rust.org/blog/2018/10/16/this-week-in-rust-256/
Updates from core
rustc: allow targets to specify SIMD args are by-val
https://github.com/rust-lang/rust/pull/55024
stabilize tool lints
https://github.com/rust-lang/rust/pull/54870
user annotations in patterns
https://github.com/rust-lang/rust/pull/54757
impl Eq+Hash for TyLayout
https://github.com/rust-lang/rust/pull/54936
prepare miri engine for enforcing validity invariant during execution
https://github.com/rust-lang/rust/pull/54762
miri engine: fix run-time validation
https://github.com/rust-lang/rust/pull/54955
fix handling of #[must_use] on unit and uninhabited types
https://github.com/rust-lang/rust/pull/54920
#[must_use] for associated functions is supposed to actually work
https://github.com/rust-lang/rust/pull/55003
the #[panic_handler] attribute can be applied to non-functions
https://github.com/rust-lang/rust/pull/54997
NLL is missing struct field suggestion
https://github.com/rust-lang/rust/pull/54831
add chalk rules related to associated type defs
https://github.com/rust-lang/rust/pull/54909
better Diagnostic for Trait Object Capture
https://github.com/rust-lang/rust/pull/54848
structured suggestions for unused-lifetimes lint
https://github.com/rust-lang/rust/pull/54686
mir-inlining: don't inline virtual calls
https://github.com/rust-lang/rust/pull/55046
use MaybeUninit in liballoc
https://github.com/rust-lang/rust/pull/54924
stabilize the Option::replace method
https://github.com/rust-lang/rust/pull/54904
std: implement Thread-local storage for wasm32-unknown-unknown
https://github.com/rust-lang/rust/pull/54951
std: synchronize global allocator on wasm32
https://github.com/rust-lang/rust/pull/54950
rustdoc: fix mobile docs
https://github.com/rust-lang/rust/pull/54869
rustc: allow targets to specify SIMD args are by-val
https://github.com/rust-lang/rust/pull/55024
stabilize tool lints
https://github.com/rust-lang/rust/pull/54870
user annotations in patterns
https://github.com/rust-lang/rust/pull/54757
impl Eq+Hash for TyLayout
https://github.com/rust-lang/rust/pull/54936
prepare miri engine for enforcing validity invariant during execution
https://github.com/rust-lang/rust/pull/54762
miri engine: fix run-time validation
https://github.com/rust-lang/rust/pull/54955
fix handling of #[must_use] on unit and uninhabited types
https://github.com/rust-lang/rust/pull/54920
#[must_use] for associated functions is supposed to actually work
https://github.com/rust-lang/rust/pull/55003
the #[panic_handler] attribute can be applied to non-functions
https://github.com/rust-lang/rust/pull/54997
NLL is missing struct field suggestion
https://github.com/rust-lang/rust/pull/54831
add chalk rules related to associated type defs
https://github.com/rust-lang/rust/pull/54909
better Diagnostic for Trait Object Capture
https://github.com/rust-lang/rust/pull/54848
structured suggestions for unused-lifetimes lint
https://github.com/rust-lang/rust/pull/54686
mir-inlining: don't inline virtual calls
https://github.com/rust-lang/rust/pull/55046
use MaybeUninit in liballoc
https://github.com/rust-lang/rust/pull/54924
stabilize the Option::replace method
https://github.com/rust-lang/rust/pull/54904
std: implement Thread-local storage for wasm32-unknown-unknown
https://github.com/rust-lang/rust/pull/54951
std: synchronize global allocator on wasm32
https://github.com/rust-lang/rust/pull/54950
rustdoc: fix mobile docs
https://github.com/rust-lang/rust/pull/54869
News
🎈🎉 Announcing Rust 1.29.2. 🎉🎈
https://blog.rust-lang.org/2018/10/12/Rust-1.29.2.html
Rust has a static garbage collector.
https://words.steveklabnik.com/borrow-checking-escape-analysis-and-the-generational-hypothesis
Serverless Rust with Cloudflare Workers.
https://blog.cloudflare.com/cloudflare-workers-as-a-serverless-rust-platform/
Notes on type layouts and ABIs in Rust.
https://gankro.github.io/blah/rust-layouts-and-abis/
Game dev from zero - part 1: Hello, Rust lang.
https://hashnode.com/post/game-dev-from-zero-part-1-hello-rust-lang-cjn3brwto001jv7s2e533bdfc
Fixing a Clippy crash.
https://phansch.net/2018/10/10/fixing-a-clippy-crash/
Handling configurations in a Rust app with envy.
https://medium.com/@softprops/configuration-envy-a09584386705
Routing and extraction in Tide: a first sketch.
https://rust-lang-nursery.github.io/wg-net/2018/10/16/tide-routing.html
Amethyst is growing; news on ongoing projects.
https://www.amethyst.rs/blog/dev-news-10-2018/
🎈🎉 Announcing Rust 1.29.2. 🎉🎈
https://blog.rust-lang.org/2018/10/12/Rust-1.29.2.html
Rust has a static garbage collector.
https://words.steveklabnik.com/borrow-checking-escape-analysis-and-the-generational-hypothesis
Serverless Rust with Cloudflare Workers.
https://blog.cloudflare.com/cloudflare-workers-as-a-serverless-rust-platform/
Notes on type layouts and ABIs in Rust.
https://gankro.github.io/blah/rust-layouts-and-abis/
Game dev from zero - part 1: Hello, Rust lang.
https://hashnode.com/post/game-dev-from-zero-part-1-hello-rust-lang-cjn3brwto001jv7s2e533bdfc
Fixing a Clippy crash.
https://phansch.net/2018/10/10/fixing-a-clippy-crash/
Handling configurations in a Rust app with envy.
https://medium.com/@softprops/configuration-envy-a09584386705
Routing and extraction in Tide: a first sketch.
https://rust-lang-nursery.github.io/wg-net/2018/10/16/tide-routing.html
Amethyst is growing; news on ongoing projects.
https://www.amethyst.rs/blog/dev-news-10-2018/
Crate of the week: Noria
This week's crate is Noria, a new streaming data-flow system designed to act as a fast storage backend for read-heavy web applications. Thanks to Stevensonmt for the suggestion!
This week's crate is Noria, a new streaming data-flow system designed to act as a fast storage backend for read-heavy web applications. Thanks to Stevensonmt for the suggestion!
This week in Rust #257 — 23 oct 2018
https://this-week-in-rust.org/blog/2018/10/23/this-week-in-rust-257/
https://this-week-in-rust.org/blog/2018/10/23/this-week-in-rust-257/
Updates from core
mir-inlining: don't inline virtual calls
https://github.com/rust-lang/rust/pull/55046
reject partial init and reinit of uninitialized data
https://github.com/rust-lang/rust/pull/54941
improve verify_llvm_ir config option
https://github.com/rust-lang/rust/pull/55031
add missing lifetime fragment specifier to error message
https://github.com/rust-lang/rust/pull/55025
rustc: fix (again) simd vectors by-val in ABI
https://github.com/rust-lang/rust/pull/55073
resolve: scale back hard-coded extern prelude additions on 2015 edition
https://github.com/rust-lang/rust/pull/54671
resolve: do not skip extern prelude during speculative resolution
https://github.com/rust-lang/rust/pull/55102
allow explicit matches on ! without warning
https://github.com/rust-lang/rust/pull/55119
deduplicate some code and compile-time values around vtables
https://github.com/rust-lang/rust/pull/55016
NLL: propagate bounds from generators
https://github.com/rust-lang/rust/pull/55013
NLL lacks various special case handling of closures
https://github.com/rust-lang/rust/pull/54976
NLL: fix migrate mode issue by not buffering lints
https://github.com/rust-lang/rust/pull/55135
NLL: change compare-mode=nll to use borrowck=migrate
https://github.com/rust-lang/rust/pull/55134
NLL: use new region infer errors when explaining borrows
https://github.com/rust-lang/rust/pull/55069
NLL type annotations in multisegment path
https://github.com/rust-lang/rust/pull/55093
add filtering option to rustc_on_unimplemented and reword Iterator E0277 errors
https://github.com/rust-lang/rust/pull/54946
custom E0277 diagnostic for Path
https://github.com/rust-lang/rust/pull/54979
unused_patterns lint
https://github.com/rust-lang/rust/pull/54820
check the type of statics and constants for Sizedness
https://github.com/rust-lang/rust/pull/55004
miri: layout should not affect CTFE checks
https://github.com/rust-lang/rust/pull/55142
added graphviz visualization for obligation forests
https://github.com/rust-lang/rust/pull/54486
replace CanonicalVar with DebruijnIndex
https://github.com/rust-lang/rust/pull/52984
stabilize slice::chunks_exact(), chunks_exact_mut(), rchunks(), rchunks_mut(), rchunks_exact(), rchunks_exact_mut()
https://github.com/rust-lang/rust/pull/55178
add a copysign function to f32 and f64
https://github.com/rust-lang/rust/pull/55169
don't warn about parentheses on match (return)
https://github.com/rust-lang/rust/pull/55166
handle underscore bounds in unexpected places
https://github.com/rust-lang/rust/pull/55162
fix ICE and report a human readable error
https://github.com/rust-lang/rust/pull/55071
add slice::rchunks(), rchunks_mut(), rchunks_exact() and rchunks_exact_mut()
https://github.com/rust-lang/rust/pull/54580
unify multiple errors on single typo in match pattern
https://github.com/rust-lang/rust/pull/55156
fix LLVMRustInlineAsmVerify return type mismatch
https://github.com/rust-lang/rust/pull/55128
miri engine: hooks for basic stacked borrows
https://github.com/rust-lang/rust/pull/55125
add support for 'cargo check --all-features'
https://github.com/rust-lang/rust.vim/pull/265
cargo: add PackageError wrappers for activation errors
https://github.com/rust-lang/cargo/pull/6175
rustdoc: use dyn keyword when rendering dynamic traits
https://github.com/rust-lang/rust/pull/55077
rustdoc: don't prefer dynamic linking in doc tests
https://github.com/rust-lang/rust/pull/54939
rustdoc: add lint for doc without codeblocks
https://github.com/rust-lang/rust/pull/54349
detect if access to localStorage is forbidden by the user's browser
https://github.com/rust-lang/rust/pull/55080
librustdoc: disable spellcheck for search field
https://github.com/rust-lang/rust/pull/55161
crates.io: add a missing index on crates
https://github.com/rust-lang/crates.io/pull/1527
mir-inlining: don't inline virtual calls
https://github.com/rust-lang/rust/pull/55046
reject partial init and reinit of uninitialized data
https://github.com/rust-lang/rust/pull/54941
improve verify_llvm_ir config option
https://github.com/rust-lang/rust/pull/55031
add missing lifetime fragment specifier to error message
https://github.com/rust-lang/rust/pull/55025
rustc: fix (again) simd vectors by-val in ABI
https://github.com/rust-lang/rust/pull/55073
resolve: scale back hard-coded extern prelude additions on 2015 edition
https://github.com/rust-lang/rust/pull/54671
resolve: do not skip extern prelude during speculative resolution
https://github.com/rust-lang/rust/pull/55102
allow explicit matches on ! without warning
https://github.com/rust-lang/rust/pull/55119
deduplicate some code and compile-time values around vtables
https://github.com/rust-lang/rust/pull/55016
NLL: propagate bounds from generators
https://github.com/rust-lang/rust/pull/55013
NLL lacks various special case handling of closures
https://github.com/rust-lang/rust/pull/54976
NLL: fix migrate mode issue by not buffering lints
https://github.com/rust-lang/rust/pull/55135
NLL: change compare-mode=nll to use borrowck=migrate
https://github.com/rust-lang/rust/pull/55134
NLL: use new region infer errors when explaining borrows
https://github.com/rust-lang/rust/pull/55069
NLL type annotations in multisegment path
https://github.com/rust-lang/rust/pull/55093
add filtering option to rustc_on_unimplemented and reword Iterator E0277 errors
https://github.com/rust-lang/rust/pull/54946
custom E0277 diagnostic for Path
https://github.com/rust-lang/rust/pull/54979
unused_patterns lint
https://github.com/rust-lang/rust/pull/54820
check the type of statics and constants for Sizedness
https://github.com/rust-lang/rust/pull/55004
miri: layout should not affect CTFE checks
https://github.com/rust-lang/rust/pull/55142
added graphviz visualization for obligation forests
https://github.com/rust-lang/rust/pull/54486
replace CanonicalVar with DebruijnIndex
https://github.com/rust-lang/rust/pull/52984
stabilize slice::chunks_exact(), chunks_exact_mut(), rchunks(), rchunks_mut(), rchunks_exact(), rchunks_exact_mut()
https://github.com/rust-lang/rust/pull/55178
add a copysign function to f32 and f64
https://github.com/rust-lang/rust/pull/55169
don't warn about parentheses on match (return)
https://github.com/rust-lang/rust/pull/55166
handle underscore bounds in unexpected places
https://github.com/rust-lang/rust/pull/55162
fix ICE and report a human readable error
https://github.com/rust-lang/rust/pull/55071
add slice::rchunks(), rchunks_mut(), rchunks_exact() and rchunks_exact_mut()
https://github.com/rust-lang/rust/pull/54580
unify multiple errors on single typo in match pattern
https://github.com/rust-lang/rust/pull/55156
fix LLVMRustInlineAsmVerify return type mismatch
https://github.com/rust-lang/rust/pull/55128
miri engine: hooks for basic stacked borrows
https://github.com/rust-lang/rust/pull/55125
add support for 'cargo check --all-features'
https://github.com/rust-lang/rust.vim/pull/265
cargo: add PackageError wrappers for activation errors
https://github.com/rust-lang/cargo/pull/6175
rustdoc: use dyn keyword when rendering dynamic traits
https://github.com/rust-lang/rust/pull/55077
rustdoc: don't prefer dynamic linking in doc tests
https://github.com/rust-lang/rust/pull/54939
rustdoc: add lint for doc without codeblocks
https://github.com/rust-lang/rust/pull/54349
detect if access to localStorage is forbidden by the user's browser
https://github.com/rust-lang/rust/pull/55080
librustdoc: disable spellcheck for search field
https://github.com/rust-lang/rust/pull/55161
crates.io: add a missing index on crates
https://github.com/rust-lang/crates.io/pull/1527
News
Writing an OS in Rust: Hardware interrupts.
https://os.phil-opp.com/hardware-interrupts/
Towards fearless SIMD.
https://raphlinus.github.io/rust/simd/2018/10/19/fearless-simd.html
Shifgrethor I: Garbage collection as a Rust library.
https://boats.gitlab.io/blog/post/shifgrethor-i/
Update on the October 15, 2018 incident on crates.io.
https://blog.rust-lang.org/2018/10/19/Update-on-crates.io-incident.html
docs.rs is now part of the rust-lang-nursery organization.
https://github.com/rust-lang-nursery/docs.rs
Is Rust functional?
https://www.fpcomplete.com/blog/2018/10/is-rust-functional
Multithreading Rust and WebAssembly.
https://rustwasm.github.io/2018/10/24/multithreading-rust-and-wasm.html
Rust has higher kinded types already... sort of.
https://joshlf.com/post/2018/10/18/rust-higher-kinded-types-already/
Auth web microservice with Rust using actix-web.
https://hgill.io/posts/auth-microservice-rust-actix-web-diesel-complete-tutorial-part-1/
Writing an OS in Rust: Hardware interrupts.
https://os.phil-opp.com/hardware-interrupts/
Towards fearless SIMD.
https://raphlinus.github.io/rust/simd/2018/10/19/fearless-simd.html
Shifgrethor I: Garbage collection as a Rust library.
https://boats.gitlab.io/blog/post/shifgrethor-i/
Update on the October 15, 2018 incident on crates.io.
https://blog.rust-lang.org/2018/10/19/Update-on-crates.io-incident.html
docs.rs is now part of the rust-lang-nursery organization.
https://github.com/rust-lang-nursery/docs.rs
Is Rust functional?
https://www.fpcomplete.com/blog/2018/10/is-rust-functional
Multithreading Rust and WebAssembly.
https://rustwasm.github.io/2018/10/24/multithreading-rust-and-wasm.html
Rust has higher kinded types already... sort of.
https://joshlf.com/post/2018/10/18/rust-higher-kinded-types-already/
Auth web microservice with Rust using actix-web.
https://hgill.io/posts/auth-microservice-rust-actix-web-diesel-complete-tutorial-part-1/
Crate of the week: static-assertions
This week's crate is static-assertions, a crate that does what it says on the tin – allow you to write static assertions. Thanks to llogiq for the suggestion!
This week's crate is static-assertions, a crate that does what it says on the tin – allow you to write static assertions. Thanks to llogiq for the suggestion!
This week in Rust #258 — 30 oct 2018
https://this-week-in-rust.org/blog/2018/10/30/this-week-in-rust-258/
https://this-week-in-rust.org/blog/2018/10/30/this-week-in-rust-258/
Updates from core
compile the libstd we distribute with -Ccodegen-unit=1
https://github.com/rust-lang/rust/pull/55264
implement by-value object safety
https://github.com/rust-lang/rust/pull/54183
report const eval error inside the query
https://github.com/rust-lang/rust/pull/53821
path suggestions in Rust 2018 should point out the change in semantics
https://github.com/rust-lang/rust/pull/55185
suggest appropriate syntax on missing lifetime specifier in return type
https://github.com/rust-lang/rust/pull/55173
Macro diagnostics tweaks
https://github.com/rust-lang/rust/pull/55292
list allowed tokens after macro fragments
https://github.com/rust-lang/rust/pull/55301
make unused-parens suggestions heed what the user actually wrote
https://github.com/rust-lang/rust/pull/55138
fix suggestion on renamed import conflict
https://github.com/rust-lang/rust/pull/55113
suggest to remove prefix b in cfg attribute lint string
https://github.com/rust-lang/rust/pull/54929
lint reasons (RFC #2383, part 1)
https://github.com/rust-lang/rust/pull/54683
point at macro definition when no rules expect token
https://github.com/rust-lang/rust/pull/55298
fix an ICE in the min_const_fn analysis
https://github.com/rust-lang/rust/pull/55412
avoid unnecessary allocations in float_lit and integer_lit
https://github.com/rust-lang/rust/pull/55384
add a "cheap" mode for compute_missing_ctors
https://github.com/rust-lang/rust/pull/55167
use SmallVec for the queue in coerce_unsized
https://github.com/rust-lang/rust/pull/55383
shrink Statement
https://github.com/rust-lang/rust/pull/55346
introduce type-op for user-type anoscription in NLL
https://github.com/rust-lang/rust/pull/55323
NLL: cast causes failure to promote to static
https://github.com/rust-lang/rust/pull/55385
rustc: tweak filenames encoded into metadata
https://github.com/rust-lang/rust/pull/54626
unimplement ExactSizeIterator for MIR traversing iterators
https://github.com/rust-lang/rust/pull/55271
miri engine: stacked Borrows NG
https://github.com/rust-lang/rust/pull/55270
validity: assert that unions are non-empty
https://github.com/rust-lang/rust/pull/55379
allow extern statics with an extern type
https://github.com/rust-lang/rust/pull/55257
add extern crate items to extern prelude
https://github.com/rust-lang/rust/pull/54658
rewrite the UnconditionalRecursion lint to use MIR
https://github.com/rust-lang/rust/pull/54490
#[inline] a bunch of trivial methods of NonNull
https://github.com/rust-lang/rust/pull/55426
add ManuallyDrop::take
https://github.com/rust-lang/rust/pull/55421
add MaybeUninit::new
https://github.com/rust-lang/rust/pull/55244
add line numbers option to rustdoc
https://github.com/rust-lang/rust/pull/54921
fix rustdoc ICE when checking blanket impls
https://github.com/rust-lang/rust/pull/55258
compile the libstd we distribute with -Ccodegen-unit=1
https://github.com/rust-lang/rust/pull/55264
implement by-value object safety
https://github.com/rust-lang/rust/pull/54183
report const eval error inside the query
https://github.com/rust-lang/rust/pull/53821
path suggestions in Rust 2018 should point out the change in semantics
https://github.com/rust-lang/rust/pull/55185
suggest appropriate syntax on missing lifetime specifier in return type
https://github.com/rust-lang/rust/pull/55173
Macro diagnostics tweaks
https://github.com/rust-lang/rust/pull/55292
list allowed tokens after macro fragments
https://github.com/rust-lang/rust/pull/55301
make unused-parens suggestions heed what the user actually wrote
https://github.com/rust-lang/rust/pull/55138
fix suggestion on renamed import conflict
https://github.com/rust-lang/rust/pull/55113
suggest to remove prefix b in cfg attribute lint string
https://github.com/rust-lang/rust/pull/54929
lint reasons (RFC #2383, part 1)
https://github.com/rust-lang/rust/pull/54683
point at macro definition when no rules expect token
https://github.com/rust-lang/rust/pull/55298
fix an ICE in the min_const_fn analysis
https://github.com/rust-lang/rust/pull/55412
avoid unnecessary allocations in float_lit and integer_lit
https://github.com/rust-lang/rust/pull/55384
add a "cheap" mode for compute_missing_ctors
https://github.com/rust-lang/rust/pull/55167
use SmallVec for the queue in coerce_unsized
https://github.com/rust-lang/rust/pull/55383
shrink Statement
https://github.com/rust-lang/rust/pull/55346
introduce type-op for user-type anoscription in NLL
https://github.com/rust-lang/rust/pull/55323
NLL: cast causes failure to promote to static
https://github.com/rust-lang/rust/pull/55385
rustc: tweak filenames encoded into metadata
https://github.com/rust-lang/rust/pull/54626
unimplement ExactSizeIterator for MIR traversing iterators
https://github.com/rust-lang/rust/pull/55271
miri engine: stacked Borrows NG
https://github.com/rust-lang/rust/pull/55270
validity: assert that unions are non-empty
https://github.com/rust-lang/rust/pull/55379
allow extern statics with an extern type
https://github.com/rust-lang/rust/pull/55257
add extern crate items to extern prelude
https://github.com/rust-lang/rust/pull/54658
rewrite the UnconditionalRecursion lint to use MIR
https://github.com/rust-lang/rust/pull/54490
#[inline] a bunch of trivial methods of NonNull
https://github.com/rust-lang/rust/pull/55426
add ManuallyDrop::take
https://github.com/rust-lang/rust/pull/55421
add MaybeUninit::new
https://github.com/rust-lang/rust/pull/55244
add line numbers option to rustdoc
https://github.com/rust-lang/rust/pull/54921
fix rustdoc ICE when checking blanket impls
https://github.com/rust-lang/rust/pull/55258
News
🎈🎉 Announcing Rust 1.30. 🎉🎈
https://blog.rust-lang.org/2018/10/25/Rust-1.30.0.html
Parsing logs 230x faster with Rust.
https://andre.arko.net/2018/10/25/parsing-logs-230x-faster-with-rust/
Shifgrethor III: Rooting.
https://boats.gitlab.io/blog/post/shifgrethor-iii/
A release checklist for Rust programs.
https://dev.to/sharkdp/my-release-checklist-for-rust-programs-1m33
2d graphics in Rust discussion - A look at GPU memory management.
https://nical.github.io/posts/rust-2d-graphics-02.html
Announcing Gotham 0.3.
https://gotham.rs/blog/release/2018/10/29/gotham-0.3.html
Finding and fixing memory leaks in a Hyper application.
https://blog.1aim.com/2018/10/finding-and-fixing-memory-leaks-in-a-hyper-application-or-how-i-learned-to-stop-worrying-and-love-the-allocator/
A brief introduction to serverless applications in Rust.
https://medium.com/@softprops/serverless-rust-318732a3596
The case for macros.
https://llogiq.github.io/2018/10/25/macros.html
Jim Blandy interview on mastering moves and borrows.
https://corecursive.com/016-moves-and-borrowing-in-rust-with-jim-blandy/
The Embedded WG newsletter 14.
https://rust-embedded.github.io/blog/2018-10-28-newsletter-14/
🎈🎉 Announcing Rust 1.30. 🎉🎈
https://blog.rust-lang.org/2018/10/25/Rust-1.30.0.html
Parsing logs 230x faster with Rust.
https://andre.arko.net/2018/10/25/parsing-logs-230x-faster-with-rust/
Shifgrethor III: Rooting.
https://boats.gitlab.io/blog/post/shifgrethor-iii/
A release checklist for Rust programs.
https://dev.to/sharkdp/my-release-checklist-for-rust-programs-1m33
2d graphics in Rust discussion - A look at GPU memory management.
https://nical.github.io/posts/rust-2d-graphics-02.html
Announcing Gotham 0.3.
https://gotham.rs/blog/release/2018/10/29/gotham-0.3.html
Finding and fixing memory leaks in a Hyper application.
https://blog.1aim.com/2018/10/finding-and-fixing-memory-leaks-in-a-hyper-application-or-how-i-learned-to-stop-worrying-and-love-the-allocator/
A brief introduction to serverless applications in Rust.
https://medium.com/@softprops/serverless-rust-318732a3596
The case for macros.
https://llogiq.github.io/2018/10/25/macros.html
Jim Blandy interview on mastering moves and borrows.
https://corecursive.com/016-moves-and-borrowing-in-rust-with-jim-blandy/
The Embedded WG newsletter 14.
https://rust-embedded.github.io/blog/2018-10-28-newsletter-14/
Crate of the week: dutree
This week's crate is dutree, a command line tool that produces a colorful tree view of your disk usage. Thanks to gilescope for the suggestion!
This week's crate is dutree, a command line tool that produces a colorful tree view of your disk usage. Thanks to gilescope for the suggestion!
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