Trait Invariant

Source
pub unsafe trait Invariant { }
Expand description

Indicates that a type is invariant and thus can be stored in an object.

§Safety

The implementation must ensure that the type is invariant, meaning that the type must:

  • Be FFI safe.
  • Be stable in-memory (independent of architecture). This means, among other things, that the type must be fixed-width. For example, usize is not Invariant.

Implementations on Foreign Types§

Source§

impl Invariant for bool

Source§

impl Invariant for f32

Source§

impl Invariant for f64

Source§

impl Invariant for i8

Source§

impl Invariant for i16

Source§

impl Invariant for i32

Source§

impl Invariant for i64

Source§

impl Invariant for u8

Source§

impl Invariant for u16

Source§

impl Invariant for u32

Source§

impl Invariant for u64

Source§

impl Invariant for ()

Source§

impl<R: Invariant, E: Invariant> Invariant for Result<R, E>

Source§

impl<T: Invariant> Invariant for Option<T>

Source§

impl<T: Invariant> Invariant for (T,)

Source§

impl<T: Invariant, const N: usize> Invariant for [T; N]

Implementors§