Структура Ready
#![allow(unused)] fn main() { pub struct Ready<T>(/* приватные поля */); }
Фьючер, который немедленно готов со значением.
Эта структура создается с помощью функции ready(). См. ее документацию для получения дополнительной информации.
Реализации
impl<T> Ready<T>
#![allow(unused)] fn main() { impl<T> Ready<T> pub fn into_inner(self) -> T //Потребляет `Ready`, возвращая обернутое значение. }
Паника
Вызовет панику, если этот Ready уже был опрошен до завершения.
Примеры
#![allow(unused)] fn main() { use std::future; let a = future::ready(1); assert_eq!(a.into_inner(), 1); }
Реализации трейтов
impl<T> Clone for Ready<T>
#![allow(unused)] fn main() { impl<T> Clone for Ready<T> where T: Clone, fn clone(&self) -> Ready<T> ⓘ }
Возвращает копию значения. Подробнее
#![allow(unused)] fn main() { fn clone_from(&mut self, source: &Self) }
Выполняет присвоение копированием из источника. Подробнее
impl<T> Debug for Ready<T>
#![allow(unused)] fn main() { impl<T> Debug for Ready<T> where T: Debug, fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error> }
Форматирует значение с использованием заданного форматировщика. Подробнее
impl<T> Future for Ready<T>
#![allow(unused)] fn main() { impl<T> Future for Ready<T> type Output = T //Тип значения, производимого при завершении. fn poll(self: Pin<&mut Ready<T>>, _cx: &mut Context<'_>) -> Poll<T> //Пытается разрешить фьючер в конечное значение, регистрируя текущую задачу для пробуждения, если значение еще не доступно. }
impl<T> Unpin for Ready<T>
Автоматические реализации трейтов
#![allow(unused)] fn main() { impl<T> Freeze for Ready<T> where T: Freeze, impl<T> RefUnwindSafe for Ready<T> where T: RefUnwindSafe, impl<T> Send for Ready<T> where T: Send, impl<T> Sync for Ready<T> where T: Sync, impl<T> UnwindSafe for Ready<T> where T: 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> CloneToUninit for T
#![allow(unused)] fn main() { impl<T> CloneToUninit for T where T: Clone, unsafe fn clone_to_uninit(&self, dest: *mut u8) }
🔬 Это экспериментальный API, доступный только в ночных сборках. (
clone_to_uninit#126799)
Выполняет присвоение копированием из self в dest. Подробнее
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> ToOwned for T
#![allow(unused)] fn main() { impl<T> ToOwned for T where T: Clone, type Owned = T //Результирующий тип после получения владения. fn to_owned(&self) -> T //Создает владеемые данные из заимствованных данных, обычно путем клонирования. }
#![allow(unused)] fn main() { fn clone_into(&self, target: &mut T) }
Использует заимствованные данные для замены владеемых данных, обычно путем клонирования. Подробнее
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> //Выполняет преобразование. }