News
Writing an OS in Rust: Updates in May 2019.
os.phil-opp.com
Unsafe Code Guidelines Reference now available online.
rust-lang.github.io
Actix-web 1.0 released.
actix/actix-web/blob/master/CHANGES.md
j4rs - calling Java code from Rust.
astonbitecode.github.io
The Governance WG is going public.
blog.rust-lang.org
Bzip2 in Rust - basic infrastructure and CRC32 computation.
people.gnome.org
Evoli - an official Amethyst showcase game.
amethyst.rs
Poking the macOS IO Kit with Rust.
svartalf.info
Writing an OS in Rust: Updates in May 2019.
os.phil-opp.com
Unsafe Code Guidelines Reference now available online.
rust-lang.github.io
Actix-web 1.0 released.
actix/actix-web/blob/master/CHANGES.md
j4rs - calling Java code from Rust.
astonbitecode.github.io
The Governance WG is going public.
blog.rust-lang.org
Bzip2 in Rust - basic infrastructure and CRC32 computation.
people.gnome.org
Evoli - an official Amethyst showcase game.
amethyst.rs
Poking the macOS IO Kit with Rust.
svartalf.info
Crate of the week: emu
This week's crate is emu, a Rust-based language for programming GPUs. Thanks to Caleb Winston for the suggestion!
This week's crate is emu, a Rust-based language for programming GPUs. Thanks to Caleb Winston for the suggestion!
This week in Rust #290 — 11 jun 2019
https://this-week-in-rust.org/blog/2019/06/11/this-week-in-rust-290/
https://this-week-in-rust.org/blog/2019/06/11/this-week-in-rust-290/
Updates from core
Stabilize Cell::from_mut and as_slice_of_cells.
rust-lang/rust/pull/61620
Stabilize #![feature(repr_align_enum)] in Rust 1.37.0.
rust-lang/rust/pull/61229
Implementation of RFC 2289 (associated_type_bounds).
rust-lang/rust/pull/57428
Import the cargo-vendor subcommand into Cargo.
rust-lang/cargo/pull/6869
Support ? Kleene macro operator in 2015.
rust-lang/rust/pull/60932
Add std::mem::take as suggested in #61129.
rust-lang/rust/pull/61130
Make tuple constructors real const fns.
rust-lang/rust/pull/61209
syntax: Remove Deref impl from Token.
rust-lang/rust/pull/61669
Make i*::signum a const fn.
rust-lang/rust/pull/61635
Remove useless allocations in macro_rules follow logic.
rust-lang/rust/pull/61646
Minimize use of #![feature(custom_attribute)].
rust-lang/rust/pull/61660
parser: Remove Deref impl from Parser.
rust-lang/rust/pull/61616
Change visit api.
rust-lang/rust/pull/61554
Don't allow using const fn arguments as "args_required_const".
rust-lang/rust/pull/61536
Support Rvalue::{Ref,Len} and Deref.
rust-lang/rust/pull/61532
Fix integer overflow in rotate_left.
rust-lang/rust/pull/61454
On TerminatorKind::DropAndReplace still handle unused_mut correctly.
rust-lang/rust/pull/61446
Use LLVM intrinsics for floating-point min/max.
rust-lang/rust/pull/61408
Add new diagnostic writer using annotate-snippet library.
rust-lang/rust/pull/61407
Add Bound::cloned().
rust-lang/rust/pull/61376
Refactor TypeVariableOrigin.
rust-lang/rust/pull/59331
Replace linear token counting macros with optimized implementation.
rust-lang/rust/pull/59600
Suggest using as_ref on *const T.
rust-lang/rust/pull/61444
Re-implement async fn drop order lowering.
rust-lang/rust/pull/61413
syntax: Keep token span as a part of Token.
rust-lang/rust/pull/61541
Stabilize Cell::from_mut and as_slice_of_cells.
rust-lang/rust/pull/61620
Stabilize #![feature(repr_align_enum)] in Rust 1.37.0.
rust-lang/rust/pull/61229
Implementation of RFC 2289 (associated_type_bounds).
rust-lang/rust/pull/57428
Import the cargo-vendor subcommand into Cargo.
rust-lang/cargo/pull/6869
Support ? Kleene macro operator in 2015.
rust-lang/rust/pull/60932
Add std::mem::take as suggested in #61129.
rust-lang/rust/pull/61130
Make tuple constructors real const fns.
rust-lang/rust/pull/61209
syntax: Remove Deref impl from Token.
rust-lang/rust/pull/61669
Make i*::signum a const fn.
rust-lang/rust/pull/61635
Remove useless allocations in macro_rules follow logic.
rust-lang/rust/pull/61646
Minimize use of #![feature(custom_attribute)].
rust-lang/rust/pull/61660
parser: Remove Deref impl from Parser.
rust-lang/rust/pull/61616
Change visit api.
rust-lang/rust/pull/61554
Don't allow using const fn arguments as "args_required_const".
rust-lang/rust/pull/61536
Support Rvalue::{Ref,Len} and Deref.
rust-lang/rust/pull/61532
Fix integer overflow in rotate_left.
rust-lang/rust/pull/61454
On TerminatorKind::DropAndReplace still handle unused_mut correctly.
rust-lang/rust/pull/61446
Use LLVM intrinsics for floating-point min/max.
rust-lang/rust/pull/61408
Add new diagnostic writer using annotate-snippet library.
rust-lang/rust/pull/61407
Add Bound::cloned().
rust-lang/rust/pull/61376
Refactor TypeVariableOrigin.
rust-lang/rust/pull/59331
Replace linear token counting macros with optimized implementation.
rust-lang/rust/pull/59600
Suggest using as_ref on *const T.
rust-lang/rust/pull/61444
Re-implement async fn drop order lowering.
rust-lang/rust/pull/61413
syntax: Keep token span as a part of Token.
rust-lang/rust/pull/61541
News
Sealed Rust - A plan to bring Rust to safety critical software domains.
ferrous-systems.com
Embedded WG: Embedded Rust in 2019.
rust-embedded.github.io
Nannou update - Vulkan, LASERs and more.
nannou.cc
Bzip2 to see revival under new maintainership, experimental porting to Rust.
www.phoronix.com
Auth web microservice with Rust using actix-web 1.0 - complete tutorial.
gill.net.in
How to use gtk-rs on Windows using the MSVC toolchain.
www.reddit.com
Hosting embedded Rust apps on Apache Mynewt with STM32 Blue Pill.
medium.com/@ly.lee
Speeding up builds and managing versions.
estada.ch
Sealed Rust - A plan to bring Rust to safety critical software domains.
ferrous-systems.com
Embedded WG: Embedded Rust in 2019.
rust-embedded.github.io
Nannou update - Vulkan, LASERs and more.
nannou.cc
Bzip2 to see revival under new maintainership, experimental porting to Rust.
www.phoronix.com
Auth web microservice with Rust using actix-web 1.0 - complete tutorial.
gill.net.in
How to use gtk-rs on Windows using the MSVC toolchain.
www.reddit.com
Hosting embedded Rust apps on Apache Mynewt with STM32 Blue Pill.
medium.com/@ly.lee
Speeding up builds and managing versions.
estada.ch
Crate of the week: uom
This week's crate is uom, Units of measurement is a crate that does automatic type-safe zero-cost dimensional analysis. Thanks to ehsanmok for the suggestion!
This week's crate is uom, Units of measurement is a crate that does automatic type-safe zero-cost dimensional analysis. Thanks to ehsanmok for the suggestion!
This week in Rust #291 — 18 jun 2019
https://this-week-in-rust.org/blog/2019/06/18/this-week-in-rust-291/
https://this-week-in-rust.org/blog/2019/06/18/this-week-in-rust-291/
Updates from core
Stabilize copy_within.
rust-lang/rust/pull/61398
Stabilize underscore_const_names in 1.37.0.
rust-lang/rust/pull/61347
Stabilize Option::xor.
rust-lang/rust/pull/60376
rustc: replace TyCtxt<'a, 'gcx, 'tcx> with TyCtxt<'gcx, 'tcx>.
rust-lang/rust/pull/61722
Unify all uses of 'gcx and 'tcx.
rust-lang/rust/pull/61817
Deprecate ONCE_INIT in future 1.38 release.
rust-lang/rust/pull/61757
Implement RFC 2645 (transparent enums and unions).
rust-lang/rust/pull/60463
Allow attributes in formal function parameters.
rust-lang/rust/pull/60669
Implement Clone::clone_from for Option and Result.
rust-lang/rust/pull/61348
Implement nth_back for Range(Inclusive).
rust-lang/rust/pull/61671
Use Symbol, Span in libfmt_macros.
rust-lang/rust/pull/61568
typeck: Fix const generic in repeat param ICE.
rust-lang/rust/pull/61698
Hygienize macros in the standard library.
rust-lang/rust/pull/61629
Optimize matches.
rust-lang/rust/pull/60730
When suggesting borrow, remove useless clones.
rust-lang/rust/pull/61143
lexer: Disallow bare CR in raw byte strings.
rust-lang/rust/pull/60793
Generator optimization: Overlap locals that never have storage live at the same time.
rust-lang/rust/pull/60187
Implement unchecked_{add,sub,mul} intrinsics.
rust-lang/miri/pull/776
Limit dylib symbols.
rust-lang/rust/pull/59752
Stabilize copy_within.
rust-lang/rust/pull/61398
Stabilize underscore_const_names in 1.37.0.
rust-lang/rust/pull/61347
Stabilize Option::xor.
rust-lang/rust/pull/60376
rustc: replace TyCtxt<'a, 'gcx, 'tcx> with TyCtxt<'gcx, 'tcx>.
rust-lang/rust/pull/61722
Unify all uses of 'gcx and 'tcx.
rust-lang/rust/pull/61817
Deprecate ONCE_INIT in future 1.38 release.
rust-lang/rust/pull/61757
Implement RFC 2645 (transparent enums and unions).
rust-lang/rust/pull/60463
Allow attributes in formal function parameters.
rust-lang/rust/pull/60669
Implement Clone::clone_from for Option and Result.
rust-lang/rust/pull/61348
Implement nth_back for Range(Inclusive).
rust-lang/rust/pull/61671
Use Symbol, Span in libfmt_macros.
rust-lang/rust/pull/61568
typeck: Fix const generic in repeat param ICE.
rust-lang/rust/pull/61698
Hygienize macros in the standard library.
rust-lang/rust/pull/61629
Optimize matches.
rust-lang/rust/pull/60730
When suggesting borrow, remove useless clones.
rust-lang/rust/pull/61143
lexer: Disallow bare CR in raw byte strings.
rust-lang/rust/pull/60793
Generator optimization: Overlap locals that never have storage live at the same time.
rust-lang/rust/pull/60187
Implement unchecked_{add,sub,mul} intrinsics.
rust-lang/miri/pull/776
Limit dylib symbols.
rust-lang/rust/pull/59752
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