145: Add Stream::poll_next r=stjepang a=stjepang
Adding `poll_next` to the `Stream` trait will simplify #125.
After a discussion with @yoshuawuyts and @withoutboats, we became confident that the `Stream` trait of the future will never solely rely on `async fn next()` and will always have to rely on `fn poll_next()`.
This PR now makes our `Stream` trait implementable by end users.
I also made a few adjustments around pinning to `all()` and `any()` combinators since they take a `&mut self`, which implies `Self: Unpin`. A rule of thumb is that if a method takes a `&mut self` and then pins `self`, we *have to* require `Self: Unpin`.
Co-authored-by: Stjepan Glavina <stjepang@gmail.com>
163: adds stream::filter_map combinator r=yoshuawuyts a=montekki
Implements a `flat_map` combinator. Currently the same about `ret!` as in #162 .
Also the naming should probably be `FilterMapStream`, but in that case `Take` stream should also change it's name i guess.
Stdlib: https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.flat_map
Ref: #129
Co-authored-by: Fedor Sakharov <fedor.sakharov@gmail.com>
168: Cache cargo artifacts r=yoshuawuyts a=stjepang
Supersedes #114
This does not cache `~/.cargo/registry` because it's too big.
Co-authored-by: Stjepan Glavina <stjepang@gmail.com>
165: Fix a bug in conversion of File into raw handle r=stjepang a=stjepang
Same bugfix as #148, but applied to `async_std::fs::File`.
Co-authored-by: Stjepan Glavina <stjepang@gmail.com>
151: Split io into multiple files r=stjepang a=yoshuawuyts
Counterpart to #150, splits `io::read` and `io::write` into multiple files. This is useful to prevent a single file from becoming hard to navigate as we add more combinators. No other changes were made. Ref #131. Thanks!
Co-authored-by: Yoshua Wuyts <yoshuawuyts@gmail.com>