pub trait Length: Length<_Value = Self::Value> {
Show 17 associated items
type Value: LengthValue<Length<Self::Elem> = Self, _Length<Self::Elem> = Self, Metadata = Self::Metadata, _Metadata = Self::Metadata>;
type Mapped<U>: Length<Elem = U, Value = Self::Value, _Value = Self::Value, Metadata = Self::Metadata> + ?Sized = <Self::Value as LengthValue>::Length<U>;
type Min<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Min<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type Max<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Max<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type Add<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Add<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type Sub<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Sub<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type Mul<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Mul<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type Div<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Div<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type Rem<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Rem<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type SaturatingAdd<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingAdd<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type SaturatingSub<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingSub<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type SaturatingMul<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingMul<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type SaturatingDiv<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingDiv<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type DivCeil<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::DivCeil<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type DivFloor<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::DivFloor<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type Windowed<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Windowed<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>;
type Interspersed: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Interspersed as LengthValue>::Length<Self::Elem>;
}Required Associated Types§
type Value: LengthValue<Length<Self::Elem> = Self, _Length<Self::Elem> = Self, Metadata = Self::Metadata, _Metadata = Self::Metadata>
Provided Associated Types§
type Mapped<U>: Length<Elem = U, Value = Self::Value, _Value = Self::Value, Metadata = Self::Metadata> + ?Sized = <Self::Value as LengthValue>::Length<U>
type Min<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Min<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type Max<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Max<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type Add<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Add<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type Sub<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Sub<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type Mul<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Mul<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type Div<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Div<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type Rem<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Rem<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type SaturatingAdd<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingAdd<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type SaturatingSub<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingSub<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type SaturatingMul<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingMul<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type SaturatingDiv<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::SaturatingDiv<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type DivCeil<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::DivCeil<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type DivFloor<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::DivFloor<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type Windowed<Rhs: Length<Elem = Self::Elem> + ?Sized>: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Windowed<<Rhs as Length>::Value> as LengthValue>::Length<Self::Elem>
type Interspersed: Length<Elem = Self::Elem> + ?Sized = <<Self::Value as LengthValue>::Interspersed as LengthValue>::Length<Self::Elem>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.