Структура PollFn
#![allow(unused)] fn main() { pub struct PollFn<F> { /* приватные поля */ } }
Фьючер, который оборачивает функцию, возвращающую
Poll.
Эта структура создается с помощью функции poll_fn(). См. ее документацию для получения дополнительной информации.
Реализации трейтов
impl<F> Debug for PollFn<F>
#![allow(unused)] fn main() { impl<F> Debug for PollFn<F> fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error> }
Форматирует значение с использованием заданного форматировщика. Подробнее
impl<T, F> Future for PollFn<F>
#![allow(unused)] fn main() { impl<T, F> Future for PollFn<F> where F: FnMut(&mut Context<'_>) -> Poll<T>, type Output = T //Тип значения, производимого при завершении. fn poll(self: Pin<&mut PollFn<F>>, cx: &mut Context<'_>) -> Poll<T> }
Пытается разрешить фьючер в конечное значение, регистрируя текущую задачу для пробуждения, если значение еще не доступно. Подробнее
impl<F> Unpin for PollFn<F>
#![allow(unused)] fn main() { impl<F> Unpin for PollFn<F> where F: Unpin, }
Автоматические реализации трейтов
#![allow(unused)] fn main() { impl<F> Freeze for PollFn<F> where F: Freeze, impl<F> RefUnwindSafe for PollFn<F> where F: RefUnwindSafe, impl<F> Send for PollFn<F> where F: Send, impl<F> Sync for PollFn<F> where F: Sync, impl<F> UnwindSafe for PollFn<F> where F: UnwindSafe, }
Общие реализации (Blanket Implementations)
impl<T> Any for T
#![allow(unused)] fn main() { impl<T> Any for T where T: 'static + ?Sized, fn type_id(&self) -> TypeId }
Получает TypeId для self. Подробнее
impl<T> Borrow<T> for T
#![allow(unused)] fn main() { impl<T> Borrow<T> for T where T: ?Sized, fn borrow(&self) -> &T }
Неизменяемо заимствует у владеемого значения. Подробнее
impl<T> BorrowMut<T> for T
#![allow(unused)] fn main() { impl<T> BorrowMut<T> for T where T: ?Sized, fn borrow_mut(&mut self) -> &mut T }
Изменяемо заимствует у владеемого значения. Подробнее
impl<T> From<T> for T
#![allow(unused)] fn main() { impl<T> From<T> for T` fn from(t: T) -> T //Возвращает аргумент без изменений. }
impl<T, U> Into<U> for T
#![allow(unused)] fn main() { impl<T, U> Into<U> for T where U: From<T>, fn into(self) -> U //Вызывает U::from(self). }
То есть, это преобразование выполняется так, как решила реализация From<T> для U.
impl<F> IntoFuture for F
#![allow(unused)] fn main() { impl<F> IntoFuture for F where F: Future, type Output = <F as Future>::Output //Результат, который фьючер произведет при завершении. type IntoFuture = F //В какой тип фьючера мы преобразуем это значение? fn into_future(self) -> <F as IntoFuture>::IntoFuture //Создает фьючер из значения. }
impl<T, U> TryFrom<U> for T
#![allow(unused)] fn main() { impl<T, U> TryFrom<U> for T where U: Into<T>, type Error = Infallible //Тип, возвращаемый в случае ошибки преобразования. fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> //Выполняет преобразование. }
impl<T, U> TryInto<U> for T
#![allow(unused)] fn main() { impl<T, U> TryInto<U> for T where U: TryFrom<T>, type Error = <U as TryFrom<T>>::Error //Тип, возвращаемый в случае ошибки преобразования. fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error> //Выполняет преобразование. }