pub trait ElementEmission: Sealed + 'static {
type Step<T>;
type OutArity<C: Arity>: Arity;
// Required methods
fn map_step<T, U>(
step: Self::Step<T>,
function: impl Fn(T) -> U,
) -> Self::Step<U>;
fn apply<'a, C: Arity, X: 'a, Y: 'a>(
container: C::Container<'a, X>,
function: impl Fn(X) -> Self::Step<Y> + 'a,
) -> <Self::OutArity<C> as Arity>::Container<'a, Y>;
fn default_estimate(input: Estimate) -> Estimate;
}Required Associated Types§
Required Methods§
fn map_step<T, U>( step: Self::Step<T>, function: impl Fn(T) -> U, ) -> Self::Step<U>
fn apply<'a, C: Arity, X: 'a, Y: 'a>( container: C::Container<'a, X>, function: impl Fn(X) -> Self::Step<Y> + 'a, ) -> <Self::OutArity<C> as Arity>::Container<'a, Y>
fn default_estimate(input: Estimate) -> Estimate
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".