Skip to main content

UserPod

Trait UserPod 

Source
pub unsafe trait UserPod: Copy + 'static { }
Expand description

Marker trait for types whose every bit pattern is valid (POD / plain old data).

This is an unsafe trait: implementors must guarantee that every possible bit pattern of the type is a valid value. This prevents reading into bools, enums with invalid discriminants, references, pointers, or other non-POD types.

§Implementors

Only implement this for types where all bit patterns are valid: primitive integer types, #[repr(C)] structs of UserPod fields, etc. Never implement for bool, char, enums, references, or pointers.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl UserPod for i8

Source§

impl UserPod for i16

Source§

impl UserPod for i32

Source§

impl UserPod for i64

Source§

impl UserPod for isize

Source§

impl UserPod for u8

Source§

impl UserPod for u16

Source§

impl UserPod for u32

Source§

impl UserPod for u64

Source§

impl UserPod for usize

Implementors§