pub trait Arity: 'static {
type Container<'a, X: 'a>: 'a;
type AfterDrop: Arity;
type AfterOrderedExpansion: Arity;
type AfterUnorderedExpansion: Arity;
// Required methods
fn map_elements<'a, X: 'a, Y: 'a>(
container: Self::Container<'a, X>,
function: impl Fn(X) -> Y + 'a,
) -> Self::Container<'a, Y>;
fn filter_map_elements<'a, X: 'a, Y: 'a>(
container: Self::Container<'a, X>,
function: impl Fn(X) -> Option<Y> + 'a,
) -> <Self::AfterDrop as Arity>::Container<'a, Y>;
fn flat_map_ordered_elements<'a, X: 'a, Y: 'a>(
container: Self::Container<'a, X>,
function: impl Fn(X) -> Vec<Y> + 'a,
) -> <Self::AfterOrderedExpansion as Arity>::Container<'a, Y>;
fn flat_map_unordered_elements<'a, X: 'a, Y: 'a>(
container: Self::Container<'a, X>,
function: impl Fn(X) -> Vec<Y> + 'a,
) -> <Self::AfterUnorderedExpansion as Arity>::Container<'a, Y>;
}Required Associated Types§
type Container<'a, X: 'a>: 'a
type AfterDrop: Arity
type AfterOrderedExpansion: Arity
type AfterUnorderedExpansion: Arity
Required Methods§
fn map_elements<'a, X: 'a, Y: 'a>( container: Self::Container<'a, X>, function: impl Fn(X) -> Y + 'a, ) -> Self::Container<'a, Y>
fn filter_map_elements<'a, X: 'a, Y: 'a>( container: Self::Container<'a, X>, function: impl Fn(X) -> Option<Y> + 'a, ) -> <Self::AfterDrop as Arity>::Container<'a, Y>
fn flat_map_ordered_elements<'a, X: 'a, Y: 'a>( container: Self::Container<'a, X>, function: impl Fn(X) -> Vec<Y> + 'a, ) -> <Self::AfterOrderedExpansion as Arity>::Container<'a, Y>
fn flat_map_unordered_elements<'a, X: 'a, Y: 'a>( container: Self::Container<'a, X>, function: impl Fn(X) -> Vec<Y> + 'a, ) -> <Self::AfterUnorderedExpansion as Arity>::Container<'a, Y>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".