I’ve been writing async Rust professionally for 5 years and never needed to implement AsyncRead, or even Future directly. I’ve only used Pin for working with the async_stream macro. That stuff is very low level and probably would never be encountered by the vast majority of async users.
Well, you don’t need it until you suddenly do. But I guess it might be very different for different users depending on your use case. I have found myself needing to go low level for async a few times, and I don’t think I’m doing very strange things.
I’ve been writing async Rust professionally for 5 years and never needed to implement AsyncRead, or even Future directly. I’ve only used Pin for working with the async_stream macro. That stuff is very low level and probably would never be encountered by the vast majority of async users.
Well, you don’t need it until you suddenly do. But I guess it might be very different for different users depending on your use case. I have found myself needing to go low level for async a few times, and I don’t think I’m doing very strange things.