pub trait PartiallyInteroperable<A, B>:
GenericVector<Mask: CastMask<A::Mask> + CastMask<B::Mask>>
+ CastVector<Self>
+ CastVector<A>
+ CastVector<B>where
A: CastVector<Self> + GenericVector<Lanes = Self::Lanes, Mask: CastMask<Self::Mask> + CastMask<B::Mask>>,
B: CastVector<Self> + GenericVector<Lanes = Self::Lanes, Mask: CastMask<Self::Mask> + CastMask<A::Mask>>,{ }Expand description
MaskInteroperable plus bidirectional numeric (CastVector) conversion
among Self, A, and B.
In addition to interoperable masks, this guarantees Self, A, and B can
all be numerically cast into one another in either direction (A/B into
Self and Self into A/B), so generic code can freely move operands
of differing element types into whichever common type it needs before
combining them. It does not require bit-level reinterpretation; for that
see FullyInteroperable.
Blanket-implemented for every triple satisfying the bounds.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".