News
gfx-rs: 5 year anniversary.
gfx-rs.github.io
Green threads explained in 200 lines of Rust.
cfsamson.gitbook.io
Facebook's new cryptocurrency Libra uses Rust.
developers.libra.org
Vimeo introduces support for AV1 using rav1e, a Rust library.
press.vimeo.com
Amethyst v0.11.0 released, now supporting gfx-hal with Rendy.
amethyst.rs
Bzip2 in Rust: porting the randomization table.
people.gnome.org
Building secure systems using RISC-V and Rust.
content.riscv.org
gfx-rs: 5 year anniversary.
gfx-rs.github.io
Green threads explained in 200 lines of Rust.
cfsamson.gitbook.io
Facebook's new cryptocurrency Libra uses Rust.
developers.libra.org
Vimeo introduces support for AV1 using rav1e, a Rust library.
press.vimeo.com
Amethyst v0.11.0 released, now supporting gfx-hal with Rendy.
amethyst.rs
Bzip2 in Rust: porting the randomization table.
people.gnome.org
Building secure systems using RISC-V and Rust.
content.riscv.org
Crate of the week: safe
This week's crate is safe, a #[safe] attribute for explaining why unsafe { ... } is OK. Thanks to Michael-F-Bryan for the suggestion!
This week's crate is safe, a #[safe] attribute for explaining why unsafe { ... } is OK. Thanks to Michael-F-Bryan for the suggestion!
This week in Rust #292 — 25 jun 2019
https://this-week-in-rust.org/blog/2019/06/25/this-week-in-rust-292/
https://this-week-in-rust.org/blog/2019/06/25/this-week-in-rust-292/
Updates from core
Introduce Let(..) in AST, remove IfLet + WhileLet and parse let chains
rust-lang/rust/pull/60861
Support cfg and cfg_attr on generic parameters
rust-lang/rust/pull/61547
librustc_data_structures: Speedup union of sparse and dense hybrid set
rust-lang/rust/pull/61020
Refactor miri pointer checks
rust-lang/rust/pull/62081
Help LLVM better optimize slice::Iter(Mut)::len
rust-lang/rust/pull/61885
Remove the default type of Rem::Output
rust-lang/rust/pull/61874
Make use of ptr::null(_mut) instead of casting zero
rust-lang/rust/pull/61864
Make MaybeUninit #[repr(transparent)]
rust-lang/rust/pull/61802
Implement nth_back for slice::{Iter, IterMut}
rust-lang/rust/pull/60772
Add custom nth_back to Skip
rust-lang/rust/pull/60454
Add functions for building raw slices to libcore
rust-lang/rust/pull/60667
rustdoc: Only show methods that appear in impl blocks in the Implementors sections of trait doc pages
rust-lang/rust/pull/61505
rustdoc: Generate implementors for all auto traits
rust-lang/rust/pull/60293
Introduce Let(..) in AST, remove IfLet + WhileLet and parse let chains
rust-lang/rust/pull/60861
Support cfg and cfg_attr on generic parameters
rust-lang/rust/pull/61547
librustc_data_structures: Speedup union of sparse and dense hybrid set
rust-lang/rust/pull/61020
Refactor miri pointer checks
rust-lang/rust/pull/62081
Help LLVM better optimize slice::Iter(Mut)::len
rust-lang/rust/pull/61885
Remove the default type of Rem::Output
rust-lang/rust/pull/61874
Make use of ptr::null(_mut) instead of casting zero
rust-lang/rust/pull/61864
Make MaybeUninit #[repr(transparent)]
rust-lang/rust/pull/61802
Implement nth_back for slice::{Iter, IterMut}
rust-lang/rust/pull/60772
Add custom nth_back to Skip
rust-lang/rust/pull/60454
Add functions for building raw slices to libcore
rust-lang/rust/pull/60667
rustdoc: Only show methods that appear in impl blocks in the Implementors sections of trait doc pages
rust-lang/rust/pull/61505
rustdoc: Generate implementors for all auto traits
rust-lang/rust/pull/60293
News
nom parser combinators 5.0 release: replace macros with functions, better errors.
unhandledexpression.com
The typestate pattern in Rust.
cliffle.com
Implementing ptrace for Redox OS - part 0.
www.redox-os.org
Let's build a JavaScript engine (in Rust).
2019.jsconf.eu
Real Time for the Masses (RTFM) goes multi-core.
blog.japaric.io
Rust streams.
blog.yoshuawuyts.com
Rust on the ESP32/ESP8266 and how to get started.
dentrassi.de
Rust for closed-source projects.
ntcore.com
swym: Are we lock-free yet?
mtak-blog.github.io
nom parser combinators 5.0 release: replace macros with functions, better errors.
unhandledexpression.com
The typestate pattern in Rust.
cliffle.com
Implementing ptrace for Redox OS - part 0.
www.redox-os.org
Let's build a JavaScript engine (in Rust).
2019.jsconf.eu
Real Time for the Masses (RTFM) goes multi-core.
blog.japaric.io
Rust streams.
blog.yoshuawuyts.com
Rust on the ESP32/ESP8266 and how to get started.
dentrassi.de
Rust for closed-source projects.
ntcore.com
swym: Are we lock-free yet?
mtak-blog.github.io
Crate of the week: winit
This week's crate is winit, a pure-rust cross-platform window initialization library. Thanks to Osspial for the suggestion!
This week's crate is winit, a pure-rust cross-platform window initialization library. Thanks to Osspial for the suggestion!
This week in Rust #293 — 02 jul 2019
https://this-week-in-rust.org/blog/2019/07/02/this-week-in-rust-293/
https://this-week-in-rust.org/blog/2019/07/02/this-week-in-rust-293/
Updates from core
Clean up query cache code
rust-lang/rust/pull/59722
Don't ICE on mutable zst slices
rust-lang/rust/pull/62094
syntax: Remove ast::Guard
rust-lang/rust/pull/62075
Always parse async unsafe fn + properly ban in 2015
rust-lang/rust/pull/62241
Call out explicitly that general read needs to be called with an initialized buffer
rust-lang/rust/pull/62102
Fix error counting
rust-lang/rust/pull/62055
Use ecx for const-prop local storage
rust-lang/rust/pull/62012
Fix HIR visit order
rust-lang/rust/pull/61572
Extend the #[must_use] lint to boxed types
rust-lang/rust/pull/62228
Extend the #[must_use] lint to arrays
rust-lang/rust/pull/62235
Clean up MIR drop generation
rust-lang/rust/pull/61872
Use a more efficient iteration order for backward dataflow
rust-lang/rust/pull/62063
Use a more efficient iteration order for forward dataflow
rust-lang/rust/pull/62062
save-analysis: Use buffered writes
rust-lang/rust/pull/62164
Remove FnBox
rust-lang/rust/pull/62043
rustdoc: Remove unused derives and variants
rust-lang/rust/pull/62224
rustdoc: Prevent panic when sysroot cannot be computed
rust-lang/rust/pull/61459
backtrace: More improvements to gimli support
rust-lang/backtrace-rs/pull/217
rustup: Switch to std::fs::read_to_string
rust-lang/rustup.rs/pull/1906
Clean up query cache code
rust-lang/rust/pull/59722
Don't ICE on mutable zst slices
rust-lang/rust/pull/62094
syntax: Remove ast::Guard
rust-lang/rust/pull/62075
Always parse async unsafe fn + properly ban in 2015
rust-lang/rust/pull/62241
Call out explicitly that general read needs to be called with an initialized buffer
rust-lang/rust/pull/62102
Fix error counting
rust-lang/rust/pull/62055
Use ecx for const-prop local storage
rust-lang/rust/pull/62012
Fix HIR visit order
rust-lang/rust/pull/61572
Extend the #[must_use] lint to boxed types
rust-lang/rust/pull/62228
Extend the #[must_use] lint to arrays
rust-lang/rust/pull/62235
Clean up MIR drop generation
rust-lang/rust/pull/61872
Use a more efficient iteration order for backward dataflow
rust-lang/rust/pull/62063
Use a more efficient iteration order for forward dataflow
rust-lang/rust/pull/62062
save-analysis: Use buffered writes
rust-lang/rust/pull/62164
Remove FnBox
rust-lang/rust/pull/62043
rustdoc: Remove unused derives and variants
rust-lang/rust/pull/62224
rustdoc: Prevent panic when sysroot cannot be computed
rust-lang/rust/pull/61459
backtrace: More improvements to gimli support
rust-lang/backtrace-rs/pull/217
rustup: Switch to std::fs::read_to_string
rust-lang/rustup.rs/pull/1906
News
Writing an OS in Rust: Heap allocation.
os.phil-opp.com
Non-lexical lifetimes arrives for everyone.
blog.pnkfx.org
Status of rust-analyzer: Achievements and Open Collective.
ferrous-systems.com
TLS performance: rustls versus OpenSSL.
jbp.io
Optimizing jieba-rs to be 33% faster than cppjieba.
blog.paulme.ng
Brave improves its ad-blocker performance by 69x with new engine implementation in Rust.
brave.com
Writing a small ray tracer in Rust and Zig.
nelari.us
Compiling Rust apps for Termux with nix-shell.
blog.geemili.xyz
Building crates so they look like C(ABI) libraries.
dev.to
Writing an OS in Rust: Heap allocation.
os.phil-opp.com
Non-lexical lifetimes arrives for everyone.
blog.pnkfx.org
Status of rust-analyzer: Achievements and Open Collective.
ferrous-systems.com
TLS performance: rustls versus OpenSSL.
jbp.io
Optimizing jieba-rs to be 33% faster than cppjieba.
blog.paulme.ng
Brave improves its ad-blocker performance by 69x with new engine implementation in Rust.
brave.com
Writing a small ray tracer in Rust and Zig.
nelari.us
Compiling Rust apps for Termux with nix-shell.
blog.geemili.xyz
Building crates so they look like C(ABI) libraries.
dev.to
Crate of the week: aljabar
This week's crate is aljabar, an extremely generic linear algebra libary. Thanks to Vikrant for the suggestion!
This week's crate is aljabar, an extremely generic linear algebra libary. Thanks to Vikrant for the suggestion!
This week in Rust #294 — 09 jul 2019
https://this-week-in-rust.org/blog/2019/07/09/this-week-in-rust-294/
https://this-week-in-rust.org/blog/2019/07/09/this-week-in-rust-294/
Updates from core
Stabilize support for Profile-guided Optimization (Hooray!)
rust-lang/rust/pull/61268
Break out of the correct number of scopes in loops
rust-lang/rust/pull/62388
Improve error span for async type inference error
rust-lang/rust/pull/62383
Remove hir::ExprKind::While
rust-lang/rust/pull/61988
Generalize impl trait to permit multiple lifetime bounds
rust-lang/rust/pull/61775
Support stability and deprecation checking for all macros
rust-lang/rust/pull/62042
Implement Option::contains and Result::contains
rust-lang/rust/pull/62356
implement Iterator::last via DoubleEndedIterator::next_back for some libcore types
rust-lang/rust/pull/62316
Add Vec::leak
rust-lang/rust/pull/62196
Implement mem::{zeroed, uninitialized} in terms of MaybeUninit
rust-lang/rust/pull/62150
nth_back for chunks_exact
rust-lang/rust/pull/62064
Only call the closure parameter of Iterator::is_sorted_by_key once per item
rust-lang/rust/pull/62473
Stabilize support for Profile-guided Optimization (Hooray!)
rust-lang/rust/pull/61268
Break out of the correct number of scopes in loops
rust-lang/rust/pull/62388
Improve error span for async type inference error
rust-lang/rust/pull/62383
Remove hir::ExprKind::While
rust-lang/rust/pull/61988
Generalize impl trait to permit multiple lifetime bounds
rust-lang/rust/pull/61775
Support stability and deprecation checking for all macros
rust-lang/rust/pull/62042
Implement Option::contains and Result::contains
rust-lang/rust/pull/62356
implement Iterator::last via DoubleEndedIterator::next_back for some libcore types
rust-lang/rust/pull/62316
Add Vec::leak
rust-lang/rust/pull/62196
Implement mem::{zeroed, uninitialized} in terms of MaybeUninit
rust-lang/rust/pull/62150
nth_back for chunks_exact
rust-lang/rust/pull/62064
Only call the closure parameter of Iterator::is_sorted_by_key once per item
rust-lang/rust/pull/62473
News
🎈🎉 Announcing Rust 1.36.0. 🎉🎈
blog.rust-lang.org
Async-await status report #2.
smallcultfollowing.com
Writing an OS in Rust: Updates in June 2019.
os.phil-opp.com
Method for emulating higher-kinded types in Rust.
https://gist.github.com/edmundsmith/855fcf0cb35dd467c29a9350481f0ecf
Speedy desktop apps with GTK and Rust.
nora.codes
Build a decentralized chat using JavaScript & Rust (WebAssembly).
medium.com/perlin-network
Safer, simpler embedded Rust with Apache Mynewt.
medium.com/@ly.lee
🎈🎉 Announcing Rust 1.36.0. 🎉🎈
blog.rust-lang.org
Async-await status report #2.
smallcultfollowing.com
Writing an OS in Rust: Updates in June 2019.
os.phil-opp.com
Method for emulating higher-kinded types in Rust.
https://gist.github.com/edmundsmith/855fcf0cb35dd467c29a9350481f0ecf
Speedy desktop apps with GTK and Rust.
nora.codes
Build a decentralized chat using JavaScript & Rust (WebAssembly).
medium.com/perlin-network
Safer, simpler embedded Rust with Apache Mynewt.
medium.com/@ly.lee
Crate of the week: Rustexp
This week's CotW is not a crate but Rustexp site, a Rust regular expression editor & tester.
Thanks to carols10cents for the suggestion!
This week's CotW is not a crate but Rustexp site, a Rust regular expression editor & tester.
Thanks to carols10cents for the suggestion!
This week in Rust #295 — 16 jul 2019
https://this-week-in-rust.org/blog/2019/07/16/this-week-in-rust-295/
https://this-week-in-rust.org/blog/2019/07/16/this-week-in-rust-295/
Updates from core
Use const generics for array impls [part 1]
rust-lang/rust/pull/62435
Update to LLVM 9 (ongoing work)
rust-lang/llvm-project/pull/19
Update LLVM: apply patch necessary for ThinLTO on RISC-V
rust-lang/rust/pull/62463
Use visitor for #[structural_match] check
rust-lang/rust/pull/62339
Normalize projections appearing in impl Trait
rust-lang/rust/pull/62221
typeck: Merge opaque type inference logic
rust-lang/rust/pull/62090
Fact generation for liveness calculations in Polonius
rust-lang/rust/pull/60266
Add key and value methods to DebugMap
rust-lang/rust/pull/60458
Add an AtomicCell abstraction
rust-lang/rust/pull/62577
Add messages to Option's and Result's must_use annotation for is_*
rust-lang/rust/pull/62431
Prevent Vec::drain_filter from double dropping on panic
rust-lang/rust/pull/61224
Add impl<T> FromIterator<T> for Arc/Rc<[T]>
rust-lang/rust/pull/61953
Add Iterator::partition_in_place() and is_partitioned()
rust-lang/rust/pull/62278
Use fold in Iterator::last default implementation
rust-lang/rust/pull/62481
rustc guide: Add humor appendix
rust-lang/rustc-guide/pull/350
Use const generics for array impls [part 1]
rust-lang/rust/pull/62435
Update to LLVM 9 (ongoing work)
rust-lang/llvm-project/pull/19
Update LLVM: apply patch necessary for ThinLTO on RISC-V
rust-lang/rust/pull/62463
Use visitor for #[structural_match] check
rust-lang/rust/pull/62339
Normalize projections appearing in impl Trait
rust-lang/rust/pull/62221
typeck: Merge opaque type inference logic
rust-lang/rust/pull/62090
Fact generation for liveness calculations in Polonius
rust-lang/rust/pull/60266
Add key and value methods to DebugMap
rust-lang/rust/pull/60458
Add an AtomicCell abstraction
rust-lang/rust/pull/62577
Add messages to Option's and Result's must_use annotation for is_*
rust-lang/rust/pull/62431
Prevent Vec::drain_filter from double dropping on panic
rust-lang/rust/pull/61224
Add impl<T> FromIterator<T> for Arc/Rc<[T]>
rust-lang/rust/pull/61953
Add Iterator::partition_in_place() and is_partitioned()
rust-lang/rust/pull/62278
Use fold in Iterator::last default implementation
rust-lang/rust/pull/62481
rustc guide: Add humor appendix
rust-lang/rustc-guide/pull/350
News
Microsoft Security Response Center endorses the use of Rust for safe systems programming.
msrc-blog.microsoft.com
How to speed up the Rust compiler in 2019.
blog.mozilla.org
"What the hardware does" is not what your program does: Uninitialized memory.
www.reddit.com
What is Rust's unsafe?
nora.codes
AiC: Unbounded queues and lang design.
smallcultfollowing.com
Creating a simple LISP in Rust.
willspeak.me
Announcing Rustacean Station and Rust 1.36.
rustacean-station.org
Rust as the new C. Part 1: building and combining native libs into C API.
hotforknowledge.com
New tools for 2D game development.
amethyst.rs
Fullstack Rust with Yew.
www.steadylearner.com
gfx-rs Javelin project kick-off.
gfx-rs.github.io
Visual programming in embedded Rust with Apache Mynewt and Google Blockly.
medium.com/@ly.lee
Stream combinators implemented using for await syntax.
www.reddit.com
Ferrous Systems: Rust Summer Classes in Berlin.
ferrous-systems.com
Tickets are now available RustFest Barcelona - 9-12 November 2019.
blog.rustfest.eu
Microsoft Security Response Center endorses the use of Rust for safe systems programming.
msrc-blog.microsoft.com
How to speed up the Rust compiler in 2019.
blog.mozilla.org
"What the hardware does" is not what your program does: Uninitialized memory.
www.reddit.com
What is Rust's unsafe?
nora.codes
AiC: Unbounded queues and lang design.
smallcultfollowing.com
Creating a simple LISP in Rust.
willspeak.me
Announcing Rustacean Station and Rust 1.36.
rustacean-station.org
Rust as the new C. Part 1: building and combining native libs into C API.
hotforknowledge.com
New tools for 2D game development.
amethyst.rs
Fullstack Rust with Yew.
www.steadylearner.com
gfx-rs Javelin project kick-off.
gfx-rs.github.io
Visual programming in embedded Rust with Apache Mynewt and Google Blockly.
medium.com/@ly.lee
Stream combinators implemented using for await syntax.
www.reddit.com
Ferrous Systems: Rust Summer Classes in Berlin.
ferrous-systems.com
Tickets are now available RustFest Barcelona - 9-12 November 2019.
blog.rustfest.eu
Crate of the week: overloadable
This week's crate is overloadable, a crate to provides you with the capabilities to overload your functions in a similar style to C# or C++, including support for meta attributes, type parameters and constraints, and visibility modifiers
Thanks to Stevensonmt for the suggestion!
This week's crate is overloadable, a crate to provides you with the capabilities to overload your functions in a similar style to C# or C++, including support for meta attributes, type parameters and constraints, and visibility modifiers
Thanks to Stevensonmt for the suggestion!
This week in Rust #296 — 23 jul 2019
https://this-week-in-rust.org/blog/2019/07/23/this-week-in-rust-296/
https://this-week-in-rust.org/blog/2019/07/23/this-week-in-rust-296/
Updates from core
The essence of lexer
rust-lang/rust/pull/59706
Implement RFC #2203
rust-lang/rust/pull/61749
Add meta-variable checks in macro definitions
rust-lang/rust/pull/62008
Stabilize <*mut _>::cast and <*const _>::cast
rust-lang/rust/pull/62713
Specific error for positional args after named args in format!()
rust-lang/rust/pull/62710
rustc_typeck: Improve diagnostics for -> _ fn return type
rust-lang/rust/pull/62694
Add info about undefined behavior to as_ref suggestions
rust-lang/rust/pull/62685
resolve: Improve candidate search for unresolved macro suggestions
rust-lang/rust/pull/62684
miri validation: Better error messages for dangling references
rust-lang/rust/pull/62673
Cancel unemitted diagnostics during error recovery
rust-lang/rust/pull/62666
Make VaListImpl<'f> invariant over 'f
rust-lang/rust/pull/62639
Add Option::expect_none(msg) and unwrap_none()
rust-lang/rust/pull/62596
stdarch: Add ARM Neon vmvn_/vmvnq_ bitwise not intrinsics
rust-lang/stdarch/pull/770
cargo: Add support for multiple --features options
rust-lang/cargo/pull/7084
cargo: Optimize runtime of #[cargo_test_macro]
rust-lang/cargo/pull/7146
The essence of lexer
rust-lang/rust/pull/59706
Implement RFC #2203
rust-lang/rust/pull/61749
Add meta-variable checks in macro definitions
rust-lang/rust/pull/62008
Stabilize <*mut _>::cast and <*const _>::cast
rust-lang/rust/pull/62713
Specific error for positional args after named args in format!()
rust-lang/rust/pull/62710
rustc_typeck: Improve diagnostics for -> _ fn return type
rust-lang/rust/pull/62694
Add info about undefined behavior to as_ref suggestions
rust-lang/rust/pull/62685
resolve: Improve candidate search for unresolved macro suggestions
rust-lang/rust/pull/62684
miri validation: Better error messages for dangling references
rust-lang/rust/pull/62673
Cancel unemitted diagnostics during error recovery
rust-lang/rust/pull/62666
Make VaListImpl<'f> invariant over 'f
rust-lang/rust/pull/62639
Add Option::expect_none(msg) and unwrap_none()
rust-lang/rust/pull/62596
stdarch: Add ARM Neon vmvn_/vmvnq_ bitwise not intrinsics
rust-lang/stdarch/pull/770
cargo: Add support for multiple --features options
rust-lang/cargo/pull/7084
cargo: Optimize runtime of #[cargo_test_macro]
rust-lang/cargo/pull/7146
News
U.S. House Committee on Financial Services hearing: Why was the Rust language chosen?
www.c-span.org
Microsoft Security Response Center: Why Rust for safe systems programming.
msrc-blog.microsoft.com
Compiler speed has improved 30-40% across the board year-to-date, with some projects seeing 45%+ improvements.
www.reddit.com
Perils of constructors.
matklad.github.io
Notes on a smaller Rust.
boats.gitlab.io
Announcing heim project.
svartalf.info
Gotham — from start to Heroku.
blog.codeship.com
How to write Full Stack Rust code.
www.steadylearner.com
HOWTO: Replace mem::uninitialized with mem::MaybeUninit.
www.reddit.com
Stream combinators implemented using for await syntax.
www.reddit.com
CLion Rust plugin adds a new experimental macro expansion engine.
www.jetbrains.com
U.S. House Committee on Financial Services hearing: Why was the Rust language chosen?
www.c-span.org
Microsoft Security Response Center: Why Rust for safe systems programming.
msrc-blog.microsoft.com
Compiler speed has improved 30-40% across the board year-to-date, with some projects seeing 45%+ improvements.
www.reddit.com
Perils of constructors.
matklad.github.io
Notes on a smaller Rust.
boats.gitlab.io
Announcing heim project.
svartalf.info
Gotham — from start to Heroku.
blog.codeship.com
How to write Full Stack Rust code.
www.steadylearner.com
HOWTO: Replace mem::uninitialized with mem::MaybeUninit.
www.reddit.com
Stream combinators implemented using for await syntax.
www.reddit.com
CLion Rust plugin adds a new experimental macro expansion engine.
www.jetbrains.com