Trait Size

Source
pub trait Size: Sized {
    const SIZE: usize;
}
Expand description

A trait for values with a known encoded size at compile time.

For all types implementin this trait, the following invariant must always be true:

let mut writer = Writer::new();
writer.write(Self);
assert_eq!(writer.data().len(), Self::SIZE);

Required Associated Constants§

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 Size for f32

Source§

const SIZE: usize = 4usize

Source§

impl Size for f64

Source§

const SIZE: usize = 8usize

Source§

impl Size for i8

Source§

const SIZE: usize = 1usize

Source§

impl Size for i16

Source§

const SIZE: usize = 2usize

Source§

impl Size for i32

Source§

const SIZE: usize = 4usize

Source§

impl Size for i64

Source§

const SIZE: usize = 8usize

Source§

impl Size for u8

Source§

const SIZE: usize = 1usize

Source§

impl Size for u16

Source§

const SIZE: usize = 2usize

Source§

impl Size for u32

Source§

const SIZE: usize = 4usize

Source§

impl Size for u64

Source§

const SIZE: usize = 8usize

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Implementors§