usecrate::{Future, Stream};/// The core trait of a [`Sipper`].
////// It is used internally for convenience to avoid phantom data, since it
/// has [`Output`](Self::Output) and [`Progress`](Self::Progress) as associated types.
////// [`Sipper`]: crate::Sipper
pubtraitCore: Future<Output = <Self as Core>::Output> + Stream<Item = Self::Progress> {/// The output of the [`Sipper`].
////// [`Sipper`]: crate::Sipper
typeOutput;/// The progress of the [`Sipper`].
////// [`Sipper`]: crate::Sipper
typeProgress;}impl<T> Core forTwhere
T: Future + Stream,
{typeOutput=<T as Future>::Output;typeProgress=T::Item;}