v0.99.6
This release adds several new combinators, a work-stealing executor, and the ability to collect streams using IntoStream and FromStream.
Additionally async-attributes 1.0 has been released which adds support for async fn main, #[test] async fn, and #[bench] async fn.
Example
let a = stream::once(1u8);
let b = stream::once(2u8);
let c = stream::once(3u8);
let s = stream::join!(a, b, c);
assert_eq!(s.collect().await, vec![1u8, 2u8, 3u8]));Added
- Added
stream::Stream::collectas "unstable" - Added
stream::Stream::enumerate - Added
stream::Stream::fuse - Added
stream::Stream::fold - Added
stream::Stream::scan - Added
stream::Stream::zip - Added
stream::joinmacro as "unstable" - Added
stream::DoubleEndedStreamas "unstable" - Added
stream::FromStreamtrait as "unstable" - Added
stream::IntoStreamtrait as "unstable" - Added
io::Cursoras "unstable" - Added
io::BufRead::consumemethod - Added
io::repeat - Added
io::Sliceandio::SliceMut - Added documentation for feature flags
- Added
pinsubmodule as "unstable" - Added the ability to
collecta stream ofResult<T, E>s into a
Result<impl FromStream<T>, E>
Changed
- Refactored the scheduling algorithm of our executor to use work stealing
- Refactored the network driver, removing 400 lines of code
- Removed the
Sendbound fromtask::block_on - Removed
Unpinbound fromimpl<T: futures::stream::Stream> Stream for T