SimdElement in std::simd - Rust (original) (raw)

pub unsafe trait SimdElement: Sealed + Copy {
    type Mask: MaskElement;
}

🔬This is a nightly-only experimental API. (portable_simd #86656)

Expand description

Marker trait for types that may be used as SIMD vector elements.

§Safety

This trait, when implemented, asserts the compiler can monomorphize#[repr(simd)] structs with the marked type as an element. Strictly, it is valid to impl if the vector will not be miscompiled. Practically, it is user-unfriendly to impl it if the vector won’t compile, even when no soundness guarantees are broken by allowing the user to try.

Source

🔬This is a nightly-only experimental API. (portable_simd #86656)

The mask element type corresponding to this element type.

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.