Trait FromZeros

Source
pub unsafe trait FromZeros: TryFromBytes {
    // Provided methods
    fn zero(&mut self) { ... }
    fn new_zeroed() -> Self
       where Self: Sized { ... }
}
Expand description

Types for which a sequence of 0 bytes is a valid instance.

Any memory region of the appropriate length which is guaranteed to contain only zero bytes can be viewed as any FromZeros type with no runtime overhead. This is useful whenever memory is known to be in a zeroed state, such memory returned from some allocation routines.

§Warning: Padding bytes

Note that, when a value is moved or copied, only the non-padding bytes of that value are guaranteed to be preserved. It is unsound to assume that values written to padding bytes are preserved after a move or copy. For more details, see the FromBytes docs.

§Implementation

Do not implement this trait yourself! Instead, use #[derive(FromZeros)]; e.g.:

#[derive(FromZeros)]
struct MyStruct {
    ...
}

#[derive(FromZeros)]
#[repr(u8)]
enum MyEnum {
    ...
}

#[derive(FromZeros, Immutable)]
union MyUnion {
    ...
}

This derive performs a sophisticated, compile-time safety analysis to determine whether a type is FromZeros.

§Safety

This section describes what is required in order for T: FromZeros, and what unsafe code may assume of such types. If you don’t plan on implementing FromZeros manually, and you don’t plan on writing unsafe code that operates on FromZeros types, then you don’t need to read this section.

If T: FromZeros, then unsafe code may assume that it is sound to produce a T whose bytes are all initialized to zero. If a type is marked as FromZeros which violates this contract, it may cause undefined behavior.

#[derive(FromZeros)] only permits types which satisfy these requirements.

Provided Methods§

Source

fn zero(&mut self)

Overwrites self with zeros.

Sets every byte in self to 0. While this is similar to doing *self = Self::new_zeroed(), it differs in that zero does not semantically drop the current value and replace it with a new one — it simply modifies the bytes of the existing value.

§Examples
#[derive(FromZeros)]
#[repr(C)]
struct PacketHeader {
    src_port: [u8; 2],
    dst_port: [u8; 2],
    length: [u8; 2],
    checksum: [u8; 2],
}

let mut header = PacketHeader {
    src_port: 100u16.to_be_bytes(),
    dst_port: 200u16.to_be_bytes(),
    length: 300u16.to_be_bytes(),
    checksum: 400u16.to_be_bytes(),
};

header.zero();

assert_eq!(header.src_port, [0, 0]);
assert_eq!(header.dst_port, [0, 0]);
assert_eq!(header.length, [0, 0]);
assert_eq!(header.checksum, [0, 0]);
Source

fn new_zeroed() -> Self
where Self: Sized,

Creates an instance of Self from zeroed bytes.

§Examples
#[derive(FromZeros)]
#[repr(C)]
struct PacketHeader {
    src_port: [u8; 2],
    dst_port: [u8; 2],
    length: [u8; 2],
    checksum: [u8; 2],
}

let header: PacketHeader = FromZeros::new_zeroed();

assert_eq!(header.src_port, [0, 0]);
assert_eq!(header.dst_port, [0, 0]);
assert_eq!(header.length, [0, 0]);
assert_eq!(header.checksum, [0, 0]);

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 FromZeros for Option<NonZeroI8>

Source§

impl FromZeros for Option<NonZeroI16>

Source§

impl FromZeros for Option<NonZeroI32>

Source§

impl FromZeros for Option<NonZeroI64>

Source§

impl FromZeros for Option<NonZeroI128>

Source§

impl FromZeros for Option<NonZeroIsize>

Source§

impl FromZeros for Option<NonZeroU8>

Source§

impl FromZeros for Option<NonZeroU16>

Source§

impl FromZeros for Option<NonZeroU32>

Source§

impl FromZeros for Option<NonZeroU64>

Source§

impl FromZeros for Option<NonZeroU128>

Source§

impl FromZeros for Option<NonZeroUsize>

Source§

impl FromZeros for bool

Source§

impl FromZeros for char

Source§

impl FromZeros for f32

Source§

impl FromZeros for f64

Source§

impl FromZeros for i8

Source§

impl FromZeros for i16

Source§

impl FromZeros for i32

Source§

impl FromZeros for i64

Source§

impl FromZeros for i128

Source§

impl FromZeros for isize

Source§

impl FromZeros for str

Source§

impl FromZeros for u8

Source§

impl FromZeros for u16

Source§

impl FromZeros for u32

Source§

impl FromZeros for u64

Source§

impl FromZeros for u128

Source§

impl FromZeros for ()

Source§

impl FromZeros for usize

Source§

impl FromZeros for __m128

Source§

impl FromZeros for __m128d

Source§

impl FromZeros for __m128i

Source§

impl FromZeros for __m256

Source§

impl FromZeros for __m256d

Source§

impl FromZeros for __m256i

Source§

impl FromZeros for AtomicBool

Source§

impl FromZeros for AtomicI8

Source§

impl FromZeros for AtomicI16

Source§

impl FromZeros for AtomicI32

Source§

impl FromZeros for AtomicI64

Source§

impl FromZeros for AtomicIsize

Source§

impl FromZeros for AtomicU8

Source§

impl FromZeros for AtomicU16

Source§

impl FromZeros for AtomicU32

Source§

impl FromZeros for AtomicU64

Source§

impl FromZeros for AtomicUsize

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> FromZeros for Option<fn(A, B, C, D, E, F, G, H, I, J, K, L) -> M>

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> FromZeros for Option<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> M>

Source§

impl<B, C, D, E, F, G, H, I, J, K, L, M> FromZeros for Option<fn(B, C, D, E, F, G, H, I, J, K, L) -> M>

Source§

impl<B, C, D, E, F, G, H, I, J, K, L, M> FromZeros for Option<extern "C" fn(B, C, D, E, F, G, H, I, J, K, L) -> M>

Source§

impl<C, D, E, F, G, H, I, J, K, L, M> FromZeros for Option<fn(C, D, E, F, G, H, I, J, K, L) -> M>

Source§

impl<C, D, E, F, G, H, I, J, K, L, M> FromZeros for Option<extern "C" fn(C, D, E, F, G, H, I, J, K, L) -> M>

Source§

impl<D, E, F, G, H, I, J, K, L, M> FromZeros for Option<fn(D, E, F, G, H, I, J, K, L) -> M>

Source§

impl<D, E, F, G, H, I, J, K, L, M> FromZeros for Option<extern "C" fn(D, E, F, G, H, I, J, K, L) -> M>

Source§

impl<E, F, G, H, I, J, K, L, M> FromZeros for Option<fn(E, F, G, H, I, J, K, L) -> M>

Source§

impl<E, F, G, H, I, J, K, L, M> FromZeros for Option<extern "C" fn(E, F, G, H, I, J, K, L) -> M>

Source§

impl<F, G, H, I, J, K, L, M> FromZeros for Option<fn(F, G, H, I, J, K, L) -> M>

Source§

impl<F, G, H, I, J, K, L, M> FromZeros for Option<extern "C" fn(F, G, H, I, J, K, L) -> M>

Source§

impl<G, H, I, J, K, L, M> FromZeros for Option<fn(G, H, I, J, K, L) -> M>

Source§

impl<G, H, I, J, K, L, M> FromZeros for Option<extern "C" fn(G, H, I, J, K, L) -> M>

Source§

impl<H, I, J, K, L, M> FromZeros for Option<fn(H, I, J, K, L) -> M>

Source§

impl<H, I, J, K, L, M> FromZeros for Option<extern "C" fn(H, I, J, K, L) -> M>

Source§

impl<I, J, K, L, M> FromZeros for Option<fn(I, J, K, L) -> M>

Source§

impl<I, J, K, L, M> FromZeros for Option<extern "C" fn(I, J, K, L) -> M>

Source§

impl<J, K, L, M> FromZeros for Option<fn(J, K, L) -> M>

Source§

impl<J, K, L, M> FromZeros for Option<extern "C" fn(J, K, L) -> M>

Source§

impl<K, L, M> FromZeros for Option<fn(K, L) -> M>

Source§

impl<K, L, M> FromZeros for Option<extern "C" fn(K, L) -> M>

Source§

impl<L, M> FromZeros for Option<fn(L) -> M>

Source§

impl<L, M> FromZeros for Option<extern "C" fn(L) -> M>

Source§

impl<M> FromZeros for Option<fn() -> M>

Source§

impl<M> FromZeros for Option<extern "C" fn() -> M>

Source§

impl<T> FromZeros for Option<&T>

Source§

impl<T> FromZeros for Option<&mut T>

Source§

impl<T> FromZeros for Option<NonNull<T>>

Source§

impl<T> FromZeros for *const T

Source§

impl<T> FromZeros for *mut T

Source§

impl<T> FromZeros for AtomicPtr<T>

Source§

impl<T> FromZeros for CoreMaybeUninit<T>

Source§

impl<T: FromZeros> FromZeros for [T]

Source§

impl<T: FromZeros> FromZeros for Wrapping<T>

Source§

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

Source§

impl<T: ?Sized + FromZeros> FromZeros for Cell<T>

Source§

impl<T: ?Sized + FromZeros> FromZeros for UnsafeCell<T>

Source§

impl<T: ?Sized + FromZeros> FromZeros for ManuallyDrop<T>

Source§

impl<T: ?Sized> FromZeros for PhantomData<T>

Implementors§

Source§

impl<O> FromZeros for F32<O>

Source§

impl<O> FromZeros for F64<O>

Source§

impl<O> FromZeros for I16<O>

Source§

impl<O> FromZeros for I32<O>

Source§

impl<O> FromZeros for I64<O>

Source§

impl<O> FromZeros for I128<O>

Source§

impl<O> FromZeros for Isize<O>

Source§

impl<O> FromZeros for U16<O>

Source§

impl<O> FromZeros for U32<O>

Source§

impl<O> FromZeros for U64<O>

Source§

impl<O> FromZeros for U128<O>

Source§

impl<O> FromZeros for Usize<O>

Source§

impl<T> FromZeros for Unalign<T>
where T: FromZeros,

impl FromZeros for BlockFifoCommand
where u8: FromZeros, [u8; 3]: FromZeros, u32: FromZeros,

impl FromZeros for BlockFifoRequest
where block_fifo_command_t: FromZeros, reqid_t: FromZeros, groupid_t: FromZeros, vmoid_t: FromZeros, u32: FromZeros, u64: FromZeros,

impl FromZeros for BlockFifoResponse
where zx_status_t: FromZeros, reqid_t: FromZeros, groupid_t: FromZeros, u16: FromZeros, u32: FromZeros, [u64; 4]: FromZeros,

impl FromZeros for Header
where u64: FromZeros,

impl FromZeros for EapolFields
where ProtocolVersion: FromZeros, PacketType: FromZeros, BigEndianU16: FromZeros,

impl FromZeros for KeyDescriptor
where u8: FromZeros,

impl FromZeros for KeyFrameFields
where KeyDescriptor: FromZeros, BigEndianU16: FromZeros, BigEndianU64: FromZeros, [u8; 32]: FromZeros, [u8; 16]: FromZeros, [u8; 8]: FromZeros,

impl FromZeros for KeyInformation
where u16: FromZeros,

impl FromZeros for PacketType
where u8: FromZeros,

impl FromZeros for ProtocolVersion
where u8: FromZeros,

impl FromZeros for BlockGroupDesc32
where U32: FromZeros, U16: FromZeros,

impl FromZeros for DirEntryHeader
where U32: FromZeros, U16: FromZeros, u8: FromZeros,

impl FromZeros for Extent
where U32: FromZeros, U16: FromZeros,

impl FromZeros for ExtentHeader
where U16: FromZeros, U32: FromZeros,

impl FromZeros for ExtentIndex
where U32: FromZeros, U16: FromZeros,

impl FromZeros for INode
where U16: FromZeros, U32: FromZeros, [u8; 4]: FromZeros, [u8; 60]: FromZeros,

impl FromZeros for SuperBlock
where U32: FromZeros, U16: FromZeros, [u8; 16]: FromZeros, [u8; 64]: FromZeros, u8: FromZeros, [U32; 4]: FromZeros, [U32; 17]: FromZeros, U64: FromZeros, [u8; 32]: FromZeros, [U32; 2]: FromZeros, [u8; 4]: FromZeros, [U32; 98]: FromZeros,

impl FromZeros for XattrEntryHeader
where u8: FromZeros, U16: FromZeros, U32: FromZeros,

impl FromZeros for XattrHeader
where U32: FromZeros, [u8; 8]: FromZeros,

impl<B> FromZeros for ExtentTreeNode<B>
where Ref<B, ExtentHeader>: FromZeros, B: FromZeros + SplitByteSlice,

impl FromZeros for BoardInfo
where u32: FromZeros,

impl FromZeros for DcfgAmlogicHdcpDriver
where u64: FromZeros,

impl FromZeros for DcfgAmlogicRngDriver
where u64: FromZeros,

impl FromZeros for DcfgArmGenericTimerDriver
where u32: FromZeros,

impl FromZeros for DcfgArmGicV2Driver
where u64: FromZeros, u32: FromZeros, u8: FromZeros, u16: FromZeros,

impl FromZeros for DcfgArmGicV3Driver
where u64: FromZeros, u32: FromZeros, u8: FromZeros, [u8; 3]: FromZeros,

impl FromZeros for DcfgArmPsciDriver
where u8: FromZeros, [u8; 7]: FromZeros, [u64; 3]: FromZeros,

impl FromZeros for DcfgGeneric32Watchdog
where DcfgGeneric32WatchdogAction: FromZeros, i64: FromZeros, KernelDriverGeneric32WatchdogFlags: FromZeros, u32: FromZeros,

impl FromZeros for DcfgGeneric32WatchdogAction
where u64: FromZeros, u32: FromZeros,

impl FromZeros for DcfgRiscvGenericTimerDriver
where u32: FromZeros,

impl FromZeros for DcfgRiscvPlicDriver
where u64: FromZeros, u32: FromZeros,

impl FromZeros for DcfgSimple
where u64: FromZeros, u32: FromZeros,

impl FromZeros for DcfgSimplePio
where u16: FromZeros, u32: FromZeros,

impl FromZeros for Flags
where u32: FromZeros,

impl FromZeros for Kernel
where u64: FromZeros,

impl FromZeros for KernelDriverGeneric32WatchdogFlags
where u32: FromZeros,

impl FromZeros for KernelDriverIrqFlags
where u32: FromZeros,

impl FromZeros for Nvram
where u64: FromZeros,

impl FromZeros for Partition
where PartitionGuid: FromZeros, u64: FromZeros, [u8; 32]: FromZeros,

impl FromZeros for PartitionMap
where u64: FromZeros, u32: FromZeros, PartitionGuid: FromZeros,

impl FromZeros for PlatformId
where u32: FromZeros, [u8; 32]: FromZeros,

impl FromZeros for TopologyArm64Info
where u8: FromZeros,

impl FromZeros for TopologyCache
where u32: FromZeros,

impl FromZeros for TopologyCluster
where u8: FromZeros,

impl FromZeros for TopologyDie
where u64: FromZeros,

impl FromZeros for TopologyNumaRegion
where u64: FromZeros,

impl FromZeros for TopologyProcessorFlags
where u16: FromZeros,

impl FromZeros for TopologyRiscv64Info
where u64: FromZeros, u32: FromZeros,

impl FromZeros for TopologySocket
where u64: FromZeros,

impl FromZeros for TopologyX64Info
where [u32; 4]: FromZeros, u32: FromZeros,

impl FromZeros for ArrayMembers
where [u8; 10]: FromZeros, [Singleton; 6]: FromZeros, [[u8; 10]; 20]: FromZeros, [[[i8; 1]; 2]; 3]: FromZeros,

impl FromZeros for Bits
where u16: FromZeros,

impl FromZeros for Empty

impl FromZeros for WireF32
where f32: FromZeros,

impl FromZeros for WireF64
where f64: FromZeros,

impl FromZeros for WireI16
where i16: FromZeros,

impl FromZeros for WireI32
where i32: FromZeros,

impl FromZeros for WireI64
where i64: FromZeros,

impl FromZeros for WireU16
where u16: FromZeros,

impl FromZeros for WireU32
where u32: FromZeros,

impl FromZeros for WireU64
where u64: FromZeros,

impl FromZeros for zbi_bootfs_dirent_t
where U32: FromZeros,

impl FromZeros for zbi_bootfs_header_t
where U32: FromZeros,

impl FromZeros for ZbiTopologyArm64Info
where u8: FromZeros,

impl FromZeros for ZbiTopologyCache
where u32: FromZeros,

impl FromZeros for ZbiTopologyCluster
where u8: FromZeros,

impl FromZeros for ZbiTopologyNode
where u8: FromZeros, u16: FromZeros, Entity: FromZeros,

impl FromZeros for ZbiTopologyNumaRegion
where u64: FromZeros,

impl FromZeros for ZbiTopologyProcessor
where [u16; 4]: FromZeros, u8: FromZeros, u16: FromZeros, ArchitectureInfo: FromZeros,

impl FromZeros for ZbiTopologyX64Info
where [u32; 4]: FromZeros, u32: FromZeros,

impl FromZeros for zbi_header_t
where U32: FromZeros,

impl FromZeros for ArchitectureInfo
where ZbiTopologyArm64Info: FromZeros + Immutable, ZbiTopologyX64Info: FromZeros + Immutable,

impl FromZeros for Entity
where ZbiTopologyProcessor: FromZeros + Immutable, ZbiTopologyCluster: FromZeros + Immutable, ZbiTopologyNumaRegion: FromZeros + Immutable, ZbiTopologyCache: FromZeros + Immutable,

impl FromZeros for ProxyFilename
where u64: FromZeros, [u8; 149]: FromZeros, [u8; 32]: FromZeros,

impl FromZeros for Header
where [u8; 8]: FromZeros, u32: FromZeros, u64: FromZeros, [u8; 16]: FromZeros,

impl FromZeros for PartitionTableEntry
where [u8; 16]: FromZeros, u64: FromZeros, [u16; 36]: FromZeros,

impl FromZeros for Bssid
where [u8; 6]: FromZeros,

impl FromZeros for MacAddr
where [u8; 6]: FromZeros,

impl FromZeros for Type00Config
where u16: FromZeros, u8: FromZeros, [u32; 6]: FromZeros, u32: FromZeros, [u8; 3]: FromZeros, [u8; 4]: FromZeros,

impl FromZeros for Type01Config
where u16: FromZeros, u8: FromZeros, [u32; 2]: FromZeros, u32: FromZeros, [u8; 3]: FromZeros,

impl FromZeros for magma_buffer_info
where u64: FromZeros,

impl FromZeros for magma_buffer_offset
where u64: FromZeros,

impl FromZeros for magma_exec_command_buffer
where u32: FromZeros, u64: FromZeros,

impl FromZeros for magma_exec_resource
where magma_buffer_id_t: FromZeros, u64: FromZeros,

impl FromZeros for magma_image_create_info
where u64: FromZeros, [u64; 16]: FromZeros, u32: FromZeros,

impl FromZeros for magma_image_info
where [u64; 4]: FromZeros, [u32; 4]: FromZeros, u64: FromZeros, u32: FromZeros,

impl FromZeros for magma_total_time_query_result
where u64: FromZeros,

impl FromZeros for virtio_magma_buffer_clean_cache_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_clean_cache_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_export_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_export_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_get_cache_policy_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_get_cache_policy_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_get_handle_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_get_handle_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_get_info_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_get_info_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_set_cache_policy_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_set_cache_policy_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_set_name_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_buffer_set_name_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_config
where u64: FromZeros,

impl FromZeros for virtio_magma_connection_create_buffer_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_create_buffer_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_create_context_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_create_context_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_create_semaphore_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_create_semaphore_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_dump_performance_counters_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_connection_enable_performance_counter_access_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_connection_execute_command_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_connection_execute_command_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_execute_immediate_commands_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_connection_execute_inline_commands_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_connection_flush_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_flush_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_get_error_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_get_error_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_import_buffer_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_connection_import_buffer_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_import_semaphore2_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_connection_import_semaphore2_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_map_buffer_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_map_buffer_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_perform_buffer_op_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_connection_perform_buffer_op_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_release_buffer_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_release_context_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_connection_release_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_release_semaphore_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_connection_unmap_buffer_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_ctrl_hdr
where u32: FromZeros,

impl FromZeros for virtio_magma_device_create_connection_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_device_create_connection_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_device_import_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_device_import_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_device_query_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_device_query_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_device_release_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_device_release_resp
where virtio_magma_ctrl_hdr_t: FromZeros,

impl FromZeros for virtio_magma_initialize_logging_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_initialize_logging_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_initialize_tracing_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_initialize_tracing_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_internal_map_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u32: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_internal_map_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_internal_release_handle_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_internal_release_handle_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_internal_unmap_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u32: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_internal_unmap_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_poll_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros, u32: FromZeros,

impl FromZeros for virtio_magma_poll_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_semaphore_export_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_semaphore_export_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_semaphore_reset_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_semaphore_signal_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_virt_connection_create_image_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_virt_connection_create_image_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_virt_connection_get_image_info_ctrl
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtio_magma_virt_connection_get_image_info_resp
where virtio_magma_ctrl_hdr_t: FromZeros, u64: FromZeros,

impl FromZeros for virtmagma_buffer_set_name_wrapper
where __u64: FromZeros,

impl FromZeros for virtmagma_command_descriptor
where __u64: FromZeros,

impl FromZeros for virtmagma_create_image_wrapper
where __u64: FromZeros,

impl FromZeros for virtmagma_get_image_info_wrapper
where __u64: FromZeros,

impl FromZeros for virtmagma_ioctl_args_handshake
where __u32: FromZeros,

impl FromZeros for virtmagma_ioctl_args_magma_command
where __u64: FromZeros,

impl FromZeros for A
where [u8; 4]: FromZeros,

impl FromZeros for Aaaa
where [u8; 16]: FromZeros,

impl FromZeros for Header
where U16: FromZeros,

impl FromZeros for Mac
where [u8; 6]: FromZeros,

impl FromZeros for Ipv4Addr
where [u8; 4]: FromZeros,

impl FromZeros for Ipv6Addr
where [u8; 16]: FromZeros,

impl FromZeros for PacketHead
where U32: FromZeros,

impl FromZeros for Mldv1Message
where U16: FromZeros, Ipv6Addr: FromZeros,

impl FromZeros for Mldv2QueryMessageHeader
where U16: FromZeros, Ipv6Addr: FromZeros, u8: FromZeros,

impl FromZeros for Mldv2ReportHeader
where [u8; 2]: FromZeros, U16: FromZeros,

impl FromZeros for Mldv2ReportRecordHeader
where u8: FromZeros, U16: FromZeros, Ipv6Addr: FromZeros,

impl FromZeros for MulticastListenerDone

impl FromZeros for MulticastListenerQuery

impl FromZeros for MulticastListenerQueryV2

impl FromZeros for MulticastListenerReport

impl FromZeros for MulticastListenerReportV2

impl FromZeros for PrefixInformation
where u8: FromZeros, U32: FromZeros, [u8; 4]: FromZeros, Ipv6Addr: FromZeros,

impl FromZeros for NeighborAdvertisement
where u8: FromZeros, [u8; 3]: FromZeros, Ipv6Addr: FromZeros,

impl FromZeros for NeighborSolicitation
where [u8; 4]: FromZeros, Ipv6Addr: FromZeros,

impl FromZeros for Redirect
where [u8; 4]: FromZeros, Ipv6Addr: FromZeros,

impl FromZeros for RouterAdvertisement
where u8: FromZeros, U16: FromZeros, U32: FromZeros,

impl FromZeros for RouterSolicitation
where [u8; 4]: FromZeros,

impl FromZeros for IcmpDestUnreachable
where [u8; 2]: FromZeros, U16: FromZeros,

impl FromZeros for IcmpEchoReply
where IdAndSeq: FromZeros,

impl FromZeros for IcmpEchoRequest
where IdAndSeq: FromZeros,

impl FromZeros for IcmpTimeExceeded
where [u8; 4]: FromZeros,

impl FromZeros for Icmpv4ParameterProblem
where u8: FromZeros, [u8; 3]: FromZeros,

impl FromZeros for Icmpv4Redirect
where Ipv4Addr: FromZeros,

impl FromZeros for Icmpv4TimestampReply
where Timestamp: FromZeros,

impl FromZeros for Icmpv4TimestampRequest
where Timestamp: FromZeros,

impl FromZeros for Icmpv6PacketTooBig
where U32: FromZeros,

impl FromZeros for Icmpv6ParameterProblem
where U32: FromZeros,

impl FromZeros for GroupRecordHeader
where u8: FromZeros, U16: FromZeros, Ipv4Addr: FromZeros,

impl FromZeros for MembershipQueryData
where Ipv4Addr: FromZeros, u8: FromZeros, U16: FromZeros,

impl FromZeros for MembershipReportV3Data
where [u8; 2]: FromZeros, U16: FromZeros,

impl FromZeros for HeaderPrefix
where u8: FromZeros, [u8; 2]: FromZeros,

impl FromZeros for DscpAndEcn
where u8: FromZeros,

impl FromZeros for HeaderPrefix
where u8: FromZeros, DscpAndEcn: FromZeros, U16: FromZeros, [u8; 2]: FromZeros, Ipv4Addr: FromZeros,

impl FromZeros for FixedHeader
where [u8; 4]: FromZeros, U16: FromZeros, u8: FromZeros, Ipv6Addr: FromZeros,

impl FromZeros for TcpSackBlock
where U32: FromZeros,

impl FromZeros for TcpFlowAndSeqNum
where TcpFlowHeader: FromZeros, U32: FromZeros,

impl FromZeros for TcpFlowHeader
where U16: FromZeros,

impl FromZeros for Elf32Dyn
where u32: FromZeros,

impl FromZeros for Elf32FileHeader
where ElfIdent: FromZeros, u16: FromZeros, u32: FromZeros,

impl FromZeros for Elf32ProgramHeader
where u32: FromZeros,

impl FromZeros for Elf64Dyn
where u64: FromZeros,

impl FromZeros for Elf64FileHeader
where ElfIdent: FromZeros, u16: FromZeros, u32: FromZeros, usize: FromZeros,

impl FromZeros for Elf64ProgramHeader
where u32: FromZeros, usize: FromZeros, u64: FromZeros,

impl FromZeros for ElfIdent
where [u8; 4]: FromZeros, u8: FromZeros, [u8; 7]: FromZeros,

impl FromZeros for elf32_sym
where Elf32Word: FromZeros, Elf32Addr: FromZeros, u8: FromZeros, Elf32Half: FromZeros,

impl FromZeros for elf64_sym
where Elf64Word: FromZeros, u8: FromZeros, Elf64Half: FromZeros, Elf64Addr: FromZeros, Elf64Xword: FromZeros,

impl FromZeros for EUI48
where [u8; 6]: FromZeros,

impl FromZeros for EUI64
where [u8; 8]: FromZeros,

impl FromZeros for BigEndianU128
where [u8; 16]: FromZeros,

impl FromZeros for BigEndianU16
where [u8; 2]: FromZeros,

impl FromZeros for BigEndianU32
where [u8; 4]: FromZeros,

impl FromZeros for BigEndianU64
where [u8; 8]: FromZeros,

impl FromZeros for AmpduParams
where u8: FromZeros,

impl FromZeros for ApWmmInfo
where u8: FromZeros,

impl FromZeros for AselCapability
where u8: FromZeros,

impl FromZeros for BitmapControl
where u8: FromZeros,

impl FromZeros for BssMaxIdlePeriod
where u16: FromZeros, IdleOptions: FromZeros,

impl FromZeros for ChannelSwitchAnnouncement
where u8: FromZeros,

impl FromZeros for ClientWmmInfo
where u8: FromZeros,

impl FromZeros for DsssParamSet
where u8: FromZeros,

impl FromZeros for EcwMinMax
where u8: FromZeros,

impl FromZeros for ExtCapabilitiesOctet1
where u8: FromZeros,

impl FromZeros for ExtCapabilitiesOctet2
where u8: FromZeros,

impl FromZeros for ExtCapabilitiesOctet3
where u8: FromZeros,

impl FromZeros for ExtendedChannelSwitchAnnouncement
where u8: FromZeros,

impl FromZeros for Header
where Id: FromZeros, u8: FromZeros,

impl FromZeros for HtCapabilities
where HtCapabilityInfo: FromZeros, AmpduParams: FromZeros, SupportedMcsSet: FromZeros, HtExtCapabilities: FromZeros, TxBfCapability: FromZeros, AselCapability: FromZeros,

impl FromZeros for HtCapabilityInfo
where u16: FromZeros,

impl FromZeros for HtExtCapabilities
where u16: FromZeros,

impl FromZeros for HtOpInfo
where [u8; 5]: FromZeros,

impl FromZeros for HtOperation
where u8: FromZeros, HtOpInfo: FromZeros, SupportedMcsSet: FromZeros,

impl FromZeros for Id
where u8: FromZeros,

impl FromZeros for IdleOptions
where u8: FromZeros,

impl FromZeros for MpmProtocol
where u16: FromZeros,

impl FromZeros for PerrDestinationFlags
where u8: FromZeros,

impl FromZeros for PerrDestinationHeader
where PerrDestinationFlags: FromZeros, MacAddr: FromZeros, u32: FromZeros,

impl FromZeros for PerrHeader
where u8: FromZeros,

impl FromZeros for PrepFlags
where u8: FromZeros,

impl FromZeros for PrepHeader
where PrepFlags: FromZeros, u8: FromZeros, MacAddr: FromZeros, u32: FromZeros,

impl FromZeros for PrepTail
where u32: FromZeros, MacAddr: FromZeros,

impl FromZeros for PreqFlags
where u8: FromZeros,

impl FromZeros for PreqHeader
where PreqFlags: FromZeros, u8: FromZeros, u32: FromZeros, MacAddr: FromZeros,

impl FromZeros for PreqMiddle
where u32: FromZeros, u8: FromZeros,

impl FromZeros for PreqPerTarget
where PreqPerTargetFlags: FromZeros, MacAddr: FromZeros, u32: FromZeros,

impl FromZeros for PreqPerTargetFlags
where u8: FromZeros,

impl FromZeros for RmEnabledCapabilities
where [u8; 5]: FromZeros,

impl FromZeros for SecChanOffset
where u8: FromZeros,

impl FromZeros for SupportedMcsSet
where u128: FromZeros,

impl FromZeros for SupportedRate
where u8: FromZeros,

impl FromZeros for TimHeader
where u8: FromZeros, BitmapControl: FromZeros,

impl FromZeros for TransmitPower
where u8: FromZeros,

impl FromZeros for TransmitPowerInfo
where u8: FromZeros,

impl FromZeros for TxBfCapability
where u32: FromZeros,

impl FromZeros for VhtCapabilities
where VhtCapabilitiesInfo: FromZeros, VhtMcsNssSet: FromZeros,

impl FromZeros for VhtCapabilitiesInfo
where u32: FromZeros,

impl FromZeros for VhtChannelBandwidth
where u8: FromZeros,

impl FromZeros for VhtMcsNssMap
where u16: FromZeros,

impl FromZeros for VhtMcsNssSet
where u64: FromZeros,

impl FromZeros for VhtOperation
where VhtChannelBandwidth: FromZeros, u8: FromZeros, VhtMcsNssMap: FromZeros,

impl FromZeros for WideBandwidthChannelSwitch
where VhtChannelBandwidth: FromZeros, u8: FromZeros,

impl FromZeros for WmmAcParams
where WmmAciAifsn: FromZeros, EcwMinMax: FromZeros, u16: FromZeros,

impl FromZeros for WmmAciAifsn
where u8: FromZeros,

impl FromZeros for WmmInfo
where u8: FromZeros,

impl FromZeros for WmmParam
where WmmInfo: FromZeros, u8: FromZeros, WmmAcParams: FromZeros,

impl FromZeros for AttributeHeader
where Id: FromZeros, BigEndianU16: FromZeros,

impl FromZeros for Id
where [u8; 2]: FromZeros,

impl FromZeros for WpsState
where u8: FromZeros,

impl FromZeros for ActionCategory
where u8: FromZeros,

impl FromZeros for ActionHdr
where ActionCategory: FromZeros,

impl FromZeros for AddbaReqHdr
where BlockAckAction: FromZeros, u8: FromZeros, BlockAckParameters: FromZeros, u16: FromZeros, BlockAckStartingSequenceControl: FromZeros,

impl FromZeros for AddbaRespHdr
where BlockAckAction: FromZeros, u8: FromZeros, StatusCode: FromZeros, BlockAckParameters: FromZeros, u16: FromZeros,

impl FromZeros for AmsduSubframeHdr
where MacAddr: FromZeros, BigEndianU16: FromZeros,

impl FromZeros for AssocReqHdr
where CapabilityInfo: FromZeros, u16: FromZeros,

impl FromZeros for AssocRespHdr
where CapabilityInfo: FromZeros, StatusCode: FromZeros, Aid: FromZeros,

impl FromZeros for AuthAlgorithmNumber
where u16: FromZeros,

impl FromZeros for AuthHdr
where AuthAlgorithmNumber: FromZeros, u16: FromZeros, StatusCode: FromZeros,

impl FromZeros for BeaconHdr
where u64: FromZeros, TimeUnit: FromZeros, CapabilityInfo: FromZeros,

impl FromZeros for BlockAckAction
where u8: FromZeros,

impl FromZeros for BlockAckParameters
where u16: FromZeros,

impl FromZeros for BlockAckPolicy
where u8: FromZeros,

impl FromZeros for BlockAckStartingSequenceControl
where u16: FromZeros,

impl FromZeros for CapabilityInfo
where u16: FromZeros,

impl FromZeros for DeauthHdr
where ReasonCode: FromZeros,

impl FromZeros for DelbaHdr
where BlockAckAction: FromZeros, DelbaParameters: FromZeros, ReasonCode: FromZeros,

impl FromZeros for DelbaParameters
where u16: FromZeros,

impl FromZeros for DisassocHdr
where ReasonCode: FromZeros,

impl FromZeros for EthernetIIHdr
where MacAddr: FromZeros, BigEndianU16: FromZeros,

impl FromZeros for FixedDataHdrFields
where FrameControl: FromZeros, u16: FromZeros, MacAddr: FromZeros, SequenceControl: FromZeros,

impl FromZeros for FrameControl
where u16: FromZeros,

impl FromZeros for HtControl
where u32: FromZeros,

impl FromZeros for LlcHdr
where u8: FromZeros, [u8; 3]: FromZeros, BigEndianU16: FromZeros,

impl FromZeros for MgmtHdr
where FrameControl: FromZeros, u16: FromZeros, MacAddr: FromZeros, SequenceControl: FromZeros,

impl FromZeros for ProbeRespHdr
where u64: FromZeros, TimeUnit: FromZeros, CapabilityInfo: FromZeros,

impl FromZeros for PsPoll
where u16: FromZeros, Bssid: FromZeros, MacAddr: FromZeros,

impl FromZeros for QosControl
where u16: FromZeros,

impl FromZeros for ReasonCode
where u16: FromZeros,

impl FromZeros for SequenceControl
where u16: FromZeros,

impl FromZeros for SpectrumMgmtAction
where u8: FromZeros,

impl FromZeros for StatusCode
where u16: FromZeros,

impl FromZeros for Oui
where [u8; 3]: FromZeros,

impl FromZeros for TimeUnit
where u16: FromZeros,

impl FromZeros for HandleCountInfo
where u32: FromZeros,

impl FromZeros for Koid
where zx_koid_t: FromZeros,

impl FromZeros for MapInfo
where Name: FromZeros, usize: FromZeros, zx_info_maps_type_t: FromZeros, InfoMapsTypeUnion: FromZeros,

impl FromZeros for MappingDetails
where VmarFlagsExtended: FromZeros, [PadByte; 4]: FromZeros, Koid: FromZeros, u64: FromZeros, usize: FromZeros,

impl FromZeros for MemStats
where u64: FromZeros,

impl FromZeros for MemStatsCompression
where u64: FromZeros, zx_duration_t: FromZeros, [u64; 8]: FromZeros,

impl FromZeros for MemStatsExtended
where u64: FromZeros,

impl FromZeros for MemoryStall
where zx_duration_mono_t: FromZeros,

impl FromZeros for Name
where [u8; 32]: FromZeros,

impl FromZeros for PerCpuStats
where u32: FromZeros, zx_duration_t: FromZeros, u64: FromZeros,

impl FromZeros for ProcessHandleStats
where [u32; 64]: FromZeros,

impl FromZeros for ProcessInfo
where i64: FromZeros, zx_time_t: FromZeros, u32: FromZeros,

impl FromZeros for ResourceInfo
where u32: FromZeros, u64: FromZeros, usize: FromZeros, [u8; 32]: FromZeros,

impl FromZeros for Rights
where zx_rights_t: FromZeros,

impl FromZeros for TaskRuntimeInfo
where zx_duration_t: FromZeros,

impl FromZeros for TaskStatsInfo
where usize: FromZeros, u64: FromZeros,

impl FromZeros for VmarFlags
where zx_vm_option_t: FromZeros,

impl FromZeros for VmarFlagsExtended
where zx_vm_option_t: FromZeros,

impl FromZeros for VmarInfo
where usize: FromZeros,

impl FromZeros for VmoInfo
where Koid: FromZeros, Name: FromZeros, u64: FromZeros, usize: FromZeros, VmoInfoFlags: FromZeros, [PadByte; 4]: FromZeros, Rights: FromZeros, u32: FromZeros,

impl FromZeros for VmoInfoFlags
where u32: FromZeros,

impl<T, U> FromZeros for Duration<T, U>
where zx_duration_t: FromZeros, PhantomData<(T, U)>: FromZeros,

impl<T, U> FromZeros for Instant<T, U>
where zx_time_t: FromZeros, PhantomData<(T, U)>: FromZeros,

impl<T: Timeline> FromZeros for TimerInfo<T>
where u32: FromZeros, Instant<T>: FromZeros, Duration<T>: FromZeros,

impl FromZeros for PadByte
where u8: FromZeros,

impl FromZeros for priority_params
where i32: FromZeros, [PadByte; 20]: FromZeros,

impl FromZeros for zx_arm64_exc_data_t
where u32: FromZeros, [PadByte; 4]: FromZeros, u64: FromZeros, [PadByte; 8]: FromZeros,

impl FromZeros for zx_cpu_set_t
where [u64; 8]: FromZeros,

impl FromZeros for zx_exception_context_t
where zx_exception_header_arch_t: FromZeros, zx_excp_policy_code_t: FromZeros, u32: FromZeros,

impl FromZeros for zx_exception_header_t
where u32: FromZeros, zx_excp_type_t: FromZeros,

impl FromZeros for zx_exception_info_t
where zx_koid_t: FromZeros, zx_excp_type_t: FromZeros, [PadByte; 4]: FromZeros,

impl FromZeros for zx_exception_report_t
where zx_exception_header_t: FromZeros, zx_exception_context_t: FromZeros,

impl FromZeros for zx_info_cpu_stats_t
where u32: FromZeros, zx_duration_t: FromZeros, u64: FromZeros,

impl FromZeros for zx_info_handle_basic_t
where zx_koid_t: FromZeros, zx_rights_t: FromZeros, zx_obj_type_t: FromZeros, [PadByte; 4]: FromZeros,

impl FromZeros for zx_info_handle_count_t
where u32: FromZeros,

impl FromZeros for zx_info_job_t
where i64: FromZeros, u8: FromZeros,

impl FromZeros for zx_info_kmem_stats_compression_t
where u64: FromZeros, zx_duration_t: FromZeros, [u64; 8]: FromZeros,

impl FromZeros for zx_info_kmem_stats_extended_t
where u64: FromZeros,

impl FromZeros for zx_info_kmem_stats_t
where u64: FromZeros,

impl FromZeros for zx_info_maps_mapping_t
where zx_vm_option_t: FromZeros, [PadByte; 4]: FromZeros, zx_koid_t: FromZeros, u64: FromZeros, usize: FromZeros,

impl FromZeros for zx_info_maps_t
where [u8; 32]: FromZeros, zx_vaddr_t: FromZeros, usize: FromZeros, zx_info_maps_type_t: FromZeros, InfoMapsTypeUnion: FromZeros,

impl FromZeros for zx_info_memory_stall_t
where zx_duration_mono_t: FromZeros,

impl FromZeros for zx_info_process_handle_stats_t
where [u32; 64]: FromZeros,

impl FromZeros for zx_info_process_t
where i64: FromZeros, zx_time_t: FromZeros, u32: FromZeros,

impl FromZeros for zx_info_resource_t
where u32: FromZeros, u64: FromZeros, usize: FromZeros, [u8; 32]: FromZeros,

impl FromZeros for zx_info_socket_t
where u32: FromZeros, usize: FromZeros,

impl FromZeros for zx_info_task_runtime_t
where zx_duration_t: FromZeros,

impl FromZeros for zx_info_task_stats_t
where usize: FromZeros, u64: FromZeros,

impl FromZeros for zx_info_thread_stats_t
where zx_duration_t: FromZeros, u32: FromZeros,

impl FromZeros for zx_info_thread_t
where zx_thread_state_t: FromZeros, u32: FromZeros, zx_cpu_set_t: FromZeros,

impl FromZeros for zx_info_timer_t
where u32: FromZeros, zx_clock_t: FromZeros, zx_time_t: FromZeros, zx_duration_t: FromZeros,

impl FromZeros for zx_info_vmar_t
where usize: FromZeros,

impl FromZeros for zx_info_vmo_t
where zx_koid_t: FromZeros, [u8; 32]: FromZeros, u64: FromZeros, usize: FromZeros, u32: FromZeros, [PadByte; 4]: FromZeros, zx_rights_t: FromZeros,

impl FromZeros for zx_log_record_t
where u64: FromZeros, [PadByte; 4]: FromZeros, u16: FromZeros, u8: FromZeros, zx_instant_boot_t: FromZeros, [u8; 216]: FromZeros,

impl FromZeros for zx_packet_guest_vcpu_exit_t
where i64: FromZeros, [PadByte; 8]: FromZeros,

impl FromZeros for zx_packet_guest_vcpu_interrupt_t
where u64: FromZeros, u8: FromZeros, [PadByte; 7]: FromZeros,

impl FromZeros for zx_packet_guest_vcpu_startup_t
where u64: FromZeros, zx_gpaddr_t: FromZeros,

impl FromZeros for zx_riscv64_exc_data_t
where u64: FromZeros, [PadByte; 8]: FromZeros,

impl FromZeros for zx_sched_deadline_params_t
where zx_duration_t: FromZeros,

impl FromZeros for zx_thread_state_general_regs_t
where u64: FromZeros,

impl FromZeros for zx_x86_64_exc_data_t
where u64: FromZeros,

impl FromZeros for InfoMapsTypeUnion
where zx_info_maps_mapping_t: FromZeros + Immutable,

impl FromZeros for zx_exception_header_arch_t
where zx_x86_64_exc_data_t: FromZeros + Immutable, zx_arm64_exc_data_t: FromZeros + Immutable, zx_riscv64_exc_data_t: FromZeros + Immutable,

impl FromZeros for zx_packet_guest_vcpu_union_t
where zx_packet_guest_vcpu_interrupt_t: FromZeros + Immutable, zx_packet_guest_vcpu_startup_t: FromZeros + Immutable, zx_packet_guest_vcpu_exit_t: FromZeros + Immutable,

impl FromZeros for zx_profile_info_union
where priority_params: FromZeros + Immutable, zx_sched_deadline_params_t: FromZeros + Immutable,