const_serialize

Trait SerializeConst

Source
pub unsafe trait SerializeConst: Sized {
    const MEMORY_LAYOUT: Layout;
    const _ASSERT: () = _;
}
Expand description

A trait for types that can be serialized and deserialized in const.

§Safety

The layout must accurately describe the memory layout of the type

Required Associated Constants§

Source

const MEMORY_LAYOUT: Layout

The memory layout of the type. This type must have plain old data; no pointers or references.

Provided Associated Constants§

Source

const _ASSERT: () = _

Assert that the memory layout of the type is the same as the size of the type

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.

Implementations on Foreign Types§

Source§

impl SerializeConst for bool

Source§

impl SerializeConst for f32

Source§

impl SerializeConst for f64

Source§

impl SerializeConst for i8

Source§

impl SerializeConst for i16

Source§

impl SerializeConst for i32

Source§

impl SerializeConst for i64

Source§

impl SerializeConst for u8

Source§

impl SerializeConst for u16

Source§

impl SerializeConst for u32

Source§

impl SerializeConst for u64

Source§

impl<T1: SerializeConst> SerializeConst for (T1,)

Source§

impl<T1: SerializeConst, T2: SerializeConst> SerializeConst for (T1, T2)

Source§

impl<T1: SerializeConst, T2: SerializeConst, T3: SerializeConst> SerializeConst for (T1, T2, T3)

Source§

impl<T1: SerializeConst, T2: SerializeConst, T3: SerializeConst, T4: SerializeConst> SerializeConst for (T1, T2, T3, T4)

Source§

impl<T1: SerializeConst, T2: SerializeConst, T3: SerializeConst, T4: SerializeConst, T5: SerializeConst> SerializeConst for (T1, T2, T3, T4, T5)

Source§

impl<T1: SerializeConst, T2: SerializeConst, T3: SerializeConst, T4: SerializeConst, T5: SerializeConst, T6: SerializeConst> SerializeConst for (T1, T2, T3, T4, T5, T6)

Source§

impl<T1: SerializeConst, T2: SerializeConst, T3: SerializeConst, T4: SerializeConst, T5: SerializeConst, T6: SerializeConst, T7: SerializeConst> SerializeConst for (T1, T2, T3, T4, T5, T6, T7)

Source§

impl<T1: SerializeConst, T2: SerializeConst, T3: SerializeConst, T4: SerializeConst, T5: SerializeConst, T6: SerializeConst, T7: SerializeConst, T8: SerializeConst> SerializeConst for (T1, T2, T3, T4, T5, T6, T7, T8)

Source§

impl<T1: SerializeConst, T2: SerializeConst, T3: SerializeConst, T4: SerializeConst, T5: SerializeConst, T6: SerializeConst, T7: SerializeConst, T8: SerializeConst, T9: SerializeConst> SerializeConst for (T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

impl<T1: SerializeConst, T2: SerializeConst, T3: SerializeConst, T4: SerializeConst, T5: SerializeConst, T6: SerializeConst, T7: SerializeConst, T8: SerializeConst, T9: SerializeConst, T10: SerializeConst> SerializeConst for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

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

Implementors§