{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreiej7absrznmkxzeujnrv3cqc7rtjfp3q3kln2gc5cyjo2hnjhnibi",
"uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mjbkj6yw3kj2"
},
"path": "/t/going-from-asyncwrite-to-asyncread/24130#post_6",
"publishedAt": "2026-04-11T12:11:44.000Z",
"site": "https://internals.rust-lang.org",
"textContent": "Basically the problem is this scenario:\n\n\n let stream = Stream::new(|w: Writer| async move {\n tokio::join!(async {\n let mut w = std::pin::pin!(w);\n write_all(&mut w, &[42]).await?;\n write_all(w, &[42]).await\n }, async {\n some_other_async().await;\n });\n });\n\n\nIn this code, execution of code inside `some_other_async().await` may randomly stop executing at any `.await` point.",
"title": "Going from AsyncWrite to AsyncRead"
}