Discord's new game store makes extensive use of Rust
https://twitter.com/ManishEarth/status/1027676698068713473
https://twitter.com/ManishEarth/status/1027676698068713473
Twitter
Who ordered *that*?
Discord's new game store makes significant use of Rust!!
Never patterns, exhaustive matching, and uninhabited types
http://smallcultfollowing.com/babysteps/blog/2018/08/13/never-patterns-exhaustive-matching-and-uninhabited-types-oh-my/
http://smallcultfollowing.com/babysteps/blog/2018/08/13/never-patterns-exhaustive-matching-and-uninhabited-types-oh-my/
Benchmarking gfx-portability versus MoltenVK and OpenGL with Dota2 on Mac
https://gfx-rs.github.io/2018/08/10/dota2-macos-performance.html
https://gfx-rs.github.io/2018/08/10/dota2-macos-performance.html
Tower Web — A new web framework for Rust
https://medium.com/@carllerche/tower-web-a-new-web-framework-for-rust-e2912856851b
https://medium.com/@carllerche/tower-web-a-new-web-framework-for-rust-e2912856851b
Medium
Tower Web — A new web framework for Rust
I previously announced Tower and mentioned that a web framework was in the works. It took longer than I had hoped (as it sometimes does…
The Xi text engine CRDT
https://github.com/google/xi-editor/blob/e8065a3993b80af0aadbca0e50602125d60e4e38/doc/crdt-details.md
https://github.com/google/xi-editor/blob/e8065a3993b80af0aadbca0e50602125d60e4e38/doc/crdt-details.md
GitHub
xi-editor/doc/crdt-details.md at e8065a3993b80af0aadbca0e50602125d60e4e38 · xi-editor/xi-editor
A modern editor with a backend written in Rust. Contribute to xi-editor/xi-editor development by creating an account on GitHub.
The Embedded WG newsletter 9
https://internals.rust-lang.org/t/the-embedded-working-group-newsletter-9/8185
https://internals.rust-lang.org/t/the-embedded-working-group-newsletter-9/8185
Rust Internals
The Embedded Working Group Newsletter - 9
2018-08-12 This is the eighth ninth newsletter of the Embedded WG where we highlight new progress, celebrate cool projects, thank the community, and advertise projects that need help! If you want to mention something in the next newsletter, make sure to…
This week in Rust #248 — 21 aug 2018
https://this-week-in-rust.org/blog/2018/08/21/this-week-in-rust-248/
https://this-week-in-rust.org/blog/2018/08/21/this-week-in-rust-248/
Updates from core
the Great Generics Generalisation: HIR Followup
https://github.com/rust-lang/rust/pull/51880
implement Unsized Rvalues
https://github.com/rust-lang/rust/pull/51131
add bare-metal aarch64 target
https://github.com/rust-lang/rust/pull/53233
debug_assert to ensure that from_raw_parts is only used properly aligned
https://github.com/rust-lang/rust/pull/52972
do not suggest conversion method that is already there
https://github.com/rust-lang/rust/pull/53406
export WASM table by default
https://github.com/rust-lang/rust/pull/53237
fix usage of wasm_target_feature
https://github.com/rust-lang/rust/pull/53321
syntax: enforce attribute grammar in the parser
https://github.com/rust-lang/rust/pull/53293
move SmallVector and ThinVec out of libsyntax
https://github.com/rust-lang/rust/pull/53085
resolve: crates only exist in the type namespace
https://github.com/rust-lang/rust/pull/53335
#[feature(uniform_paths)]: allow use x::y; to resolve through self::x, not just ::x
https://github.com/rust-lang/rust/pull/52923
Self in type definitions (RFC #2300)
https://github.com/rust-lang/rust/pull/53324
rustc_codegen_llvm: restore the closure env alloca hack for LLVM 5
https://github.com/rust-lang/rust/pull/53239
make LLVM emit assembly comments with -Z asm-comments
https://github.com/rust-lang/rust/pull/53290
unions are not always trivially dropable
https://github.com/rust-lang/rust/pull/53288
cause cycle err on inf trait normalization
https://github.com/rust-lang/rust/pull/53316
NLL: optimize reassignment immutable state
https://github.com/rust-lang/rust/pull/53258
speed up NLL with HybridIdxSetBuf
https://github.com/rust-lang/rust/pull/53383
TokenStream::extend (awesome speedups!)
https://github.com/rust-lang/rust/pull/53304
don't accept non-string literals for the format string in writeln
https://github.com/rust-lang/rust/pull/53256
add the identity function as core::convert::identity (RFC #2306)
https://github.com/rust-lang/rust/pull/47562
don't panic on std::env::vars() when env is null
https://github.com/rust-lang/rust/pull/53208
use target_pointer_width for BACKTRACE_ELF_SIZE
https://github.com/rust-lang/rust/pull/53377
non-naive implementation of VecDeque.append
https://github.com/rust-lang/rust/pull/52553
stabilize use_extern_macros
https://github.com/rust-lang/rust/pull/50911
the Great Generics Generalisation: HIR Followup
https://github.com/rust-lang/rust/pull/51880
implement Unsized Rvalues
https://github.com/rust-lang/rust/pull/51131
add bare-metal aarch64 target
https://github.com/rust-lang/rust/pull/53233
debug_assert to ensure that from_raw_parts is only used properly aligned
https://github.com/rust-lang/rust/pull/52972
do not suggest conversion method that is already there
https://github.com/rust-lang/rust/pull/53406
export WASM table by default
https://github.com/rust-lang/rust/pull/53237
fix usage of wasm_target_feature
https://github.com/rust-lang/rust/pull/53321
syntax: enforce attribute grammar in the parser
https://github.com/rust-lang/rust/pull/53293
move SmallVector and ThinVec out of libsyntax
https://github.com/rust-lang/rust/pull/53085
resolve: crates only exist in the type namespace
https://github.com/rust-lang/rust/pull/53335
#[feature(uniform_paths)]: allow use x::y; to resolve through self::x, not just ::x
https://github.com/rust-lang/rust/pull/52923
Self in type definitions (RFC #2300)
https://github.com/rust-lang/rust/pull/53324
rustc_codegen_llvm: restore the closure env alloca hack for LLVM 5
https://github.com/rust-lang/rust/pull/53239
make LLVM emit assembly comments with -Z asm-comments
https://github.com/rust-lang/rust/pull/53290
unions are not always trivially dropable
https://github.com/rust-lang/rust/pull/53288
cause cycle err on inf trait normalization
https://github.com/rust-lang/rust/pull/53316
NLL: optimize reassignment immutable state
https://github.com/rust-lang/rust/pull/53258
speed up NLL with HybridIdxSetBuf
https://github.com/rust-lang/rust/pull/53383
TokenStream::extend (awesome speedups!)
https://github.com/rust-lang/rust/pull/53304
don't accept non-string literals for the format string in writeln
https://github.com/rust-lang/rust/pull/53256
add the identity function as core::convert::identity (RFC #2306)
https://github.com/rust-lang/rust/pull/47562
don't panic on std::env::vars() when env is null
https://github.com/rust-lang/rust/pull/53208
use target_pointer_width for BACKTRACE_ELF_SIZE
https://github.com/rust-lang/rust/pull/53377
non-naive implementation of VecDeque.append
https://github.com/rust-lang/rust/pull/52553
stabilize use_extern_macros
https://github.com/rust-lang/rust/pull/50911
News
Announcing Rust 2018 Preview 2
https://internals.rust-lang.org/t/annoucning-rust-2018-preview-2/8218
Announcing the RLS 1.0 release candidate
https://www.ncameron.org/blog/rls-1-0-release-candidate/
How Rust’s standard library was vulnerable for years and nobody noticed
https://medium.com/@shnatsel/how-rusts-standard-library-was-vulnerable-for-years-and-nobody-noticed-aebf0503c3d6
Safe partial initialization in Rust
https://scottjmaddox.github.io/Safe-partial-initialization-in-Rust/
With undefined behavior, anything is possible
https://raphlinus.github.io/programming/rust/2018/08/17/undefined-behavior.html
Rust GraphQL webserver with Warp, Juniper, and MongoDB
http://alex.amiran.it/post/2018-08-16-rust-graphql-webserver-with-warp-juniper-and-mongodb.html
Programming Servo: Anatomy of a fetch
https://medium.com/programming-servo/anatomy-of-a-fetch-8872a5c843cd
Thanks for asking. An analysis of questions that are asked on r/rust subreddit
https://llogiq.github.io/2018/08/16/ask.html
This week in Rust and WebAssembly 6
https://rustwasm.github.io/2018/08/14/this-week-in-rust-wasm-006.html
[podcast] New Rustacean news: Rust 1.28
https://newrustacean.com/show_notes/news/rust_1_28/
Announcing Rust 2018 Preview 2
https://internals.rust-lang.org/t/annoucning-rust-2018-preview-2/8218
Announcing the RLS 1.0 release candidate
https://www.ncameron.org/blog/rls-1-0-release-candidate/
How Rust’s standard library was vulnerable for years and nobody noticed
https://medium.com/@shnatsel/how-rusts-standard-library-was-vulnerable-for-years-and-nobody-noticed-aebf0503c3d6
Safe partial initialization in Rust
https://scottjmaddox.github.io/Safe-partial-initialization-in-Rust/
With undefined behavior, anything is possible
https://raphlinus.github.io/programming/rust/2018/08/17/undefined-behavior.html
Rust GraphQL webserver with Warp, Juniper, and MongoDB
http://alex.amiran.it/post/2018-08-16-rust-graphql-webserver-with-warp-juniper-and-mongodb.html
Programming Servo: Anatomy of a fetch
https://medium.com/programming-servo/anatomy-of-a-fetch-8872a5c843cd
Thanks for asking. An analysis of questions that are asked on r/rust subreddit
https://llogiq.github.io/2018/08/16/ask.html
This week in Rust and WebAssembly 6
https://rustwasm.github.io/2018/08/14/this-week-in-rust-wasm-006.html
[podcast] New Rustacean news: Rust 1.28
https://newrustacean.com/show_notes/news/rust_1_28/
Crate of the week: wasm-bindgen-futures
This week's crate is wasm-bindgen-futures, a crate to make ECMAScript promises and Rust futures interoperate. Thanks to Vikrant for the suggestion!
This week's crate is wasm-bindgen-futures, a crate to make ECMAScript promises and Rust futures interoperate. Thanks to Vikrant for the suggestion!
This week in Rust #249 — 28 aug 2018
https://this-week-in-rust.org/blog/2018/08/28/this-week-in-rust-249/
https://this-week-in-rust.org/blog/2018/08/28/this-week-in-rust-249/
Updates from core
Stablize Iterator::find_map
https://github.com/rust-lang/rust/pull/53385
Stabilise raw_identifiers feature
https://github.com/rust-lang/rust/pull/53236
Stabilize 'attr_literals' feature
https://github.com/rust-lang/rust/pull/53044
Exhaustive integer matching
https://github.com/rust-lang/rust/pull/50912
Unify E0243, E0244, E0087, E0088, E0089, and E0090 into E0107
https://github.com/rust-lang/rust/pull/53584
Change Rc::inc_{weak,strong} to better hint optimization to LLVM
https://github.com/rust-lang/rust/pull/53080
add #[panic_handler]; deprecate #[panic_implementation]
https://github.com/rust-lang/rust/pull/53619
wasm: remove --strip-debug argument to LLD
https://github.com/rust-lang/rust/pull/53434
resolve: overhaul #![feature(uniform_paths)] error reporting
https://github.com/rust-lang/rust/pull/53427
visit all attributes for feature collection
https://github.com/rust-lang/rust/pull/53397
{to,from}_{ne,le,be}_bytes for unsigned integer types
https://github.com/rust-lang/rust/pull/53358
fix error for unsized packed struct field
https://github.com/rust-lang/rust/pull/53342
various changes to rustc_on_unimplemented
https://github.com/rust-lang/rust/pull/53295
implement Iterator::size_hint for Elaborator
https://github.com/rust-lang/rust/pull/52858
Fix unsoundness for VecDeque
https://github.com/rust-lang/rust/pull/53571
Use optimized SmallVec implementation
https://github.com/rust-lang/rust/pull/53384
Feature gate where clauses on associated type impls
https://github.com/rust-lang/rust/pull/53235
resolve suggestions should use crate:: when enabled
https://github.com/rust-lang/rust/pull/51456
Allow panicking with string literal messages inside constants
https://github.com/rust-lang/rust/pull/52011
Implement try block expressions
https://github.com/rust-lang/rust/pull/52602
Stabilize a few secondary macro features
https://github.com/rust-lang/rust/pull/53459
Merge IdxSet and IdxSetBuf
https://github.com/rust-lang/rust/pull/53520
syntax: Optimize some literal parsing
https://github.com/rust-lang/rust/pull/53521
Buffer LLVM's object output stream
https://github.com/rust-lang/rust/pull/53524
Fix NLL ICEs
https://github.com/rust-lang/rust/pull/53580
Rename TyVariants and variants
https://github.com/rust-lang/rust/pull/53581
Use SmallVec for SmallCStr
https://github.com/rust-lang/rust/pull/53644
Stablize Iterator::find_map
https://github.com/rust-lang/rust/pull/53385
Stabilise raw_identifiers feature
https://github.com/rust-lang/rust/pull/53236
Stabilize 'attr_literals' feature
https://github.com/rust-lang/rust/pull/53044
Exhaustive integer matching
https://github.com/rust-lang/rust/pull/50912
Unify E0243, E0244, E0087, E0088, E0089, and E0090 into E0107
https://github.com/rust-lang/rust/pull/53584
Change Rc::inc_{weak,strong} to better hint optimization to LLVM
https://github.com/rust-lang/rust/pull/53080
add #[panic_handler]; deprecate #[panic_implementation]
https://github.com/rust-lang/rust/pull/53619
wasm: remove --strip-debug argument to LLD
https://github.com/rust-lang/rust/pull/53434
resolve: overhaul #![feature(uniform_paths)] error reporting
https://github.com/rust-lang/rust/pull/53427
visit all attributes for feature collection
https://github.com/rust-lang/rust/pull/53397
{to,from}_{ne,le,be}_bytes for unsigned integer types
https://github.com/rust-lang/rust/pull/53358
fix error for unsized packed struct field
https://github.com/rust-lang/rust/pull/53342
various changes to rustc_on_unimplemented
https://github.com/rust-lang/rust/pull/53295
implement Iterator::size_hint for Elaborator
https://github.com/rust-lang/rust/pull/52858
Fix unsoundness for VecDeque
https://github.com/rust-lang/rust/pull/53571
Use optimized SmallVec implementation
https://github.com/rust-lang/rust/pull/53384
Feature gate where clauses on associated type impls
https://github.com/rust-lang/rust/pull/53235
resolve suggestions should use crate:: when enabled
https://github.com/rust-lang/rust/pull/51456
Allow panicking with string literal messages inside constants
https://github.com/rust-lang/rust/pull/52011
Implement try block expressions
https://github.com/rust-lang/rust/pull/52602
Stabilize a few secondary macro features
https://github.com/rust-lang/rust/pull/53459
Merge IdxSet and IdxSetBuf
https://github.com/rust-lang/rust/pull/53520
syntax: Optimize some literal parsing
https://github.com/rust-lang/rust/pull/53521
Buffer LLVM's object output stream
https://github.com/rust-lang/rust/pull/53524
Fix NLL ICEs
https://github.com/rust-lang/rust/pull/53580
Rename TyVariants and variants
https://github.com/rust-lang/rust/pull/53581
Use SmallVec for SmallCStr
https://github.com/rust-lang/rust/pull/53644
News
Experimental async / await support for Tokio
https://tokio.rs/blog/2018-08-async-await/
Nightly Rust is switching to use LLD (LLVM's new built-in linker) as the default linker for ARM microcontrollers
https://rust-embedded.github.io/blog/2018-08-2x-psa-cortex-m-breakage/
CVE-2018-1000657: buffer overflow in VecDeque::reserve() in Rust 1.3 through 1.21 allows arbitrary code execution
https://www.reddit.com/r/rust/comments/9926jq/cve20181000657_buffer_overflow_in_vecdequereserve/
More on the RLS and a 1.0 release
https://www.ncameron.org/blog/more-on-the-rls-and-a-1-0-release/
Another look at the pinning API
https://boats.gitlab.io/blog/post/rethinking-pin/
Oxidizing sourmash: Python and FFI
https://blog.luizirber.org/2018/08/23/sourmash-rust/
Reading files quickly in Rust
https://boyter.org/posts/reading-files-quickly-in-rust/
Calling C# natively from Rust
https://medium.com/@chyyran/calling-c-natively-from-rust-1f92c506289d
Programming Servo: the makings of a task-queue
https://medium.com/programming-servo/programming-servo-the-makings-of-a-task-queue-b4138cd246ca
Programming Servo: The debug way
https://medium.com/coding-neutrino-blog/programming-servo-the-debug-way-5db01f09b7f4
Easy proc_macro_derives with synstructure
https://llogiq.github.io/2018/08/25/synstruct.html
Two kinds of invariants, proposing rules for unsafe code concerning uninitialized data
https://www.ralfj.de/blog/2018/08/22/two-kinds-of-invariants.html
Next Rust Fest to take place in Rome on 24 and 25 November
https://blog.rustfest.eu/next-stop-rome
Experimental async / await support for Tokio
https://tokio.rs/blog/2018-08-async-await/
Nightly Rust is switching to use LLD (LLVM's new built-in linker) as the default linker for ARM microcontrollers
https://rust-embedded.github.io/blog/2018-08-2x-psa-cortex-m-breakage/
CVE-2018-1000657: buffer overflow in VecDeque::reserve() in Rust 1.3 through 1.21 allows arbitrary code execution
https://www.reddit.com/r/rust/comments/9926jq/cve20181000657_buffer_overflow_in_vecdequereserve/
More on the RLS and a 1.0 release
https://www.ncameron.org/blog/more-on-the-rls-and-a-1-0-release/
Another look at the pinning API
https://boats.gitlab.io/blog/post/rethinking-pin/
Oxidizing sourmash: Python and FFI
https://blog.luizirber.org/2018/08/23/sourmash-rust/
Reading files quickly in Rust
https://boyter.org/posts/reading-files-quickly-in-rust/
Calling C# natively from Rust
https://medium.com/@chyyran/calling-c-natively-from-rust-1f92c506289d
Programming Servo: the makings of a task-queue
https://medium.com/programming-servo/programming-servo-the-makings-of-a-task-queue-b4138cd246ca
Programming Servo: The debug way
https://medium.com/coding-neutrino-blog/programming-servo-the-debug-way-5db01f09b7f4
Easy proc_macro_derives with synstructure
https://llogiq.github.io/2018/08/25/synstruct.html
Two kinds of invariants, proposing rules for unsafe code concerning uninitialized data
https://www.ralfj.de/blog/2018/08/22/two-kinds-of-invariants.html
Next Rust Fest to take place in Rome on 24 and 25 November
https://blog.rustfest.eu/next-stop-rome
Crate of the week: generational-arena
This week's crate is generational-arena, a safe arena allocator that allows deletion without suffering from the ABA problem by using generational indices. Thanks to Willi Kappler for the suggestion!
This week's crate is generational-arena, a safe arena allocator that allows deletion without suffering from the ABA problem by using generational indices. Thanks to Willi Kappler for the suggestion!
This week in Rust #250 — 04 sep 2018
https://this-week-in-rust.org/blog/2018/09/04/this-week-in-rust-250/
https://this-week-in-rust.org/blog/2018/09/04/this-week-in-rust-250/
Updates from core
enable ThinLTO with incremental compilation
https://github.com/rust-lang/rust/pull/53673
build LLVM with ThinLTO enabled (2nd attempt)
https://github.com/rust-lang/rust/pull/53245
update LLVM submodule (mainly WASM improvements)
https://github.com/rust-lang/rust/pull/53611
ADD more Cortex-R targets
https://github.com/rust-lang/rust/pull/53679
change the default linker of the ARM Cortex-M targets to rust-lld
https://github.com/rust-lang/rust/pull/53648
begin preparation for Rust 2018
https://github.com/rust-lang/crates.io/pull/1467
fix promotion stability hole in old borrowck
https://github.com/rust-lang/rust/pull/53699
Miri engine cleanup
https://github.com/rust-lang/rust/pull/53671
Miri refactor: Final round
https://github.com/rust-lang/rust/pull/53779
use partial but correct vtable layout
https://github.com/rust-lang/rust/pull/53757
replace AccumulateVec by SmallVec
https://github.com/rust-lang/rust/pull/53659
HybridIdxSet tweaks
https://github.com/rust-lang/rust/pull/53656
NLL: experiment with inverting liveness
https://github.com/rust-lang/rust/pull/53314
fix NLL ICEs
https://github.com/rust-lang/rust/pull/53580
set rustfix auto-applicability for a few lints
https://github.com/rust-lang/rust/pull/53655
use FxHash{Map, Set} instead of the default Hash{Map, Set}
https://github.com/rust-lang/rust/pull/53472
various small diagnostic and code clean up
https://github.com/rust-lang/rust/pull/53842
save-analysis: record info for the types in where clauses
https://github.com/rust-lang/rust/pull/53838
fix u32 steps_between for 16-bit systems
https://github.com/rust-lang/rust/pull/53755
reduce number of syscalls in rand
https://github.com/rust-lang/rust/pull/53725
reoptimize VecDeque::append
https://github.com/rust-lang/rust/pull/53564
add more const int ops
https://github.com/rust-lang/rust/pull/53697
make std::intrinsics::transmute() const fn
https://github.com/rust-lang/rust/pull/53535
impl PartialEq for TryFromIntError
https://github.com/rust-lang/rust/pull/53476
add --allow-staged to cargo fix
https://github.com/rust-lang/cargo/pull/5943
add rust-gdbgui noscript
https://github.com/rust-lang/rust/pull/53774
set cfg(rustdoc) when rustdoc is running on a crate
https://github.com/rust-lang/rust/pull/53076
rustbuild: distribute libLLVM.so with rustc
https://github.com/rust-lang/rust/pull/53828
enable ThinLTO with incremental compilation
https://github.com/rust-lang/rust/pull/53673
build LLVM with ThinLTO enabled (2nd attempt)
https://github.com/rust-lang/rust/pull/53245
update LLVM submodule (mainly WASM improvements)
https://github.com/rust-lang/rust/pull/53611
ADD more Cortex-R targets
https://github.com/rust-lang/rust/pull/53679
change the default linker of the ARM Cortex-M targets to rust-lld
https://github.com/rust-lang/rust/pull/53648
begin preparation for Rust 2018
https://github.com/rust-lang/crates.io/pull/1467
fix promotion stability hole in old borrowck
https://github.com/rust-lang/rust/pull/53699
Miri engine cleanup
https://github.com/rust-lang/rust/pull/53671
Miri refactor: Final round
https://github.com/rust-lang/rust/pull/53779
use partial but correct vtable layout
https://github.com/rust-lang/rust/pull/53757
replace AccumulateVec by SmallVec
https://github.com/rust-lang/rust/pull/53659
HybridIdxSet tweaks
https://github.com/rust-lang/rust/pull/53656
NLL: experiment with inverting liveness
https://github.com/rust-lang/rust/pull/53314
fix NLL ICEs
https://github.com/rust-lang/rust/pull/53580
set rustfix auto-applicability for a few lints
https://github.com/rust-lang/rust/pull/53655
use FxHash{Map, Set} instead of the default Hash{Map, Set}
https://github.com/rust-lang/rust/pull/53472
various small diagnostic and code clean up
https://github.com/rust-lang/rust/pull/53842
save-analysis: record info for the types in where clauses
https://github.com/rust-lang/rust/pull/53838
fix u32 steps_between for 16-bit systems
https://github.com/rust-lang/rust/pull/53755
reduce number of syscalls in rand
https://github.com/rust-lang/rust/pull/53725
reoptimize VecDeque::append
https://github.com/rust-lang/rust/pull/53564
add more const int ops
https://github.com/rust-lang/rust/pull/53697
make std::intrinsics::transmute() const fn
https://github.com/rust-lang/rust/pull/53535
impl PartialEq for TryFromIntError
https://github.com/rust-lang/rust/pull/53476
add --allow-staged to cargo fix
https://github.com/rust-lang/cargo/pull/5943
add rust-gdbgui noscript
https://github.com/rust-lang/rust/pull/53774
set cfg(rustdoc) when rustdoc is running on a crate
https://github.com/rust-lang/rust/pull/53076
rustbuild: distribute libLLVM.so with rustc
https://github.com/rust-lang/rust/pull/53828