pub struct FutureBasic;Expand description
Yield future’s output.
Enables Task implementation on any type that implements Future.
The future will be polled until it resolves.
After that, the Selector will
silently drop it and yield the output.
let mut selector = (0..4)
.map(std::future::ready)
.collect::<Selector<_, FutureBasic>>();
for i in 0..4 {
let j: i32 = selector.next().await.unwrap();
assert_eq!(j, i);
}
assert!(selector.is_empty());Trait Implementations§
Source§impl Clone for FutureBasic
impl Clone for FutureBasic
Source§fn clone(&self) -> FutureBasic
fn clone(&self) -> FutureBasic
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for FutureBasic
Source§impl Debug for FutureBasic
impl Debug for FutureBasic
Source§impl Default for FutureBasic
impl Default for FutureBasic
Source§fn default() -> FutureBasic
fn default() -> FutureBasic
Returns the “default value” for a type. Read more
Source§impl<F: Future> Task<FutureBasic> for F
impl<F: Future> Task<FutureBasic> for F
Source§type Cont = Infallible
type Cont = Infallible
Type returned from
Self::poll_progress
when the task produces some value, but has not finished yet.Source§type Break = <F as Future>::Output
type Break = <F as Future>::Output
Type returned from
Self::poll_progress
when the task produces its last value.Source§type Output = <F as Future>::Output
type Output = <F as Future>::Output
Final value type, produced from
Self::Cont/Self::Break
in Self::transform_cont/Self::transform_break.Source§fn poll_progress(
self: Pin<&mut Self>,
_: &mut FutureBasic,
cx: &mut Context<'_>,
) -> Poll<ControlFlow<Self::Break, Self::Cont>>
fn poll_progress( self: Pin<&mut Self>, _: &mut FutureBasic, cx: &mut Context<'_>, ) -> Poll<ControlFlow<Self::Break, Self::Cont>>
Polls progress on this task using the given strategy. Read more
Source§fn transform_cont(
_: BorrowedMut<'_, Self>,
_: &mut FutureBasic,
_: Self::Cont,
) -> Option<Self::Output>
fn transform_cont( _: BorrowedMut<'_, Self>, _: &mut FutureBasic, _: Self::Cont, ) -> Option<Self::Output>
Transforms
Self::Cont value obtained from Self::poll_progress
into the final value type Self::Output. Read moreSource§fn transform_break(
_: Removed<F>,
_: &mut FutureBasic,
value: Self::Break,
) -> Option<Self::Output>
fn transform_break( _: Removed<F>, _: &mut FutureBasic, value: Self::Break, ) -> Option<Self::Output>
Transforms
Self::Break value obtained from Self::poll_progress
into the final value type Self::Output. Read moreAuto Trait Implementations§
impl Freeze for FutureBasic
impl RefUnwindSafe for FutureBasic
impl Send for FutureBasic
impl Sync for FutureBasic
impl Unpin for FutureBasic
impl UnsafeUnpin for FutureBasic
impl UnwindSafe for FutureBasic
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<S, T> Task<&mut S> for T
impl<S, T> Task<&mut S> for T
Source§type Cont = <T as Task<S>>::Cont
type Cont = <T as Task<S>>::Cont
Type returned from
Self::poll_progress
when the task produces some value, but has not finished yet.Source§type Break = <T as Task<S>>::Break
type Break = <T as Task<S>>::Break
Type returned from
Self::poll_progress
when the task produces its last value.Source§type Output = <T as Task<S>>::Output
type Output = <T as Task<S>>::Output
Final value type, produced from
Self::Cont/Self::Break
in Self::transform_cont/Self::transform_break.Source§fn poll_progress(
self: Pin<&mut T>,
strategy: &mut &mut S,
cx: &mut Context<'_>,
) -> Poll<ControlFlow<<T as Task<&mut S>>::Break, <T as Task<&mut S>>::Cont>>
fn poll_progress( self: Pin<&mut T>, strategy: &mut &mut S, cx: &mut Context<'_>, ) -> Poll<ControlFlow<<T as Task<&mut S>>::Break, <T as Task<&mut S>>::Cont>>
Polls progress on this task using the given strategy. Read more
Source§fn transform_cont(
task: BorrowedMut<'_, T>,
strategy: &mut &mut S,
value: <T as Task<&mut S>>::Cont,
) -> Option<<T as Task<&mut S>>::Output>
fn transform_cont( task: BorrowedMut<'_, T>, strategy: &mut &mut S, value: <T as Task<&mut S>>::Cont, ) -> Option<<T as Task<&mut S>>::Output>
Transforms
Self::Cont value obtained from Self::poll_progress
into the final value type Self::Output. Read moreSource§fn transform_break(
task: Removed<T>,
strategy: &mut &mut S,
value: <T as Task<&mut S>>::Break,
) -> Option<<T as Task<&mut S>>::Output>
fn transform_break( task: Removed<T>, strategy: &mut &mut S, value: <T as Task<&mut S>>::Break, ) -> Option<<T as Task<&mut S>>::Output>
Transforms
Self::Break value obtained from Self::poll_progress
into the final value type Self::Output. Read moreSource§impl<S, T> Task<Box<S>> for T
impl<S, T> Task<Box<S>> for T
Source§type Cont = <T as Task<S>>::Cont
type Cont = <T as Task<S>>::Cont
Type returned from
Self::poll_progress
when the task produces some value, but has not finished yet.Source§type Break = <T as Task<S>>::Break
type Break = <T as Task<S>>::Break
Type returned from
Self::poll_progress
when the task produces its last value.Source§type Output = <T as Task<S>>::Output
type Output = <T as Task<S>>::Output
Final value type, produced from
Self::Cont/Self::Break
in Self::transform_cont/Self::transform_break.Source§fn poll_progress(
self: Pin<&mut T>,
strategy: &mut Box<S>,
cx: &mut Context<'_>,
) -> Poll<ControlFlow<<T as Task<Box<S>>>::Break, <T as Task<Box<S>>>::Cont>>
fn poll_progress( self: Pin<&mut T>, strategy: &mut Box<S>, cx: &mut Context<'_>, ) -> Poll<ControlFlow<<T as Task<Box<S>>>::Break, <T as Task<Box<S>>>::Cont>>
Polls progress on this task using the given strategy. Read more
Source§fn transform_cont(
task: BorrowedMut<'_, T>,
strategy: &mut Box<S>,
value: <T as Task<Box<S>>>::Cont,
) -> Option<<T as Task<Box<S>>>::Output>
fn transform_cont( task: BorrowedMut<'_, T>, strategy: &mut Box<S>, value: <T as Task<Box<S>>>::Cont, ) -> Option<<T as Task<Box<S>>>::Output>
Transforms
Self::Cont value obtained from Self::poll_progress
into the final value type Self::Output. Read moreSource§fn transform_break(
task: Removed<T>,
strategy: &mut Box<S>,
value: <T as Task<Box<S>>>::Break,
) -> Option<<T as Task<Box<S>>>::Output>
fn transform_break( task: Removed<T>, strategy: &mut Box<S>, value: <T as Task<Box<S>>>::Break, ) -> Option<<T as Task<Box<S>>>::Output>
Transforms
Self::Break value obtained from Self::poll_progress
into the final value type Self::Output. Read more