Trait Immutable

Source
pub unsafe trait Immutable { }
Expand description

Types whose values are devoid of inner mutability.

Note that [T; 0] implements this marker trait even when T does not.

This trait is safely derivable with #[derive(Immutable)] when the derive feature is enabled.

§Safety

It is undefined behaviour to implement this trait for any type that provides inner mutability.

Implementations on Foreign Types§

Source§

impl Immutable for bool

Source§

impl Immutable for i8

Source§

impl Immutable for i16

Source§

impl Immutable for i32

Source§

impl Immutable for i64

Source§

impl Immutable for i128

Source§

impl Immutable for isize

Source§

impl Immutable for u8

Source§

impl Immutable for u16

Source§

impl Immutable for u32

Source§

impl Immutable for u64

Source§

impl Immutable for u128

Source§

impl Immutable for ()

Source§

impl Immutable for usize

Source§

impl<A> Immutable for (A,)
where A: Immutable,

Source§

impl<A, B> Immutable for (A, B)
where A: Immutable, B: Immutable,

Source§

impl<A, B, C> Immutable for (A, B, C)
where A: Immutable, B: Immutable, C: Immutable,

Source§

impl<A, B, C, D> Immutable for (A, B, C, D)
where A: Immutable, B: Immutable, C: Immutable, D: Immutable,

Source§

impl<A, B, C, D, E> Immutable for (A, B, C, D, E)
where A: Immutable, B: Immutable, C: Immutable, D: Immutable, E: Immutable,

Source§

impl<A, B, C, D, E, F> Immutable for (A, B, C, D, E, F)

Source§

impl<A, B, C, D, E, F, G> Immutable for (A, B, C, D, E, F, G)

Source§

impl<A, B, C, D, E, F, G, H> Immutable for (A, B, C, D, E, F, G, H)

Source§

impl<A, B, C, D, E, F, G, H, I> Immutable for (A, B, C, D, E, F, G, H, I)

Source§

impl<A, B, C, D, E, F, G, H, I, J> Immutable for (A, B, C, D, E, F, G, H, I, J)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K> Immutable for (A, B, C, D, E, F, G, H, I, J, K)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> Immutable for (A, B, C, D, E, F, G, H, I, J, K, L)

Source§

impl<T> Immutable for [T; 0]

Source§

impl<T> Immutable for [T; 1]
where T: Immutable,

Source§

impl<T> Immutable for [T; 2]
where T: Immutable,

Source§

impl<T> Immutable for [T; 3]
where T: Immutable,

Source§

impl<T> Immutable for [T; 4]
where T: Immutable,

Source§

impl<T> Immutable for [T; 5]
where T: Immutable,

Source§

impl<T> Immutable for [T; 6]
where T: Immutable,

Source§

impl<T> Immutable for [T; 7]
where T: Immutable,

Source§

impl<T> Immutable for [T; 8]
where T: Immutable,

Source§

impl<T> Immutable for [T; 9]
where T: Immutable,

Source§

impl<T> Immutable for [T; 10]
where T: Immutable,

Source§

impl<T> Immutable for [T; 11]
where T: Immutable,

Source§

impl<T> Immutable for [T; 12]
where T: Immutable,

Source§

impl<T> Immutable for [T; 13]
where T: Immutable,

Source§

impl<T> Immutable for [T; 14]
where T: Immutable,

Source§

impl<T> Immutable for [T; 15]
where T: Immutable,

Source§

impl<T> Immutable for [T; 16]
where T: Immutable,

Source§

impl<T> Immutable for [T; 17]
where T: Immutable,

Source§

impl<T> Immutable for [T; 18]
where T: Immutable,

Source§

impl<T> Immutable for [T; 19]
where T: Immutable,

Source§

impl<T> Immutable for [T; 20]
where T: Immutable,

Source§

impl<T> Immutable for [T; 21]
where T: Immutable,

Source§

impl<T> Immutable for [T; 22]
where T: Immutable,

Source§

impl<T> Immutable for [T; 23]
where T: Immutable,

Source§

impl<T> Immutable for [T; 24]
where T: Immutable,

Source§

impl<T> Immutable for [T; 25]
where T: Immutable,

Source§

impl<T> Immutable for [T; 26]
where T: Immutable,

Source§

impl<T> Immutable for [T; 27]
where T: Immutable,

Source§

impl<T> Immutable for [T; 28]
where T: Immutable,

Source§

impl<T> Immutable for [T; 29]
where T: Immutable,

Source§

impl<T> Immutable for [T; 30]
where T: Immutable,

Source§

impl<T> Immutable for [T; 31]
where T: Immutable,

Source§

impl<T> Immutable for [T; 32]
where T: Immutable,

Source§

impl<T> Immutable for ManuallyDrop<T>
where T: Immutable,

Source§

impl<T> Immutable for MaybeUninit<T>
where T: Immutable,

Implementors§