home.social

#asyncrust — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #asyncrust, aggregated by home.social.

fetched live
  1. 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.

    🔗 oxidizeconf.com/sessions/libfu

    #Oxidize2026 #RustLang #FUSE #Filesystem #AsyncRust #SystemsProgramming

  2. 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.

    🔗 oxidizeconf.com/sessions/libfu

    #Oxidize2026 #RustLang #FUSE #Filesystem #AsyncRust #SystemsProgramming

  3. @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😐):
    docs.rs/tokio/latest/tokio/run

    I'm probably biased, but I really like smol, because it is very flexible, e.g. your Futures don't even need to be 'static:
    docs.rs/smol/latest/smol/struc

    #Tokio #Smol #Rust #RustLang #AsyncRust

  4. @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😐):
    docs.rs/tokio/latest/tokio/run

    I'm probably biased, but I really like smol, because it is very flexible, e.g. your Futures don't even need to be 'static:
    docs.rs/smol/latest/smol/struc

    #Tokio #Smol #Rust #RustLang #AsyncRust

  5. 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.

    🔗 oxidizeconf.com/sessions/await

    #Oxidize2026 #RustLang #Fuzzing #SecurityResearch #AsyncRust

  6. 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.

    🔗 oxidizeconf.com/sessions/await

    #Oxidize2026 #RustLang #Fuzzing #SecurityResearch #AsyncRust

  7. UwU - There is a new #Rust #book #bundle over at #HumbleBooksBundle :awesome:

    humblebundle.com/books/rust-sy

    Amongst others, it contains the excellent "Asynchronous Programming in Rust" book by Carl Fredrik Samson, which I can highly recommend! 👍

    #AsyncRust #RustLang #Books

  8. UwU - There is a new #Rust #book #bundle over at #HumbleBooksBundle :awesome:

    humblebundle.com/books/rust-sy

    Amongst others, it contains the excellent "Asynchronous Programming in Rust" book by Carl Fredrik Samson, which I can highly recommend! 👍

    #AsyncRust #RustLang #Books

  9. 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…

    tpp.blog/aa12hwm

    #programming #rust #asyncrust

    🤖 This post was AI-generated.

  10. 🚀 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. 🪄✨
    tweedegolf.nl/en/blog/237/asyn #AsyncRust #superchargedCompiler #executorAgnostic #codeMagic #HackerNews #ngated

  11. 🚀 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. 🪄✨
    tweedegolf.nl/en/blog/237/asyn #AsyncRust #superchargedCompiler #executorAgnostic #codeMagic #HackerNews #ngated

  12. @rustaceans

    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:

    emschwartz.me/async-rust-can-b

    floss.social/@janriemer/114681

    #smol #RustLang #Asynchronous #AsyncRust

  13. @rustaceans

    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:

    emschwartz.me/async-rust-can-b

    floss.social/@janriemer/114681

    #smol #RustLang #Asynchronous #AsyncRust

  14. 🚀✨ 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. 🎢🗣️
    sunshowers.io/posts/cancelling #RustConf2025 #asyncRust #humor #techcommunity #HackerNews #ngated

  15. 🚀✨ 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. 🎢🗣️
    sunshowers.io/posts/cancelling #RustConf2025 #asyncRust #humor #techcommunity #HackerNews #ngated

  16. 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/?

    #Rust #RustLang #AsyncRust #Async

  17. 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/?

    #Rust #RustLang #AsyncRust #Async

  18. Hey #Rust,

    how dare you look so elegant as a systems programming language! 💅

    #Smol #AsyncRust #RustLang

  19. Hey #Rust,

    how dare you look so elegant as a systems programming language! 💅

    #Smol #AsyncRust #RustLang

  20. 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:
    doc.rust-lang.org/std/pin/

    Like, _really_ learn and understand it:
    fasterthanli.me/articles/pin-a

    And then use smol's pin! macro and the `pin_project` crate:
    docs.rs/pin-project/latest/pin

    I might continue this thread with more insights I gain during this little project - stay tuned! 🙂

    4/4?

    #RustLang #AsyncRust

  21. 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:
    doc.rust-lang.org/std/pin/

    Like, _really_ learn and understand it:
    fasterthanli.me/articles/pin-a

    And then use smol's pin! macro and the `pin_project` crate:
    docs.rs/pin-project/latest/pin

    I might continue this thread with more insights I gain during this little project - stay tuned! 🙂

    4/4?

    #RustLang #AsyncRust

  22. 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 released

    If 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/?

    #AsyncRust

  23. 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 released

    If 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/?

    #AsyncRust

  24. 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. ti.to/rustconf/2025?source=mas
    #RustConf #AsyncRust #AI #rustlang

  25. 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. ti.to/rustconf/2025?source=mas
    #RustConf #AsyncRust #AI #rustlang

  26. 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! ti.to/rustconf/2025?source=mas

    #rustlang #asyncrust #opensource

  27. 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! ti.to/rustconf/2025?source=mas

    #rustlang #asyncrust #opensource

  28. 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.

    🎟️ rustconf.com/workshops/

    #rustconf #rustlang #asyncrust

  29. 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.

    🎟️ rustconf.com/workshops/

    #rustconf #rustlang #asyncrust

  30. @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:

    floss.social/@janriemer/111669

    #Smol allows you to use non-'static Futures by using a local executor:

    floss.social/@janriemer/111669

    It looks a lot more like "normal" #Rust.

    #RustAsync #AsyncRust #Concurrency

  31. @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:

    floss.social/@janriemer/111669

    #Smol allows you to use non-'static Futures by using a local executor:

    floss.social/@janriemer/111669

    It looks a lot more like "normal" #Rust.

    #RustAsync #AsyncRust #Concurrency

  32. 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:
    github.com/JonasKruckenberg/k2

    #rust #asyncrust #wasm #osdev

  33. 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:
    github.com/JonasKruckenberg/k2

    #rust #asyncrust #wasm #osdev

  34. 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🧟‍♂️.
    github.com/alexpusch/rust-magi #VisualJourney #AsyncRust #RustProgramming #DeveloperHumor #GitHubZombies #HackerNews #ngated

  35. 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🧟‍♂️.
    github.com/alexpusch/rust-magi #VisualJourney #AsyncRust #RustProgramming #DeveloperHumor #GitHubZombies #HackerNews #ngated

  36. 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! 🌪️
    s2.dev/blog/dst #asyncRust #deterministicTesting #debugging #programming #humor #HackerNews #ngated

  37. 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! 🌪️
    s2.dev/blog/dst #asyncRust #deterministicTesting #debugging #programming #humor #HackerNews #ngated

  38. 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.

    #rustlang #asyncRust

  39. 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.

    #rustlang #asyncRust

  40. 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!

    docs.rs/tokio-console/latest/t

    #rust #rustlang #asyncRust #tokioConsole

  41. 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!

    docs.rs/tokio-console/latest/t

    #rust #rustlang #asyncRust #tokioConsole

  42. 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!

    hegdenu.net/posts/how-big-is-y

    #rust #asyncRust #tokio #tokioConsole

  43. 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!

    hegdenu.net/posts/how-big-is-y

    #rust #asyncRust #tokio #tokioConsole

  44. 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

  45. 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

  46. 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.

    docs.rs/tokio-console/0.1.13/

    #rust #rustLang #tokioConsole #tokio #asyncRust