234: Re-export Stream from futures r=stjepang a=stjepang

This is a follow-up to #224

Co-authored-by: Stjepan Glavina <stjepang@gmail.com>
pull/236/head
bors[bot] 5 years ago committed by GitHub
commit 1d2838b63b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -4,6 +4,7 @@ use std::pin::Pin;
use crate::fs::DirEntry; use crate::fs::DirEntry;
use crate::future::Future; use crate::future::Future;
use crate::io; use crate::io;
use crate::stream::Stream;
use crate::task::{blocking, Context, Poll}; use crate::task::{blocking, Context, Poll};
/// Returns a stream of entries in a directory. /// Returns a stream of entries in a directory.
@ -80,7 +81,7 @@ impl ReadDir {
} }
} }
impl futures_core::stream::Stream for ReadDir { impl Stream for ReadDir {
type Item = io::Result<DirEntry>; type Item = io::Result<DirEntry>;
fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> { fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> {

@ -4,6 +4,7 @@ use std::str;
use super::read_until_internal; use super::read_until_internal;
use crate::io::{self, BufRead}; use crate::io::{self, BufRead};
use crate::stream::Stream;
use crate::task::{Context, Poll}; use crate::task::{Context, Poll};
/// A stream of lines in a byte stream. /// A stream of lines in a byte stream.
@ -23,7 +24,7 @@ pub struct Lines<R> {
pub(crate) read: usize, pub(crate) read: usize,
} }
impl<R: BufRead> futures_core::stream::Stream for Lines<R> { impl<R: BufRead> Stream for Lines<R> {
type Item = io::Result<String>; type Item = io::Result<String>;
fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> { fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> {

@ -12,6 +12,7 @@ use crate::future::{self, Future};
use crate::io; use crate::io;
use crate::net::driver::Watcher; use crate::net::driver::Watcher;
use crate::os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd}; use crate::os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd};
use crate::stream::Stream;
use crate::task::{blocking, Context, Poll}; use crate::task::{blocking, Context, Poll};
/// A Unix domain socket server, listening for connections. /// A Unix domain socket server, listening for connections.
@ -185,7 +186,7 @@ impl fmt::Debug for UnixListener {
#[derive(Debug)] #[derive(Debug)]
pub struct Incoming<'a>(&'a UnixListener); pub struct Incoming<'a>(&'a UnixListener);
impl futures_core::stream::Stream for Incoming<'_> { impl Stream for Incoming<'_> {
type Item = io::Result<UnixStream>; type Item = io::Result<UnixStream>;
fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> { fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> {

@ -34,3 +34,5 @@ pub use crate::io::read::ReadExt as _;
pub use crate::io::seek::SeekExt as _; pub use crate::io::seek::SeekExt as _;
#[doc(hidden)] #[doc(hidden)]
pub use crate::io::write::WriteExt as _; pub use crate::io::write::WriteExt as _;
#[doc(hidden)]
pub use crate::stream::stream::StreamExt as _;

@ -1,6 +1,7 @@
use std::marker::PhantomData; use std::marker::PhantomData;
use std::pin::Pin; use std::pin::Pin;
use crate::stream::Stream;
use crate::task::{Context, Poll}; use crate::task::{Context, Poll};
/// Creates a stream that doesn't yield any items. /// Creates a stream that doesn't yield any items.
@ -35,7 +36,7 @@ pub struct Empty<T> {
_marker: PhantomData<T>, _marker: PhantomData<T>,
} }
impl<T> futures_core::stream::Stream for Empty<T> { impl<T> Stream for Empty<T> {
type Item = T; type Item = T;
fn poll_next(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Option<Self::Item>> { fn poll_next(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Option<Self::Item>> {

@ -1,4 +1,4 @@
use futures_core::stream::Stream; use crate::stream::Stream;
/// Conversion into a `Stream`. /// Conversion into a `Stream`.
/// ///

@ -26,12 +26,13 @@ use cfg_if::cfg_if;
pub use empty::{empty, Empty}; pub use empty::{empty, Empty};
pub use once::{once, Once}; pub use once::{once, Once};
pub use repeat::{repeat, Repeat}; pub use repeat::{repeat, Repeat};
pub use stream::{Fuse, Scan, Stream, Take, Zip}; pub use stream::{Chain, Filter, Fuse, Inspect, Scan, Skip, SkipWhile, StepBy, Stream, Take, Zip};
pub(crate) mod stream;
mod empty; mod empty;
mod once; mod once;
mod repeat; mod repeat;
mod stream;
cfg_if! { cfg_if! {
if #[cfg(any(feature = "unstable", feature = "docs"))] { if #[cfg(any(feature = "unstable", feature = "docs"))] {

@ -1,5 +1,6 @@
use std::pin::Pin; use std::pin::Pin;
use crate::stream::Stream;
use crate::task::{Context, Poll}; use crate::task::{Context, Poll};
/// Creates a stream that yields a single item. /// Creates a stream that yields a single item.
@ -33,7 +34,7 @@ pub struct Once<T> {
value: Option<T>, value: Option<T>,
} }
impl<T: Unpin> futures_core::stream::Stream for Once<T> { impl<T: Unpin> Stream for Once<T> {
type Item = T; type Item = T;
fn poll_next(mut self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Option<T>> { fn poll_next(mut self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Option<T>> {

@ -1,5 +1,6 @@
use std::pin::Pin; use std::pin::Pin;
use crate::stream::Stream;
use crate::task::{Context, Poll}; use crate::task::{Context, Poll};
/// Creates a stream that yields the same item repeatedly. /// Creates a stream that yields the same item repeatedly.
@ -36,7 +37,7 @@ pub struct Repeat<T> {
item: T, item: T,
} }
impl<T: Clone> futures_core::stream::Stream for Repeat<T> { impl<T: Clone> Stream for Repeat<T> {
type Item = T; type Item = T;
fn poll_next(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Option<Self::Item>> { fn poll_next(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Option<Self::Item>> {

@ -1,7 +1,7 @@
use std::pin::Pin; use std::pin::Pin;
use super::fuse::Fuse; use super::fuse::Fuse;
use crate::stream::Stream; use crate::prelude::*;
use crate::task::{Context, Poll}; use crate::task::{Context, Poll};
/// Chains two streams one after another. /// Chains two streams one after another.

@ -19,7 +19,7 @@ impl<S> Enumerate<S> {
} }
} }
impl<S> futures_core::stream::Stream for Enumerate<S> impl<S> Stream for Enumerate<S>
where where
S: Stream, S: Stream,
{ {

@ -25,7 +25,7 @@ impl<S, P, T> Filter<S, P, T> {
} }
} }
impl<S, P> futures_core::stream::Stream for Filter<S, P, S::Item> impl<S, P> Stream for Filter<S, P, S::Item>
where where
S: Stream, S: Stream,
P: FnMut(&S::Item) -> bool, P: FnMut(&S::Item) -> bool,

@ -27,7 +27,7 @@ impl<S, F, T, B> FilterMap<S, F, T, B> {
} }
} }
impl<S, F, B> futures_core::stream::Stream for FilterMap<S, F, S::Item, B> impl<S, F, B> Stream for FilterMap<S, F, S::Item, B>
where where
S: Stream, S: Stream,
F: FnMut(S::Item) -> Option<B>, F: FnMut(S::Item) -> Option<B>,

File diff suppressed because it is too large Load Diff

@ -24,7 +24,7 @@ impl<S, St, F> Scan<S, St, F> {
impl<S: Unpin, St, F> Unpin for Scan<S, St, F> {} impl<S: Unpin, St, F> Unpin for Scan<S, St, F> {}
impl<S, St, F, B> futures_core::stream::Stream for Scan<S, St, F> impl<S, St, F, B> Stream for Scan<S, St, F>
where where
S: Stream, S: Stream,
F: FnMut(&mut St, S::Item) -> Option<B>, F: FnMut(&mut St, S::Item) -> Option<B>,

@ -17,7 +17,7 @@ impl<S: Stream> Take<S> {
pin_utils::unsafe_unpinned!(remaining: usize); pin_utils::unsafe_unpinned!(remaining: usize);
} }
impl<S: Stream> futures_core::stream::Stream for Take<S> { impl<S: Stream> Stream for Take<S> {
type Item = S::Item; type Item = S::Item;
fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<S::Item>> { fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<S::Item>> {

@ -36,7 +36,7 @@ impl<A: Stream, B> Zip<A, B> {
pin_utils::unsafe_pinned!(second: B); pin_utils::unsafe_pinned!(second: B);
} }
impl<A: Stream, B: Stream> futures_core::stream::Stream for Zip<A, B> { impl<A: Stream, B: Stream> Stream for Zip<A, B> {
type Item = (A::Item, B::Item); type Item = (A::Item, B::Item);
fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> { fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> {

Loading…
Cancel
Save