pub trait Nearest: Length<Elem = ()> {
Show 16 associated items
type Nearest<T>: Collection<T, Self> + FromBulk<Self::NearestStrategy<T>>
where T:;
type NearestAsync<T>: Collection<T::Output, Self> + FromBulk<Self::NearestAsyncStrategy<T>> + FromBulk<Self::NearestStrategy<T::Output>> + From<Self::Nearest<T::Output>> + Into<Self::Nearest<T::Output>>
where T: Future<Output>;
type TryNearest<T>: Collection<<T as Try>::Output, Self> + FromBulk<Self::TryNearestStrategy<T>> + FromBulk<Self::NearestStrategy<<T as Try>::Output>> + From<Self::Nearest<<T as Try>::Output>> + Into<Self::Nearest<<T as Try>::Output>>
where T: Try<Output>;
type TryNearestAsync<T>: Collection<<T::Output as Try>::Output, Self> + FromBulk<Self::TryNearestAsyncStrategy<T>> + FromBulk<Self::TryNearestStrategy<T::Output>> + FromBulk<Self::NearestStrategy<<T::Output as Try>::Output>> + From<Self::Nearest<<T::Output as Try>::Output>> + Into<Self::Nearest<<T::Output as Try>::Output>> + From<Self::TryNearest<T::Output>> + Into<Self::TryNearest<T::Output>>
where T: Future<Output: Try<Output>>;
type NearestFrom<B>: Collection<B::Item, Self> + FromBulk<Self::NearestStrategyFrom<B>> + FromBulk<Self::NearestStrategy<B::Item>> + From<Self::Nearest<B::Item>> + Into<Self::Nearest<B::Item>>
where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item>;
type NearestAsyncFrom<B>: Collection<<B::Item as Future>::Output, Self> + FromBulk<Self::NearestAsyncStrategyFrom<B>> + FromBulk<Self::NearestAsyncStrategy<B::Item>> + FromBulk<Self::NearestStrategy<<B::Item as Future>::Output>> + From<Self::NearestAsync<B::Item>> + Into<Self::NearestAsync<B::Item>> + From<Self::Nearest<<B::Item as Future>::Output>> + Into<Self::Nearest<<B::Item as Future>::Output>>
where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item: Future<Output>>;
type TryNearestFrom<B>: Collection<<B::Item as Try>::Output, Self> + FromBulk<Self::TryNearestStrategyFrom<B>> + FromBulk<Self::TryNearestStrategy<B::Item>> + FromBulk<Self::NearestStrategy<<B::Item as Try>::Output>> + From<Self::TryNearest<B::Item>> + Into<Self::TryNearest<B::Item>> + From<Self::Nearest<<B::Item as Try>::Output>> + Into<Self::Nearest<<B::Item as Try>::Output>>
where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item: Try<Output>>;
type TryNearestAsyncFrom<B>: Collection<<<B::Item as Future>::Output as Try>::Output, Self> + FromBulk<Self::TryNearestAsyncStrategyFrom<B>> + FromBulk<Self::TryNearestAsyncStrategy<B::Item>> + FromBulk<Self::TryNearestStrategy<<B::Item as Future>::Output>> + FromBulk<Self::NearestStrategy<<<B::Item as Future>::Output as Try>::Output>> + From<Self::TryNearest<<B::Item as Future>::Output>> + Into<Self::TryNearest<<B::Item as Future>::Output>> + From<Self::Nearest<<<B::Item as Future>::Output as Try>::Output>> + Into<Self::Nearest<<<B::Item as Future>::Output as Try>::Output>>
where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item: Future<Output: Try<Output>>>;
type NearestStrategy<T>: CollectionStrategy<Self, Self, Self::Nearest<T>> + CollectionAdapter<Elem = T> + ?Sized;
type NearestAsyncStrategy<T>: CollectionStrategy<Self, Self, Self::NearestAsync<T>> + CollectionStrategy<Self, Self, Self::Nearest<<T as Future>::Output>> + CollectionAdapter<Elem = T::Output> + ?Sized
where T: Future;
type TryNearestStrategy<T>: TryCollectionStrategy<Self, Self, Self::TryNearest<T>> + TryCollectionStrategy<Self, Self, Self::Nearest<<T as Try>::Output>> + CollectionStrategy<Self, Self, Self::TryNearest<T>> + CollectionStrategy<Self, Self, Self::Nearest<<T as Try>::Output>> + CollectionAdapter<Elem = <T as Try>::Output> + ?Sized
where T: Try<Output>;
type TryNearestAsyncStrategy<T>: TryCollectionStrategy<Self, Self, Self::TryNearestAsync<T>> + TryCollectionStrategy<Self, Self, Self::TryNearest<T::Output>> + TryCollectionStrategy<Self, Self, Self::Nearest<<T::Output as Try>::Output>> + CollectionStrategy<Self, Self, Self::TryNearestAsync<T>> + CollectionStrategy<Self, Self, Self::TryNearest<T::Output>> + CollectionStrategy<Self, Self, Self::Nearest<<T::Output as Try>::Output>> + CollectionAdapter<Elem = <T::Output as Try>::Output> + ?Sized
where T: Future<Output: Try<Output>>;
type NearestStrategyFrom<B>: CollectionStrategy<B::MinLength, B::MaxLength, Self::NearestFrom<B>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::Nearest<B::Item>> + CollectionStrategy<Self, Self, Self::NearestFrom<B>> + CollectionStrategy<Self, Self, Self::Nearest<B::Item>> + CollectionAdapter<Elem = B::Item> + ?Sized
where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item>;
type NearestAsyncStrategyFrom<B>: CollectionStrategy<B::MinLength, B::MaxLength, Self::NearestAsyncFrom<B>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::NearestAsync<B::Item>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::Nearest<<B::Item as Future>::Output>> + CollectionStrategy<Self, Self, Self::NearestAsyncFrom<B>> + CollectionStrategy<Self, Self, Self::NearestAsync<B::Item>> + CollectionStrategy<Self, Self, Self::Nearest<<B::Item as Future>::Output>> + CollectionAdapter<Elem = <B::Item as Future>::Output> + ?Sized
where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item: Future<Output>>;
type TryNearestStrategyFrom<B>: TryCollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearestFrom<B>> + TryCollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearest<B::Item>> + TryCollectionStrategy<B::MinLength, B::MaxLength, Self::Nearest<<B::Item as Try>::Output>> + TryCollectionStrategy<Self, Self, Self::TryNearestFrom<B>> + TryCollectionStrategy<Self, Self, Self::TryNearest<B::Item>> + TryCollectionStrategy<Self, Self, Self::Nearest<<B::Item as Try>::Output>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearestFrom<B>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearest<B::Item>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::Nearest<<B::Item as Try>::Output>> + CollectionStrategy<Self, Self, Self::TryNearestFrom<B>> + CollectionStrategy<Self, Self, Self::TryNearest<B::Item>> + CollectionStrategy<Self, Self, Self::Nearest<<B::Item as Try>::Output>> + CollectionAdapter<Elem = <B::Item as Try>::Output> + ?Sized
where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item: Try<Output>>;
type TryNearestAsyncStrategyFrom<B>: TryCollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearestAsyncFrom<B>> + TryCollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearestAsync<B::Item>> + TryCollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearest<<B::Item as Future>::Output>> + TryCollectionStrategy<B::MinLength, B::MaxLength, Self::Nearest<<<B::Item as Future>::Output as Try>::Output>> + TryCollectionStrategy<Self, Self, Self::TryNearestAsyncFrom<B>> + TryCollectionStrategy<Self, Self, Self::TryNearestAsync<B::Item>> + TryCollectionStrategy<Self, Self, Self::TryNearest<<B::Item as Future>::Output>> + TryCollectionStrategy<Self, Self, Self::Nearest<<<B::Item as Future>::Output as Try>::Output>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearestAsyncFrom<B>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearestAsync<B::Item>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearest<<B::Item as Future>::Output>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::Nearest<<<B::Item as Future>::Output as Try>::Output>> + CollectionStrategy<Self, Self, Self::TryNearestAsyncFrom<B>> + CollectionStrategy<Self, Self, Self::TryNearestAsync<B::Item>> + CollectionStrategy<Self, Self, Self::TryNearest<<B::Item as Future>::Output>> + CollectionStrategy<Self, Self, Self::Nearest<<<B::Item as Future>::Output as Try>::Output>> + CollectionAdapter<Elem = <<B::Item as Future>::Output as Try>::Output> + ?Sized
where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item: Future<Output: Try<Output>>>;
}Required Associated Types§
type Nearest<T>: Collection<T, Self> + FromBulk<Self::NearestStrategy<T>> where T:
type NearestAsync<T>: Collection<T::Output, Self> + FromBulk<Self::NearestAsyncStrategy<T>> + FromBulk<Self::NearestStrategy<T::Output>> + From<Self::Nearest<T::Output>> + Into<Self::Nearest<T::Output>> where T: Future<Output>
type TryNearest<T>: Collection<<T as Try>::Output, Self> + FromBulk<Self::TryNearestStrategy<T>> + FromBulk<Self::NearestStrategy<<T as Try>::Output>> + From<Self::Nearest<<T as Try>::Output>> + Into<Self::Nearest<<T as Try>::Output>> where T: Try<Output>
type TryNearestAsync<T>: Collection<<T::Output as Try>::Output, Self> + FromBulk<Self::TryNearestAsyncStrategy<T>> + FromBulk<Self::TryNearestStrategy<T::Output>> + FromBulk<Self::NearestStrategy<<T::Output as Try>::Output>> + From<Self::Nearest<<T::Output as Try>::Output>> + Into<Self::Nearest<<T::Output as Try>::Output>> + From<Self::TryNearest<T::Output>> + Into<Self::TryNearest<T::Output>> where T: Future<Output: Try<Output>>
type NearestFrom<B>: Collection<B::Item, Self> + FromBulk<Self::NearestStrategyFrom<B>> + FromBulk<Self::NearestStrategy<B::Item>> + From<Self::Nearest<B::Item>> + Into<Self::Nearest<B::Item>> where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item>
type NearestAsyncFrom<B>: Collection<<B::Item as Future>::Output, Self> + FromBulk<Self::NearestAsyncStrategyFrom<B>> + FromBulk<Self::NearestAsyncStrategy<B::Item>> + FromBulk<Self::NearestStrategy<<B::Item as Future>::Output>> + From<Self::NearestAsync<B::Item>> + Into<Self::NearestAsync<B::Item>> + From<Self::Nearest<<B::Item as Future>::Output>> + Into<Self::Nearest<<B::Item as Future>::Output>> where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item: Future<Output>>
type TryNearestFrom<B>: Collection<<B::Item as Try>::Output, Self> + FromBulk<Self::TryNearestStrategyFrom<B>> + FromBulk<Self::TryNearestStrategy<B::Item>> + FromBulk<Self::NearestStrategy<<B::Item as Try>::Output>> + From<Self::TryNearest<B::Item>> + Into<Self::TryNearest<B::Item>> + From<Self::Nearest<<B::Item as Try>::Output>> + Into<Self::Nearest<<B::Item as Try>::Output>> where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item: Try<Output>>
type TryNearestAsyncFrom<B>: Collection<<<B::Item as Future>::Output as Try>::Output, Self> + FromBulk<Self::TryNearestAsyncStrategyFrom<B>> + FromBulk<Self::TryNearestAsyncStrategy<B::Item>> + FromBulk<Self::TryNearestStrategy<<B::Item as Future>::Output>> + FromBulk<Self::NearestStrategy<<<B::Item as Future>::Output as Try>::Output>> + From<Self::TryNearest<<B::Item as Future>::Output>> + Into<Self::TryNearest<<B::Item as Future>::Output>> + From<Self::Nearest<<<B::Item as Future>::Output as Try>::Output>> + Into<Self::Nearest<<<B::Item as Future>::Output as Try>::Output>> where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item: Future<Output: Try<Output>>>
type NearestStrategy<T>: CollectionStrategy<Self, Self, Self::Nearest<T>> + CollectionAdapter<Elem = T> + ?Sized
type NearestAsyncStrategy<T>: CollectionStrategy<Self, Self, Self::NearestAsync<T>> + CollectionStrategy<Self, Self, Self::Nearest<<T as Future>::Output>> + CollectionAdapter<Elem = T::Output> + ?Sized where T: Future
type TryNearestStrategy<T>: TryCollectionStrategy<Self, Self, Self::TryNearest<T>> + TryCollectionStrategy<Self, Self, Self::Nearest<<T as Try>::Output>> + CollectionStrategy<Self, Self, Self::TryNearest<T>> + CollectionStrategy<Self, Self, Self::Nearest<<T as Try>::Output>> + CollectionAdapter<Elem = <T as Try>::Output> + ?Sized where T: Try<Output>
type TryNearestAsyncStrategy<T>: TryCollectionStrategy<Self, Self, Self::TryNearestAsync<T>> + TryCollectionStrategy<Self, Self, Self::TryNearest<T::Output>> + TryCollectionStrategy<Self, Self, Self::Nearest<<T::Output as Try>::Output>> + CollectionStrategy<Self, Self, Self::TryNearestAsync<T>> + CollectionStrategy<Self, Self, Self::TryNearest<T::Output>> + CollectionStrategy<Self, Self, Self::Nearest<<T::Output as Try>::Output>> + CollectionAdapter<Elem = <T::Output as Try>::Output> + ?Sized where T: Future<Output: Try<Output>>
type NearestStrategyFrom<B>: CollectionStrategy<B::MinLength, B::MaxLength, Self::NearestFrom<B>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::Nearest<B::Item>> + CollectionStrategy<Self, Self, Self::NearestFrom<B>> + CollectionStrategy<Self, Self, Self::Nearest<B::Item>> + CollectionAdapter<Elem = B::Item> + ?Sized where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item>
type NearestAsyncStrategyFrom<B>: CollectionStrategy<B::MinLength, B::MaxLength, Self::NearestAsyncFrom<B>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::NearestAsync<B::Item>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::Nearest<<B::Item as Future>::Output>> + CollectionStrategy<Self, Self, Self::NearestAsyncFrom<B>> + CollectionStrategy<Self, Self, Self::NearestAsync<B::Item>> + CollectionStrategy<Self, Self, Self::Nearest<<B::Item as Future>::Output>> + CollectionAdapter<Elem = <B::Item as Future>::Output> + ?Sized where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item: Future<Output>>
type TryNearestStrategyFrom<B>: TryCollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearestFrom<B>> + TryCollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearest<B::Item>> + TryCollectionStrategy<B::MinLength, B::MaxLength, Self::Nearest<<B::Item as Try>::Output>> + TryCollectionStrategy<Self, Self, Self::TryNearestFrom<B>> + TryCollectionStrategy<Self, Self, Self::TryNearest<B::Item>> + TryCollectionStrategy<Self, Self, Self::Nearest<<B::Item as Try>::Output>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearestFrom<B>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearest<B::Item>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::Nearest<<B::Item as Try>::Output>> + CollectionStrategy<Self, Self, Self::TryNearestFrom<B>> + CollectionStrategy<Self, Self, Self::TryNearest<B::Item>> + CollectionStrategy<Self, Self, Self::Nearest<<B::Item as Try>::Output>> + CollectionAdapter<Elem = <B::Item as Try>::Output> + ?Sized where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item: Try<Output>>
type TryNearestAsyncStrategyFrom<B>: TryCollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearestAsyncFrom<B>> + TryCollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearestAsync<B::Item>> + TryCollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearest<<B::Item as Future>::Output>> + TryCollectionStrategy<B::MinLength, B::MaxLength, Self::Nearest<<<B::Item as Future>::Output as Try>::Output>> + TryCollectionStrategy<Self, Self, Self::TryNearestAsyncFrom<B>> + TryCollectionStrategy<Self, Self, Self::TryNearestAsync<B::Item>> + TryCollectionStrategy<Self, Self, Self::TryNearest<<B::Item as Future>::Output>> + TryCollectionStrategy<Self, Self, Self::Nearest<<<B::Item as Future>::Output as Try>::Output>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearestAsyncFrom<B>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearestAsync<B::Item>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::TryNearest<<B::Item as Future>::Output>> + CollectionStrategy<B::MinLength, B::MaxLength, Self::Nearest<<<B::Item as Future>::Output as Try>::Output>> + CollectionStrategy<Self, Self, Self::TryNearestAsyncFrom<B>> + CollectionStrategy<Self, Self, Self::TryNearestAsync<B::Item>> + CollectionStrategy<Self, Self, Self::TryNearest<<B::Item as Future>::Output>> + CollectionStrategy<Self, Self, Self::Nearest<<<B::Item as Future>::Output as Try>::Output>> + CollectionAdapter<Elem = <<B::Item as Future>::Output as Try>::Output> + ?Sized where B: Bulk<MinLength: Length<Intersect<B::MaxLength> = Self>, Item: Future<Output: Try<Output>>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl Nearest for [()]
Available on crate feature alloc only.
impl Nearest for [()]
Available on crate feature
alloc only.