Replacing `async_std` by `smol`: What about stdin?
from KillTheMule@programming.dev to rust@programming.dev on 23 Mar 11:49
https://programming.dev/post/27398466
from KillTheMule@programming.dev to rust@programming.dev on 23 Mar 11:49
https://programming.dev/post/27398466
For my library, I want to replace async_std
by smol
, since the former has been deprecated in favor of the latter. This is mostly just a simple translation (different module structure, names etc.), but what I don’t know is how to replace async-std’s stdin
. Anybody got a hint on that?
threaded - newest
I’ve not looked too much into it, but it seems AsyncRead/AsyncBufRead (through IoSafe) is implemented for stdin. So i think you should be able to use it like that.
Yeah that looks fine, thanks! It would introduce a new dependency (
async_io
) though, so I might go withUnblock
mentioned above. Let’s see what happens when I try to make the switch :)(e) Ah I don’t think this really works, I’d need to wrap it in an
Async
, but the docs explicitely mention not to use that withStdin
: docs.rs/smol/latest/smol/struct.Async.html#suppor….Unblock
it is then :)The readme for smol has an example for stdout. I assume stdin is the same:
And there is more information about how to use it for reading/writing on the Unblock docs.
Oh yeah, the docs even mention
Unblock<Stdin>
explicitely. Thanks a lot!