pub unsafe trait Zeroable: Sized {
// Provided method
fn zeroed() -> Self { ... }
}Expand description
Trait for types that can be safely created with
zeroed.
An all-zeroes value may or may not be the same value as the Default value of the type.
§Safety
- Your type must be inhabited (eg: no Infallible).
- Your type must be allowed to be an “all zeroes” bit pattern (eg: no
NonNull<T>).
§Features
Some impls are feature gated due to the MSRV policy:
MaybeUninit<T>was not available in 1.34.0, but is available under thezeroable_maybe_uninitfeature flag.Atomic*types require Rust 1.60.0 or later to work on certain platforms, but is available under thezeroable_atomicsfeature flag.[T; N]for arbitraryNrequires themin_const_genericsfeature flag.
Provided Methods§
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§
impl Zeroable for bool
impl Zeroable for char
impl Zeroable for f32
impl Zeroable for f64
impl Zeroable for i8
impl Zeroable for i16
impl Zeroable for i32
impl Zeroable for i64
impl Zeroable for i128
impl Zeroable for isize
impl Zeroable for *const str
impl Zeroable for *mut str
impl Zeroable for u8
impl Zeroable for u16
impl Zeroable for u32
impl Zeroable for u64
impl Zeroable for u128
impl Zeroable for ()
impl Zeroable for usize
impl Zeroable for float64x1_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float64x1x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float64x1x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float64x1x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float64x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float64x2x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float64x2x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float64x2x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float32x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float32x2x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float32x2x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float32x2x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float32x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float32x4x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float32x4x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for float32x4x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int8x8_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int8x8x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int8x8x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int8x8x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int8x16_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int8x16x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int8x16x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int8x16x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int16x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int16x4x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int16x4x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int16x4x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int16x8_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int16x8x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int16x8x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int16x8x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int32x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int32x2x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int32x2x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int32x2x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int32x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int32x4x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int32x4x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int32x4x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int64x1_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int64x1x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int64x1x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int64x1x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int64x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int64x2x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int64x2x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for int64x2x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly8x8_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly8x8x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly8x8x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly8x8x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly8x16_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly8x16x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly8x16x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly8x16x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly16x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly16x4x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly16x4x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly16x4x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly16x8_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly16x8x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly16x8x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly16x8x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly64x1_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly64x1x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly64x1x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly64x1x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly64x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly64x2x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly64x2x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for poly64x2x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint8x8_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint8x8x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint8x8x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint8x8x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint8x16_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint8x16x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint8x16x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint8x16x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint16x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint16x4x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint16x4x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint16x4x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint16x8_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint16x8x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint16x8x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint16x8x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint32x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint32x2x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint32x2x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint32x2x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint32x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint32x4x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint32x4x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint32x4x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint64x1_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint64x1x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint64x1x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint64x1x4_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint64x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint64x2x2_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint64x2x3_t
Available on AArch64 and crate feature
aarch64_simd only.impl Zeroable for uint64x2x4_t
Available on AArch64 and crate feature
aarch64_simd only.