#AsyncRust

Async Thoughtsasyncthoughts
2025-06-17

Day after Lady Liberty: sore feet, full heart, still losing arguments with the borrow checker. Freedom never felt so semantically strict. 🫖🗽🦀

The Statue of Liberty
Jan :rust: :ferris:janriemer@floss.social
2025-06-14

@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

Jonas Kruckenberg :tauri:unsafe@webtoo.ls
2025-05-29

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

N-gated Hacker Newsngate
2025-04-25

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

N-gated Hacker Newsngate
2025-04-07

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

Hayden Stainsbyhds@hachyderm.io
2025-03-07

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

2024-12-02

New blog post: A no-std, no-alloc asynchronous USB host stack in Rust for the RP2040, and what I learned while writing it:
pdh11.blogspot.com/2024/12/thi
#RustLang #AsyncRust #rp2040 #embedded #rust

Hayden Stainsbyhds@hachyderm.io
2024-11-22

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

Hayden Stainsbyhds@hachyderm.io
2024-10-31

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

2024-10-28

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

Hayden Stainsbyhds@hachyderm.io
2024-10-24

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

The Tokio Console tasks list screen. About a dozen tasks are shown. On the right hand side in the "Fields" column, there are fields called "size.bytes" on every task, one task has a field called "original_size.bytes".A zoom in of the fields section of the Tokio Console's task details screen. There are 3 fields visible:

original_size.bytes=20360
size.bytes=8
target=tokio::task
2024-10-14

git commit -m"Really quite surprised that this compiles; committing it rn before the compiler changes its mind"
#Rust #RustLang #AsyncRust

Jan :rust: :ferris:janriemer@floss.social
2024-10-10

Beul - it executes futures | by Bert Peters

lib.rs/crates/beul

"Beul is a minimalistic futures executor. No dependencies, no unsafe #Rust. It simply executes futures."

It can't get any simpler than that. ¯\_(ツ)_/¯

#RustLang #RustAsync #Async #AsyncRust

Hayden Stainsbyhds@hachyderm.io
2024-10-08

Oh, snap.

thread 'tokio-runtime-worker' has overflowed its stack
fatal runtime error: stack overflow

#rust #rustlang #tokio #asyncRust

2024-09-18

Good news for all Rustaceans! Due to high demand, we’ve added 10 extra seats to the Async workshops at #eurorust24. 🦀 This is your chance to dive deep into async Rust with our expert mentor, Conrad Ludgate. These additional spots are limited and expected to go quickly, so grab yours while you can!

🔗 Secure your spot now: eurorust.eu

#rustlang #rustworkshops #asyncrust

Hayden Stainsbyhds@hachyderm.io
2024-07-29

Just got a new release of Tokio Console (and supporting crates) out, only a month and a half after the last release!

How did we manage this? Release-plz makes releasing super easy, even when I have to patch the version of tokio-console to avoid a (pre-1.0) major version bump (because tonic upgrades mean we need a major version bump for console-api and console-subscriber).

Check it out: release-plz.ieni.dev/

Thank you @MarcoIeni !

#rust #rustlang #tokioConsole #asyncRust

Hayden Stainsbyhds@hachyderm.io
2024-06-24

I wrote a post that goes pretty in depth into the information contained in the waker events of the tracing instrumentation in #tokio.

If that’s your sort of thing, check it out:
hegdenu.net/posts/tokio-waker-

#rust #rustlang #asyncRust

Hayden Stainsbyhds@hachyderm.io
2024-06-10

We just released a new version of Tokio Console. Tokio Console is a debugger for async Rust (running with the Tokio runtime).

This includes new versions of the following crates:
* tokio-console v0.1.11 (github.com/tokio-rs/console/re)
* console-subscriber v0.3.0 (github.com/tokio-rs/console/re)
* console-api v0.7.0

Upgrade tokio-console and make sure you use the latest console-subscriber to get the latest features!

A thread of some of the changes.

#tokioConsole #tokio #rust #rustlang #tui #asyncRust

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst