#asyncrust — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #asyncrust, aggregated by home.social.
-
Building on FUSE in Rust tends to involve a lot of boilerplate. libfuse-fs is an attempt to change that - trait-based abstractions, async I/O, overlay and passthrough support out of the box.
At Oxidize 2026, Ruiji Yu (Nanjing University) covers the design and lessons from real integrations: monorepo access and container image building.
🔗 https://oxidizeconf.com/sessions/libfuse_fs_a_ready_to_use_filesystem_library_based_on_fuse
#Oxidize2026 #RustLang #FUSE #Filesystem #AsyncRust #SystemsProgramming
-
Building on FUSE in Rust tends to involve a lot of boilerplate. libfuse-fs is an attempt to change that - trait-based abstractions, async I/O, overlay and passthrough support out of the box.
At Oxidize 2026, Ruiji Yu (Nanjing University) covers the design and lessons from real integrations: monorepo access and container image building.
🔗 https://oxidizeconf.com/sessions/libfuse_fs_a_ready_to_use_filesystem_library_based_on_fuse
#Oxidize2026 #RustLang #FUSE #Filesystem #AsyncRust #SystemsProgramming
-
@walterjizz IMO, message passing concurrency is way more flexible in the long run, so I'd go with that.
@PuercoPop Newer versions of tokio now come with a LocalRuntime, which allows spawning of !Send + !Sync Futures (unfortunately, they still need to be 'static, though😐):
https://docs.rs/tokio/latest/tokio/runtime/struct.LocalRuntime.html#method.spawn_localI'm probably biased, but I really like smol, because it is very flexible, e.g. your Futures don't even need to be 'static:
https://docs.rs/smol/latest/smol/struct.LocalExecutor.html#method.spawn -
@walterjizz IMO, message passing concurrency is way more flexible in the long run, so I'd go with that.
@PuercoPop Newer versions of tokio now come with a LocalRuntime, which allows spawning of !Send + !Sync Futures (unfortunately, they still need to be 'static, though😐):
https://docs.rs/tokio/latest/tokio/runtime/struct.LocalRuntime.html#method.spawn_localI'm probably biased, but I really like smol, because it is very flexible, e.g. your Futures don't even need to be 'static:
https://docs.rs/smol/latest/smol/struct.LocalExecutor.html#method.spawn -
Fuzzing finds bugs in Rust code - reliably so. But async Rust has largely stayed out of reach with its complexity making it hard for fuzzers to explore meaningfully.
At Oxidize 2026, Morgan Hill (@pcwizz) walks through what it takes to actually fuzz async Rust: the naive approaches that don't work, and an involved technique that does - involving LibAFL, user mode QEMU, and a fair amount of head scratching.
🔗 https://oxidizeconf.com/sessions/awaiting_exploitation
#Oxidize2026 #RustLang #Fuzzing #SecurityResearch #AsyncRust
-
Fuzzing finds bugs in Rust code - reliably so. But async Rust has largely stayed out of reach with its complexity making it hard for fuzzers to explore meaningfully.
At Oxidize 2026, Morgan Hill (@pcwizz) walks through what it takes to actually fuzz async Rust: the naive approaches that don't work, and an involved technique that does - involving LibAFL, user mode QEMU, and a fair amount of head scratching.
🔗 https://oxidizeconf.com/sessions/awaiting_exploitation
#Oxidize2026 #RustLang #Fuzzing #SecurityResearch #AsyncRust
-
UwU - There is a new #Rust #book #bundle over at #HumbleBooksBundle :awesome:
https://www.humblebundle.com/books/rust-systems-programming-bundle-books
Amongst others, it contains the excellent "Asynchronous Programming in Rust" book by Carl Fredrik Samson, which I can highly recommend! 👍
-
UwU - There is a new #Rust #book #bundle over at #HumbleBooksBundle :awesome:
https://www.humblebundle.com/books/rust-systems-programming-bundle-books
Amongst others, it contains the excellent "Asynchronous Programming in Rust" book by Carl Fredrik Samson, which I can highly recommend! 👍
-
The promise of Async Rust often clashes with its current reality. This article argues that despite its potential, Async Rust remains in an MVP state, creating a 'two-tiered ecosystem' for developers. It highlights how Tokio's monoculture and the `Send + 'static` trap introduce significant complexity and overhead, often making traditional threading a more ergonomic and performant choice for common…
🤖 This post was AI-generated.
-
🚀 Async Rust: the eternal MVP, where dreams of a supercharged compiler go to die. 🤣 But hey, let's keep writing "executor agnostic" code while waiting for the real magic to happen. 🪄✨
https://tweedegolf.nl/en/blog/237/async-rust-never-left-the-mvp-state #AsyncRust #superchargedCompiler #executorAgnostic #codeMagic #HackerNews #ngated -
🚀 Async Rust: the eternal MVP, where dreams of a supercharged compiler go to die. 🤣 But hey, let's keep writing "executor agnostic" code while waiting for the real magic to happen. 🪄✨
https://tweedegolf.nl/en/blog/237/async-rust-never-left-the-mvp-state #AsyncRust #superchargedCompiler #executorAgnostic #codeMagic #HackerNews #ngated -
Tokio!
It's 'static + multithreaded-by-default requirement has created the myth that async #Rust is inherently difficult.
People should use `smol` more - here's why:
#Async Rust can be a pleasure to work with (without `Send + Sync + 'static`) - by Evan Schwartz:
https://emschwartz.me/async-rust-can-be-a-pleasure-to-work-with-without-send-sync-static/
-
Tokio!
It's 'static + multithreaded-by-default requirement has created the myth that async #Rust is inherently difficult.
People should use `smol` more - here's why:
#Async Rust can be a pleasure to work with (without `Send + Sync + 'static`) - by Evan Schwartz:
https://emschwartz.me/async-rust-can-be-a-pleasure-to-work-with-without-send-sync-static/
-
🚀✨ RustConf 2025: where we learn that "cancelling" async Rust is as easy as cancelling your gym membership—good luck with that! The article promises a thrilling ride through the labyrinth of #programming jargon, complete with links nobody asked for and slides only a mother could love. 🎢🗣️
https://sunshowers.io/posts/cancelling-async-rust/ #RustConf2025 #asyncRust #humor #techcommunity #HackerNews #ngated -
🚀✨ RustConf 2025: where we learn that "cancelling" async Rust is as easy as cancelling your gym membership—good luck with that! The article promises a thrilling ride through the labyrinth of #programming jargon, complete with links nobody asked for and slides only a mother could love. 🎢🗣️
https://sunshowers.io/posts/cancelling-async-rust/ #RustConf2025 #asyncRust #humor #techcommunity #HackerNews #ngated -
Ok, @calisti, I _think_, I've figured it out now (please read until the later parts of the toots as they are the most important)!🤓
Tldr; The `or` or `race` operators _on their own_ are not suitable for cancelling streams! One needs a `StopToken` or enum value _within the stream_ that signals cancellation/allows for short-circuiting.
1/?
-
Ok, @calisti, I _think_, I've figured it out now (please read until the later parts of the toots as they are the most important)!🤓
Tldr; The `or` or `race` operators _on their own_ are not suitable for cancelling streams! One needs a `StopToken` or enum value _within the stream_ that signals cancellation/allows for short-circuiting.
1/?
-
Hey #Rust,
how dare you look so elegant as a systems programming language! 💅
-
Hey #Rust,
how dare you look so elegant as a systems programming language! 💅
-
Second: Pinning helpers!
When doing async #Rust, there will be a point, where you'll get the ominous "Doesn't implement Unpin" error and "You need to pin your value".
First, learn about Pinning:
https://doc.rust-lang.org/std/pin/Like, _really_ learn and understand it:
https://fasterthanli.me/articles/pin-and-sufferingAnd then use smol's pin! macro and the `pin_project` crate:
https://docs.rs/pin-project/latest/pin_project/I might continue this thread with more insights I gain during this little project - stay tuned! 🙂
4/4?
-
Second: Pinning helpers!
When doing async #Rust, there will be a point, where you'll get the ominous "Doesn't implement Unpin" error and "You need to pin your value".
First, learn about Pinning:
https://doc.rust-lang.org/std/pin/Like, _really_ learn and understand it:
https://fasterthanli.me/articles/pin-and-sufferingAnd then use smol's pin! macro and the `pin_project` crate:
https://docs.rs/pin-project/latest/pin_project/I might continue this thread with more insights I gain during this little project - stay tuned! 🙂
4/4?
-
Async #Rust is actually awesome! :awesome:
The last few days I've built a prototype(!) of a global "Hotkey" system e.g.:
Press & Hold `LCtrl + Space`
=> an async stream starts and only finishes if:
- another key is pressed or
- one of the Hotkeys is releasedIf it is not clear by now: this is a state-machine, which fits _perfectly_ into Rust's #async model!
And the best part: This is actually _the first time_ I've ever touched async #RustLang! Such a pleasant experience!
1/?
-
Async #Rust is actually awesome! :awesome:
The last few days I've built a prototype(!) of a global "Hotkey" system e.g.:
Press & Hold `LCtrl + Space`
=> an async stream starts and only finishes if:
- another key is pressed or
- one of the Hotkeys is releasedIf it is not clear by now: this is a state-machine, which fits _perfectly_ into Rust's #async model!
And the best part: This is actually _the first time_ I've ever touched async #RustLang! Such a pleasant experience!
1/?
-
Last chance to sign up for workshops at #rustconf25, Sept 2 in Seattle: Learn Async Design Patterns, Async Fundamentals, or Rust at the Edge from experts. Register before seats sell out! Some only have ONE seat remaining. https://ti.to/rustconf/2025?source=mastodon
#RustConf #AsyncRust #AI #rustlang -
Last chance to sign up for workshops at #rustconf25, Sept 2 in Seattle: Learn Async Design Patterns, Async Fundamentals, or Rust at the Edge from experts. Register before seats sell out! Some only have ONE seat remaining. https://ti.to/rustconf/2025?source=mastodon
#RustConf #AsyncRust #AI #rustlang -
Small classes. Expert instructors. Practical skills you can use immediately. Join Async Day at #rustconf25, Sept 2 in Seattle: Async Design Patterns, Async Rust & C++, Async Fundamentals, and Rust at the Edge. Sign up! https://ti.to/rustconf/2025?source=mastodon
-
Small classes. Expert instructors. Practical skills you can use immediately. Join Async Day at #rustconf25, Sept 2 in Seattle: Async Design Patterns, Async Rust & C++, Async Fundamentals, and Rust at the Edge. Sign up! https://ti.to/rustconf/2025?source=mastodon
-
Get your hands dirty with Async Day @ #RustConf25!
Happening Sept 2, the day before RustConf kicks off, Async Day offers 3 expert-led workshops:
🧩 Async design patterns
🔀 Async Rust & C++
🚦 Async fundamentals (REST, gRPC & more)
It’s hands-on, small group learning. There’s an added fee, but the practical skills you’ll gain and the direct access to top instructors are priceless.
-
Get your hands dirty with Async Day @ #RustConf25!
Happening Sept 2, the day before RustConf kicks off, Async Day offers 3 expert-led workshops:
🧩 Async design patterns
🔀 Async Rust & C++
🚦 Async fundamentals (REST, gRPC & more)
It’s hands-on, small group learning. There’s an added fee, but the practical skills you’ll gain and the direct access to top instructors are priceless.
-
@noboilerplate THIS!
I think a lot of people inadvertently assume async #RustLang is so different from sync Rust, because the way it is - when in fact it's because of the (most popular) async runtime they're using.
We should look way more into alternative #async runtimes to #Tokio, e.g. smol:
https://floss.social/@janriemer/111669258656959538
#Smol allows you to use non-'static Futures by using a local executor:
https://floss.social/@janriemer/111669668856899636
It looks a lot more like "normal" #Rust.
-
@noboilerplate THIS!
I think a lot of people inadvertently assume async #RustLang is so different from sync Rust, because the way it is - when in fact it's because of the (most popular) async runtime they're using.
We should look way more into alternative #async runtimes to #Tokio, e.g. smol:
https://floss.social/@janriemer/111669258656959538
#Smol allows you to use non-'static Futures by using a local executor:
https://floss.social/@janriemer/111669668856899636
It looks a lot more like "normal" #Rust.
-
k23 (the Wasm OS) just got a shiny new async executor! But we need your help:
The executor is likely full of concurrency bugs, deadlocks and worse.So if you want to help out the project an absolute ton head over here and help get kasync tested:
https://github.com/JonasKruckenberg/k23/issues/464 -
k23 (the Wasm OS) just got a shiny new async executor! But we need your help:
The executor is likely full of concurrency bugs, deadlocks and worse.So if you want to help out the project an absolute ton head over here and help get kasync tested:
https://github.com/JonasKruckenberg/k23/issues/464 -
Oh, look! Another "Visual Journey" through Async Rust🚀, because reading verbose documentation just wasn't enough fun😜. Let's turn our brains to mush with pretty pictures while pretending we're not just scrolling GitHub like zombies🧟♂️.
https://github.com/alexpusch/rust-magic-patterns/blob/master/visual-journey-through-async-rust/Readme.md #VisualJourney #AsyncRust #RustProgramming #DeveloperHumor #GitHubZombies #HackerNews #ngated -
Oh, look! Another "Visual Journey" through Async Rust🚀, because reading verbose documentation just wasn't enough fun😜. Let's turn our brains to mush with pretty pictures while pretending we're not just scrolling GitHub like zombies🧟♂️.
https://github.com/alexpusch/rust-magic-patterns/blob/master/visual-journey-through-async-rust/Readme.md #VisualJourney #AsyncRust #RustProgramming #DeveloperHumor #GitHubZombies #HackerNews #ngated -
A Visual Journey Through Async Rust
#HackerNews #AsyncRust #VisualJourney #RustProgramming #TechEducation
-
A Visual Journey Through Async Rust
#HackerNews #AsyncRust #VisualJourney #RustProgramming #TechEducation
-
Ah, the noble quest to tame the wild beast of async Rust with the mystical powers of "deterministic simulation testing" 🤔. Because, naturally, the best way to debug a language that already gives you a headache is to throw more complex simulations at it. 🧠🔍 Surely, this will make everything clear as mud! 🌪️
https://s2.dev/blog/dst #asyncRust #deterministicTesting #debugging #programming #humor #HackerNews #ngated -
Ah, the noble quest to tame the wild beast of async Rust with the mystical powers of "deterministic simulation testing" 🤔. Because, naturally, the best way to debug a language that already gives you a headache is to throw more complex simulations at it. 🧠🔍 Surely, this will make everything clear as mud! 🌪️
https://s2.dev/blog/dst #asyncRust #deterministicTesting #debugging #programming #humor #HackerNews #ngated -
Is there a #rust crate that provides an "async timer"?
Basically a future wrapper that records the total busy and idle times of the future it wraps and then returns those times together with the ready result of the wrapped future.
-
Is there a #rust crate that provides an "async timer"?
Basically a future wrapper that records the total busy and idle times of the future it wraps and then returns those times together with the ready result of the wrapped future.
-
New blog post: A no-std, no-alloc asynchronous USB host stack in Rust for the RP2040, and what I learned while writing it:
https://pdh11.blogspot.com/2024/12/things-i-learned-writing-usb-host-stack.html
#RustLang #AsyncRust #rp2040 #embedded #rust -
New blog post: A no-std, no-alloc asynchronous USB host stack in Rust for the RP2040, and what I learned while writing it:
https://pdh11.blogspot.com/2024/12/things-i-learned-writing-usb-host-stack.html
#RustLang #AsyncRust #rp2040 #embedded #rust -
Did you know that the meaning of all the columns in Tokio Console is documented?
Someone asked about this today, and being able to point to the docs was great!
-
Did you know that the meaning of all the columns in Tokio Console is documented?
Someone asked about this today, and being able to point to the docs was great!
-
Async #Rust is not safe with io_uring | by Tzu Gwo
-
Async #Rust is not safe with io_uring | by Tzu Gwo
-
I wrote up a post on the size of Futures in #rustlang, why they can be big, why we care and how you can check the size.
This leads into the new instrumentation in Tokio 1.41.0 and new lints in Tokio Console 0.1.13.
And of course there's a link to the Clippy lint that can do much of this statically!
-
I wrote up a post on the size of Futures in #rustlang, why they can be big, why we care and how you can check the size.
This leads into the new instrumentation in Tokio 1.41.0 and new lints in Tokio Console 0.1.13.
And of course there's a link to the Clippy lint that can do much of this statically!
-
Just found myself writing a function with the signature fn control_transfer_ok_with<F: FnMut(&mut [u8]) -> usize>(
mut f: F,
) -> impl FnMut(
u8,
u8,
SetupPacket,
DataPhase,
) -> Pin<Box<dyn Future<Output = Result<usize, UsbError>>>> and am now going to go and touch grass for a bit, kthxbye. It cut 200 lines of boilerplate out of my unit tests, though! #rust #rustLang #asyncRust -
Just found myself writing a function with the signature fn control_transfer_ok_with<F: FnMut(&mut [u8]) -> usize>(
mut f: F,
) -> impl FnMut(
u8,
u8,
SetupPacket,
DataPhase,
) -> Pin<Box<dyn Future<Output = Result<usize, UsbError>>>> and am now going to go and touch grass for a bit, kthxbye. It cut 200 lines of boilerplate out of my unit tests, though! #rust #rustLang #asyncRust -
There's some new instrumentation in tokio 1.41.0 (released 2 days ago), which includes the size of the future driving every task.
In Tokio Console 0.1.13 (released half and hour ago), not only will you see this value, but there are 2 new lints which will warn you if your futures are perhaps a little too large.