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
News
Writing an OS in Rust: Advanced paging.
https://os.phil-opp.com/advanced-paging/
Embedding WebAssembly in your Rust application.
https://medium.com/wasmer/executing-webassembly-in-your-rust-application-d5cd32e8ce46
Lock-free Rust: Crossbeam in 2019.
https://stjepang.github.io/2019/01/29/lock-free-rust-crossbeam-in-2019.html
Performance of Rust's match vs. lookup tables.
https://kevinlynagh.com/notes/match-vs-lookup/
Librnoscript's GObject boilerplate is in Rust now.
https://people.gnome.org/~federico/blog/librnoscript-gobject-in-rust.html
Enjoy a slice of QUIC, and Rust. Quiche is an implementation of the QUIC transport protocol, by Cloudflare.
https://blog.cloudflare.com/enjoy-a-slice-of-quic-and-rust/
Exporting Serde types to TypeScript.
http://timryan.org/2019/01/22/exporting-serde-types-to-typenoscript.html
Writing an OS in Rust: Advanced paging.
https://os.phil-opp.com/advanced-paging/
Embedding WebAssembly in your Rust application.
https://medium.com/wasmer/executing-webassembly-in-your-rust-application-d5cd32e8ce46
Lock-free Rust: Crossbeam in 2019.
https://stjepang.github.io/2019/01/29/lock-free-rust-crossbeam-in-2019.html
Performance of Rust's match vs. lookup tables.
https://kevinlynagh.com/notes/match-vs-lookup/
Librnoscript's GObject boilerplate is in Rust now.
https://people.gnome.org/~federico/blog/librnoscript-gobject-in-rust.html
Enjoy a slice of QUIC, and Rust. Quiche is an implementation of the QUIC transport protocol, by Cloudflare.
https://blog.cloudflare.com/enjoy-a-slice-of-quic-and-rust/
Exporting Serde types to TypeScript.
http://timryan.org/2019/01/22/exporting-serde-types-to-typenoscript.html
Crate of the week: typetag
This week's crate is typetag, a small crate to allow for serde trait objects. Thanks to Christopher Durham for the suggestion!
This week's crate is typetag, a small crate to allow for serde trait objects. Thanks to Christopher Durham for the suggestion!
This week in Rust #272 — 05 feb 2019
https://this-week-in-rust.org/blog/2019/02/05/this-week-in-rust-272/
https://this-week-in-rust.org/blog/2019/02/05/this-week-in-rust-272/
Updates from core
HirIdification: add key HirId methods
https://github.com/rust-lang/rust/pull/58090
don't panic when accessing enum variant ctor using Self in match
https://github.com/rust-lang/rust/pull/58007
use LLVM intrinsics for saturating add/sub
https://github.com/rust-lang/rust/pull/58003
add MOVBE x86 CPU feature
https://github.com/rust-lang/rust/pull/57999
NVPTX target specification
https://github.com/rust-lang/rust/pull/57937
fix bug in integer range matching
https://github.com/rust-lang/rust/pull/57978
unused variable suggestions apply on all patterns
https://github.com/rust-lang/rust/pull/57899
add information to higher-ranked lifetimes conflicts error messages
https://github.com/rust-lang/rust/pull/57901
rustc: use multiple threads by default
https://github.com/rust-lang/rust/pull/57948
misc performance tweaks
https://github.com/rust-lang/rust/pull/57916
simplify ConstValue::ScalarPair
https://github.com/rust-lang/rust/pull/57442
mark str::trim* functions as #[must_use]
https://github.com/rust-lang/rust/pull/57106
override VecDeque's Iter::try_fold
https://github.com/rust-lang/rust/pull/57974
introduce into_raw_non_null on Rc and Arc
https://github.com/rust-lang/rust/pull/57934
implement Weak::{strong_count, weak_count}
https://github.com/rust-lang/rust/pull/56696
rename iter::unfold to iter::from_fn and remove explicit state
https://github.com/rust-lang/rust/pull/58062
stabilize std::error::Error::type_id
https://github.com/rust-lang/rust/pull/58048
stabilize split_ascii_whitespace
https://github.com/rust-lang/rust/pull/58047
cargo: fix overlapping progress with stdout
https://github.com/rust-lang/cargo/pull/6618
cargo: improve progress bar flickering
https://github.com/rust-lang/cargo/pull/6615
HirIdification: add key HirId methods
https://github.com/rust-lang/rust/pull/58090
don't panic when accessing enum variant ctor using Self in match
https://github.com/rust-lang/rust/pull/58007
use LLVM intrinsics for saturating add/sub
https://github.com/rust-lang/rust/pull/58003
add MOVBE x86 CPU feature
https://github.com/rust-lang/rust/pull/57999
NVPTX target specification
https://github.com/rust-lang/rust/pull/57937
fix bug in integer range matching
https://github.com/rust-lang/rust/pull/57978
unused variable suggestions apply on all patterns
https://github.com/rust-lang/rust/pull/57899
add information to higher-ranked lifetimes conflicts error messages
https://github.com/rust-lang/rust/pull/57901
rustc: use multiple threads by default
https://github.com/rust-lang/rust/pull/57948
misc performance tweaks
https://github.com/rust-lang/rust/pull/57916
simplify ConstValue::ScalarPair
https://github.com/rust-lang/rust/pull/57442
mark str::trim* functions as #[must_use]
https://github.com/rust-lang/rust/pull/57106
override VecDeque's Iter::try_fold
https://github.com/rust-lang/rust/pull/57974
introduce into_raw_non_null on Rc and Arc
https://github.com/rust-lang/rust/pull/57934
implement Weak::{strong_count, weak_count}
https://github.com/rust-lang/rust/pull/56696
rename iter::unfold to iter::from_fn and remove explicit state
https://github.com/rust-lang/rust/pull/58062
stabilize std::error::Error::type_id
https://github.com/rust-lang/rust/pull/58048
stabilize split_ascii_whitespace
https://github.com/rust-lang/rust/pull/58047
cargo: fix overlapping progress with stdout
https://github.com/rust-lang/cargo/pull/6618
cargo: improve progress bar flickering
https://github.com/rust-lang/cargo/pull/6615
News
Cargo's next few years.
https://www.ncameron.org/blog/cargos-next-few-years/
The steps towards rustc, the great optimiser.
https://kazlauskas.me/entries/the-road-to-bestest-optimiser.html
Salsa: Incremental recompilation.
http://smallcultfollowing.com/babysteps/blog/2019/01/29/salsa-incremental-recompilation/
Collection of Rust hacks.
https://vorner.github.io/2019/02/03/hacks.html
Writing Neovim plugins in Rust.
https://medium.com/@srishanbhattarai/a-detailed-guide-to-writing-your-first-neovim-plugin-in-rust-a81604c606b1
osaka.rs - rust async without the noise.
https://aep.github.io/rust-async-without-the-noise/
Rust on iOS (and Android).
https://medium.com/visly/rust-on-ios-39f799b3c1dd
Rust: regretless concurrency.
https://medium.com/@polyglot_factotum/rust-regret-less-concurrency-2238b9e53333
Learning Rust via Advent of Code.
https://www.forrestthewoods.com/blog/learning-rust-via-advent-of-code/
Creating web-server .deb binary with rust.
https://gill.net.in/posts/creating-web-server-deb-binary-with-rust/
An introduction to the Rust programming language for Node developers.
https://twitter.com/PipoPeperoni/status/1092842843637456899
Cargo's next few years.
https://www.ncameron.org/blog/cargos-next-few-years/
The steps towards rustc, the great optimiser.
https://kazlauskas.me/entries/the-road-to-bestest-optimiser.html
Salsa: Incremental recompilation.
http://smallcultfollowing.com/babysteps/blog/2019/01/29/salsa-incremental-recompilation/
Collection of Rust hacks.
https://vorner.github.io/2019/02/03/hacks.html
Writing Neovim plugins in Rust.
https://medium.com/@srishanbhattarai/a-detailed-guide-to-writing-your-first-neovim-plugin-in-rust-a81604c606b1
osaka.rs - rust async without the noise.
https://aep.github.io/rust-async-without-the-noise/
Rust on iOS (and Android).
https://medium.com/visly/rust-on-ios-39f799b3c1dd
Rust: regretless concurrency.
https://medium.com/@polyglot_factotum/rust-regret-less-concurrency-2238b9e53333
Learning Rust via Advent of Code.
https://www.forrestthewoods.com/blog/learning-rust-via-advent-of-code/
Creating web-server .deb binary with rust.
https://gill.net.in/posts/creating-web-server-deb-binary-with-rust/
An introduction to the Rust programming language for Node developers.
https://twitter.com/PipoPeperoni/status/1092842843637456899
Crate of the week: log-derive
This week's crate is log-derive, a procedural macro to log function outputs. Thanks to elichai2 for the suggestion!
This week's crate is log-derive, a procedural macro to log function outputs. Thanks to elichai2 for the suggestion!
This week in Rust #273 — 12 feb 2019
https://this-week-in-rust.org/blog/2019/02/12/this-week-in-rust-273/
https://this-week-in-rust.org/blog/2019/02/12/this-week-in-rust-273/
Updates from core
Initial addition of the Embedded Rust Book.
https://github.com/rust-lang/rust/pull/56291
Add const generics to the AST.
https://github.com/rust-lang/rust/pull/58191
Error on duplicate matcher bindings.
https://github.com/rust-lang/rust/pull/57617
libc: RFC 2235 - Implement PartialEq,Eq,Hash,Debug for all types.
https://github.com/rust-lang/libc/pull/1217
Lower constant patterns with ascribed types.
https://github.com/rust-lang/rust/pull/58161
Make intern_lazy_const actually intern its argument.
https://github.com/rust-lang/rust/pull/58207
Avoid committing to autoderef in object method probing.
https://github.com/rust-lang/rust/pull/57885
Add #[must_use] to core::task::Poll.
https://github.com/rust-lang/rust/pull/58145
Add #[must_use] message to Fn* traits.
https://github.com/rust-lang/rust/pull/58262
Avoid some bounds checks in binary_heap::{PeekMut,Hole}.
https://github.com/rust-lang/rust/pull/58123
Make -Zdump-mir dump shims.
https://github.com/rust-lang/rust/pull/58103
Cargo: Bail when trying to run "test --doc --no-run".
https://github.com/rust-lang/cargo/pull/6628
Improve error message and docs for non-UTF-8 bytes in stdio on Windows.
https://github.com/rust-lang/rust/pull/58136
Move privacy checking later in the pipeline and make some passes run in parallel.
https://github.com/rust-lang/rust/pull/58010
Overhaul syntax::fold::Folder.
https://github.com/rust-lang/rust/pull/58061
Factor out error reporting from smart_resolve_path_fragment fn.
https://github.com/rust-lang/rust/pull/58065
Do not ICE in codegen when using a extern_type static.
https://github.com/rust-lang/rust/pull/58192
hir: add more HirId methods.
https://github.com/rust-lang/rust/pull/58139
Implement more detailed self profiling.
https://github.com/rust-lang/rust/pull/58085
Add a forever unstable opt-out of const qualification checks.
https://github.com/rust-lang/rust/pull/56123
Initial implementation of rustfixable unused_imports lint.
https://github.com/rust-lang/rust/pull/56645
Add a query type which is always marked as red if it runs.
https://github.com/rust-lang/rust/pull/57770
Don't try to clean predicates involving ReErased.
https://github.com/rust-lang/rust/pull/57851
Deduplicate mismatched delimiter errors.
https://github.com/rust-lang/rust/pull/57944
Add suggestion for duplicated import.
https://github.com/rust-lang/rust/pull/57973
Allow #[repr(align(x))] on enums.
https://github.com/rust-lang/rust/pull/57998
Initial addition of the Embedded Rust Book.
https://github.com/rust-lang/rust/pull/56291
Add const generics to the AST.
https://github.com/rust-lang/rust/pull/58191
Error on duplicate matcher bindings.
https://github.com/rust-lang/rust/pull/57617
libc: RFC 2235 - Implement PartialEq,Eq,Hash,Debug for all types.
https://github.com/rust-lang/libc/pull/1217
Lower constant patterns with ascribed types.
https://github.com/rust-lang/rust/pull/58161
Make intern_lazy_const actually intern its argument.
https://github.com/rust-lang/rust/pull/58207
Avoid committing to autoderef in object method probing.
https://github.com/rust-lang/rust/pull/57885
Add #[must_use] to core::task::Poll.
https://github.com/rust-lang/rust/pull/58145
Add #[must_use] message to Fn* traits.
https://github.com/rust-lang/rust/pull/58262
Avoid some bounds checks in binary_heap::{PeekMut,Hole}.
https://github.com/rust-lang/rust/pull/58123
Make -Zdump-mir dump shims.
https://github.com/rust-lang/rust/pull/58103
Cargo: Bail when trying to run "test --doc --no-run".
https://github.com/rust-lang/cargo/pull/6628
Improve error message and docs for non-UTF-8 bytes in stdio on Windows.
https://github.com/rust-lang/rust/pull/58136
Move privacy checking later in the pipeline and make some passes run in parallel.
https://github.com/rust-lang/rust/pull/58010
Overhaul syntax::fold::Folder.
https://github.com/rust-lang/rust/pull/58061
Factor out error reporting from smart_resolve_path_fragment fn.
https://github.com/rust-lang/rust/pull/58065
Do not ICE in codegen when using a extern_type static.
https://github.com/rust-lang/rust/pull/58192
hir: add more HirId methods.
https://github.com/rust-lang/rust/pull/58139
Implement more detailed self profiling.
https://github.com/rust-lang/rust/pull/58085
Add a forever unstable opt-out of const qualification checks.
https://github.com/rust-lang/rust/pull/56123
Initial implementation of rustfixable unused_imports lint.
https://github.com/rust-lang/rust/pull/56645
Add a query type which is always marked as red if it runs.
https://github.com/rust-lang/rust/pull/57770
Don't try to clean predicates involving ReErased.
https://github.com/rust-lang/rust/pull/57851
Deduplicate mismatched delimiter errors.
https://github.com/rust-lang/rust/pull/57944
Add suggestion for duplicated import.
https://github.com/rust-lang/rust/pull/57973
Allow #[repr(align(x))] on enums.
https://github.com/rust-lang/rust/pull/57998
News
Learning Rust in 2019.
https://www.ragona.com/posts/learning_rust_2019
A quick look at trait objects in Rust.
https://tratt.net/laurie/blog/entries/a_quick_look_at_trait_objects_in_rust.html
Allocations in Rust: An introduction to the memory model.
https://speice.io/2019/02/understanding-allocations-in-rust.html
Custom exit status codes with ? in main.
https://www.joshmcguigan.com/blog/custom-exit-status-codes-rust/
Rust: a unique perspective.
https://limpet.net/mbrubeck/2019/02/07/rust-a-unique-perspective.html
Rust on STM32: Blinking an LED.
https://jonathanklimt.de/electrics/programming/rust-STM32F103-blink/
Generators I: Toward a minimum viable product.
https://boats.gitlab.io/blog/post/generators-i/
Aturon retires from the Core Team (but not from Rust).
https://internals.rust-lang.org/t/aturon-retires-from-the-core-team-but-not-from-rust/9392
Rewriting stackcollapse-xdebug in Rust.
https://daniellockyer.com/rewriting-stackcollapse-xdebug/
Are you still using 'println' in Rust for debugging?
https://blog.knoldus.com/are-you-still-using-println-in-rust-for-debugging/
UCG+Miri All-Hands 2019 Recap.
https://www.ralfj.de/blog/2019/02/12/all-hands-recap.html
Learning Rust in 2019.
https://www.ragona.com/posts/learning_rust_2019
A quick look at trait objects in Rust.
https://tratt.net/laurie/blog/entries/a_quick_look_at_trait_objects_in_rust.html
Allocations in Rust: An introduction to the memory model.
https://speice.io/2019/02/understanding-allocations-in-rust.html
Custom exit status codes with ? in main.
https://www.joshmcguigan.com/blog/custom-exit-status-codes-rust/
Rust: a unique perspective.
https://limpet.net/mbrubeck/2019/02/07/rust-a-unique-perspective.html
Rust on STM32: Blinking an LED.
https://jonathanklimt.de/electrics/programming/rust-STM32F103-blink/
Generators I: Toward a minimum viable product.
https://boats.gitlab.io/blog/post/generators-i/
Aturon retires from the Core Team (but not from Rust).
https://internals.rust-lang.org/t/aturon-retires-from-the-core-team-but-not-from-rust/9392
Rewriting stackcollapse-xdebug in Rust.
https://daniellockyer.com/rewriting-stackcollapse-xdebug/
Are you still using 'println' in Rust for debugging?
https://blog.knoldus.com/are-you-still-using-println-in-rust-for-debugging/
UCG+Miri All-Hands 2019 Recap.
https://www.ralfj.de/blog/2019/02/12/all-hands-recap.html
Crate of the week: sysinfo
This week's crate is sysinfo, a system handler to get information and interact with processes. Thanks to GuillaumeGomez for the suggestion!
This week's crate is sysinfo, a system handler to get information and interact with processes. Thanks to GuillaumeGomez for the suggestion!
This week in Rust #274 — 19 feb 2019
https://this-week-in-rust.org/blog/2019/02/19/this-week-in-rust-274/
https://this-week-in-rust.org/blog/2019/02/19/this-week-in-rust-274/
Updates from core
Implement incremental "fat" LTO
https://github.com/rust-lang/rust/pull/58378
Enable comparing fat pointers
https://github.com/rust-lang/rust/pull/58301
impl iter() for dyn Error
https://github.com/rust-lang/rust/pull/58289
Improve the error messages for missing stability attributes
https://github.com/rust-lang/rust/pull/58276
Cut down on number formating code size
https://github.com/rust-lang/rust/pull/58272
Reduce the size of hir::Expr
https://github.com/rust-lang/rust/pull/58258
Make saturating_add and saturating_sub const functions
https://github.com/rust-lang/rust/pull/58246
Stabilize slice_sort_by_cached_key
https://github.com/rust-lang/rust/pull/58074
Stabilize str::escape_* methods with new return types
https://github.com/rust-lang/rust/pull/58051
Stabilize the time_checked_add feature
https://github.com/rust-lang/rust/pull/58034
Update the future/task API
https://github.com/rust-lang/rust/pull/57992
Speed up the fast path for assert_eq! and assert_ne!
https://github.com/rust-lang/rust/pull/57815
cargo: Stabilize Alternative Registries
https://github.com/rust-lang/cargo/pull/6654
Implement incremental "fat" LTO
https://github.com/rust-lang/rust/pull/58378
Enable comparing fat pointers
https://github.com/rust-lang/rust/pull/58301
impl iter() for dyn Error
https://github.com/rust-lang/rust/pull/58289
Improve the error messages for missing stability attributes
https://github.com/rust-lang/rust/pull/58276
Cut down on number formating code size
https://github.com/rust-lang/rust/pull/58272
Reduce the size of hir::Expr
https://github.com/rust-lang/rust/pull/58258
Make saturating_add and saturating_sub const functions
https://github.com/rust-lang/rust/pull/58246
Stabilize slice_sort_by_cached_key
https://github.com/rust-lang/rust/pull/58074
Stabilize str::escape_* methods with new return types
https://github.com/rust-lang/rust/pull/58051
Stabilize the time_checked_add feature
https://github.com/rust-lang/rust/pull/58034
Update the future/task API
https://github.com/rust-lang/rust/pull/57992
Speed up the fast path for assert_eq! and assert_ne!
https://github.com/rust-lang/rust/pull/57815
cargo: Stabilize Alternative Registries
https://github.com/rust-lang/cargo/pull/6654
News
Moving from Ruby to Rust.
https://deliveroo.engineering/2019/02/14/moving-from-ruby-to-rust.html
Rust lifetime visualization ideas.
https://blog.adamant-lang.org/2019/rust-lifetime-visualization-ideas/
Generators II: The question mark problem.
https://boats.gitlab.io/blog/post/generators-ii/
A list of itch.io games written in Rust.
https://itch.io/c/449652/rustlang-games
Cross-compiling Rust code to Minix.
https://iandouglasscott.com/2019/02/18/cross-compiling-rust-code-to-minix/
One hundred Rust PRs later.
https://phansch.net/2019/02/18/onehundred-rust-prs/
This week in Rust and WebAssembly 10.
https://rustwasm.github.io/2019/02/13/this-week-in-rust-and-wasm-010.html
Moving from Ruby to Rust.
https://deliveroo.engineering/2019/02/14/moving-from-ruby-to-rust.html
Rust lifetime visualization ideas.
https://blog.adamant-lang.org/2019/rust-lifetime-visualization-ideas/
Generators II: The question mark problem.
https://boats.gitlab.io/blog/post/generators-ii/
A list of itch.io games written in Rust.
https://itch.io/c/449652/rustlang-games
Cross-compiling Rust code to Minix.
https://iandouglasscott.com/2019/02/18/cross-compiling-rust-code-to-minix/
One hundred Rust PRs later.
https://phansch.net/2019/02/18/onehundred-rust-prs/
This week in Rust and WebAssembly 10.
https://rustwasm.github.io/2019/02/13/this-week-in-rust-and-wasm-010.html