171 lines
105 KiB
HTML
171 lines
105 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Indicates that zerocopy can reason about certain aspects of a type’s layout."><title>KnownLayout in zerocopy - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="zerocopy" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">KnownLayout</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../zerocopy/index.html">zerocopy</a><span class="version">0.8.39</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Known<wbr>Layout</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#implementation" title="Implementation">Implementation</a></li><li><a href="#dynamically-sized-types" title="Dynamically-sized types">Dynamically-sized types</a><ul><li><a href="#slice-dst-layout" title="Slice DST layout">Slice DST layout</a></li><li><a href="#what-is-a-valid-size" title="What is a valid size?">What is a valid size?</a></li></ul></li><li><a href="#safety" title="Safety">Safety</a></li></ul><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.PointerMetadata" title="PointerMetadata">PointerMetadata</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.size_for_metadata" title="size_for_metadata">size_for_metadata</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-KnownLayout-for-%26T" title="&T">&T</a></li><li><a href="#impl-KnownLayout-for-%26mut+T" title="&mut T">&mut T</a></li><li><a href="#impl-KnownLayout-for-()" title="()">()</a></li><li><a href="#impl-KnownLayout-for-*const+T" title="*const T">*const T</a></li><li><a href="#impl-KnownLayout-for-*mut+T" title="*mut T">*mut T</a></li><li><a href="#impl-KnownLayout-for-AtomicBool" title="AtomicBool">AtomicBool</a></li><li><a href="#impl-KnownLayout-for-AtomicI8" title="AtomicI8">AtomicI8</a></li><li><a href="#impl-KnownLayout-for-AtomicI16" title="AtomicI16">AtomicI16</a></li><li><a href="#impl-KnownLayout-for-AtomicI32" title="AtomicI32">AtomicI32</a></li><li><a href="#impl-KnownLayout-for-AtomicI64" title="AtomicI64">AtomicI64</a></li><li><a href="#impl-KnownLayout-for-AtomicIsize" title="AtomicIsize">AtomicIsize</a></li><li><a href="#impl-KnownLayout-for-AtomicPtr%3CT%3E" title="AtomicPtr<T>">AtomicPtr<T></a></li><li><a href="#impl-KnownLayout-for-AtomicU8" title="AtomicU8">AtomicU8</a></li><li><a href="#impl-KnownLayout-for-AtomicU16" title="AtomicU16">AtomicU16</a></li><li><a href="#impl-KnownLayout-for-AtomicU32" title="AtomicU32">AtomicU32</a></li><li><a href="#impl-KnownLayout-for-AtomicU64" title="AtomicU64">AtomicU64</a></li><li><a href="#impl-KnownLayout-for-AtomicUsize" title="AtomicUsize">AtomicUsize</a></li><li><a href="#impl-KnownLayout-for-Cell%3CT%3E" title="Cell<T>">Cell<T></a></li><li><a href="#impl-KnownLayout-for-MaybeUninit%3CT%3E" title="CoreMaybeUninit<T>">CoreMaybeUninit<T></a></li><li><a href="#impl-KnownLayout-for-ManuallyDrop%3CT%3E" title="ManuallyDrop<T>">ManuallyDrop<T></a></li><li><a href="#impl-KnownLayout-for-NonZero%3Ci8%3E" title="NonZeroI8">NonZeroI8</a></li><li><a href="#impl-KnownLayout-for-NonZero%3Ci16%3E" title="NonZeroI16">NonZeroI16</a></li><li><a href="#impl-KnownLayout-for-NonZero%3Ci32%3E" title="NonZeroI32">NonZeroI32</a></li><li><a href="#impl-KnownLayout-for-NonZero%3Ci64%3E" title="NonZeroI64">NonZeroI64</a></li><li><a href="#impl-KnownLayout-for-NonZero%3Ci128%3E" title="NonZeroI128">NonZeroI128</a></li><li><a href="#impl-KnownLayout-for-NonZero%3Cisize%3E" title="NonZeroIsize">NonZeroIsize</a></li><li><a href="#impl-KnownLayout-for-NonZero%3Cu8%3E" title="NonZeroU8">NonZeroU8</a></li><li><a href="#impl-KnownLayout-for-NonZero%3Cu16%3E" title="NonZeroU16">NonZeroU16</a></li><li><a href="#impl-KnownLayout-for-NonZero%3Cu32%3E" title="NonZeroU32">NonZeroU32</a></li><li><a href="#impl-KnownLayout-for-NonZero%3Cu64%3E" title="NonZeroU64">NonZeroU64</a></li><li><a href="#impl-KnownLayout-for-NonZero%3Cu128%3E" title="NonZeroU128">NonZeroU128</a></li><li><a href="#impl-KnownLayout-for-NonZero%3Cusize%3E" title="NonZeroUsize">NonZeroUsize</a></li><li><a href="#impl-KnownLayout-for-Option%3CT%3E" title="Option<T>">Option<T></a></li><li><a href="#impl-KnownLayout-for-PhantomData%3CT%3E" title="PhantomData<T>">PhantomData<T></a></li><li><a href="#impl-KnownLayout-for-UnsafeCell%3CT%3E" title="UnsafeCell<T>">UnsafeCell<T></a></li><li><a href="#impl-KnownLayout-for-Wrapping%3CT%3E" title="Wrapping<T>">Wrapping<T></a></li><li><a href="#impl-KnownLayout-for-%5BT;+N%5D" title="[T; N]">[T; N]</a></li><li><a href="#impl-KnownLayout-for-%5BT%5D" title="[T]">[T]</a></li><li><a href="#impl-KnownLayout-for-__m128" title="__m128">__m128</a></li><li><a href="#impl-KnownLayout-for-__m256" title="__m256">__m256</a></li><li><a href="#impl-KnownLayout-for-__m512" title="__m512">__m512</a></li><li><a href="#impl-KnownLayout-for-__m128d" title="__m128d">__m128d</a></li><li><a href="#impl-KnownLayout-for-__m128i" title="__m128i">__m128i</a></li><li><a href="#impl-KnownLayout-for-__m256d" title="__m256d">__m256d</a></li><li><a href="#impl-KnownLayout-for-__m256i" title="__m256i">__m256i</a></li><li><a href="#impl-KnownLayout-for-__m512bh" title="__m512bh">__m512bh</a></li><li><a href="#impl-KnownLayout-for-__m512d" title="__m512d">__m512d</a></li><li><a href="#impl-KnownLayout-for-__m512i" title="__m512i">__m512i</a></li><li><a href="#impl-KnownLayout-for-bool" title="bool">bool</a></li><li><a href="#impl-KnownLayout-for-char" title="char">char</a></li><li><a href="#impl-KnownLayout-for-f32" title="f32">f32</a></li><li><a href="#impl-KnownLayout-for-f64" title="f64">f64</a></li><li><a href="#impl-KnownLayout-for-i8" title="i8">i8</a></li><li><a href="#impl-KnownLayout-for-i16" title="i16">i16</a></li><li><a href="#impl-KnownLayout-for-i32" title="i32">i32</a></li><li><a href="#impl-KnownLayout-for-i64" title="i64">i64</a></li><li><a href="#impl-KnownLayout-for-i128" title="i128">i128</a></li><li><a href="#impl-KnownLayout-for-isize" title="isize">isize</a></li><li><a href="#impl-KnownLayout-for-str" title="str">str</a></li><li><a href="#impl-KnownLayout-for-u8" title="u8">u8</a></li><li><a href="#impl-KnownLayout-for-u16" title="u16">u16</a></li><li><a href="#impl-KnownLayout-for-u32" title="u32">u32</a></li><li><a href="#impl-KnownLayout-for-u64" title="u64">u64</a></li><li><a href="#impl-KnownLayout-for-u128" title="u128">u128</a></li><li><a href="#impl-KnownLayout-for-usize" title="usize">usize</a></li></ul><h3><a href="#dyn-compatibility">Dyn Compatibility</a></h3><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate zerocopy</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">zerocopy</a></div><h1>Trait <span class="trait">Known<wbr>Layout</span> <button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/zerocopy/lib.rs.html#738-857">Source</a> </span></div><pre class="rust item-decl"><code>pub unsafe trait KnownLayout {
|
||
type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a>: PointerMetadata;
|
||
|
||
// Provided method
|
||
fn <a href="#method.size_for_metadata" class="fn">size_for_metadata</a>(meta: Self::<a class="associatedtype" href="trait.KnownLayout.html#associatedtype.PointerMetadata" title="type zerocopy::KnownLayout::PointerMetadata">PointerMetadata</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.usize.html">usize</a>> { ... }
|
||
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Indicates that zerocopy can reason about certain aspects of a type’s layout.</p>
|
||
<p>This trait is required by many of zerocopy’s APIs. It supports sized types,
|
||
slices, and <a href="#dynamically-sized-types">slice DSTs</a>.</p>
|
||
<h2 id="implementation"><a class="doc-anchor" href="#implementation">§</a>Implementation</h2>
|
||
<p><strong>Do not implement this trait yourself!</strong> Instead, use
|
||
<a href="derive.KnownLayout.html" title="derive zerocopy::KnownLayout"><code>#[derive(KnownLayout)]</code></a>; e.g.:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#[derive(KnownLayout)]
|
||
</span><span class="kw">struct </span>MyStruct {
|
||
...
|
||
}
|
||
|
||
<span class="attr">#[derive(KnownLayout)]
|
||
</span><span class="kw">enum </span>MyEnum {
|
||
...
|
||
}
|
||
|
||
<span class="attr">#[derive(KnownLayout)]
|
||
</span><span class="kw">union </span>MyUnion {
|
||
...
|
||
}</code></pre></div>
|
||
<p>This derive performs a sophisticated analysis to deduce the layout
|
||
characteristics of types. You <strong>must</strong> implement this trait via the derive.</p>
|
||
<h2 id="dynamically-sized-types"><a class="doc-anchor" href="#dynamically-sized-types">§</a>Dynamically-sized types</h2>
|
||
<p><code>KnownLayout</code> supports slice-based dynamically sized types (“slice DSTs”).</p>
|
||
<p>A slice DST is a type whose trailing field is either a slice or another
|
||
slice DST, rather than a type with fixed size. For example:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#[repr(C)]
|
||
</span><span class="kw">struct </span>PacketHeader {
|
||
...
|
||
}
|
||
|
||
<span class="attr">#[repr(C)]
|
||
</span><span class="kw">struct </span>Packet {
|
||
header: PacketHeader,
|
||
body: [u8],
|
||
}</code></pre></div>
|
||
<p>It can be useful to think of slice DSTs as a generalization of slices - in
|
||
other words, a normal slice is just the special case of a slice DST with
|
||
zero leading fields. In particular:</p>
|
||
<ul>
|
||
<li>Like slices, slice DSTs can have different lengths at runtime</li>
|
||
<li>Like slices, slice DSTs cannot be passed by-value, but only by reference
|
||
or via other indirection such as <code>Box</code></li>
|
||
<li>Like slices, a reference (or <code>Box</code>, or other pointer type) to a slice DST
|
||
encodes the number of elements in the trailing slice field</li>
|
||
</ul>
|
||
<h3 id="slice-dst-layout"><a class="doc-anchor" href="#slice-dst-layout">§</a>Slice DST layout</h3>
|
||
<p>Just like other composite Rust types, the layout of a slice DST is not
|
||
well-defined unless it is specified using an explicit <code>#[repr(...)]</code>
|
||
attribute such as <code>#[repr(C)]</code>. <a href="https://doc.rust-lang.org/reference/type-layout.html#representations">Other representations are
|
||
supported</a>, but in this section, we’ll use <code>#[repr(C)]</code> as our
|
||
example.</p>
|
||
<p>A <code>#[repr(C)]</code> slice DST is laid out <a href="https://doc.rust-lang.org/reference/type-layout.html#reprc-structs">just like sized <code>#[repr(C)]</code>
|
||
types</a>, but the presence of a variable-length field
|
||
introduces the possibility of <em>dynamic padding</em>. In particular, it may be
|
||
necessary to add trailing padding <em>after</em> the trailing slice field in order
|
||
to satisfy the outer type’s alignment, and the amount of padding required
|
||
may be a function of the length of the trailing slice field. This is just a
|
||
natural consequence of the normal <code>#[repr(C)]</code> rules applied to slice DSTs,
|
||
but it can result in surprising behavior. For example, consider the
|
||
following type:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#[repr(C)]
|
||
</span><span class="kw">struct </span>Foo {
|
||
a: u32,
|
||
b: u8,
|
||
z: [u16],
|
||
}</code></pre></div>
|
||
<p>Assuming that <code>u32</code> has alignment 4 (this is not true on all platforms),
|
||
then <code>Foo</code> has alignment 4 as well. Here is the smallest possible value for
|
||
<code>Foo</code>:</p>
|
||
<div class="example-wrap"><pre class="language-text"><code>byte offset | 01234567
|
||
field | aaaab---
|
||
><</code></pre></div>
|
||
<p>In this value, <code>z</code> has length 0. Abiding by <code>#[repr(C)]</code>, the lowest offset
|
||
that we can place <code>z</code> at is 5, but since <code>z</code> has alignment 2, we need to
|
||
round up to offset 6. This means that there is one byte of padding between
|
||
<code>b</code> and <code>z</code>, then 0 bytes of <code>z</code> itself (denoted <code>><</code> in this diagram), and
|
||
then two bytes of padding after <code>z</code> in order to satisfy the overall
|
||
alignment of <code>Foo</code>. The size of this instance is 8 bytes.</p>
|
||
<p>What about if <code>z</code> has length 1?</p>
|
||
<div class="example-wrap"><pre class="language-text"><code>byte offset | 01234567
|
||
field | aaaab-zz</code></pre></div>
|
||
<p>In this instance, <code>z</code> has length 1, and thus takes up 2 bytes. That means
|
||
that we no longer need padding after <code>z</code> in order to satisfy <code>Foo</code>’s
|
||
alignment. We’ve now seen two different values of <code>Foo</code> with two different
|
||
lengths of <code>z</code>, but they both have the same size - 8 bytes.</p>
|
||
<p>What about if <code>z</code> has length 2?</p>
|
||
<div class="example-wrap"><pre class="language-text"><code>byte offset | 012345678901
|
||
field | aaaab-zzzz--</code></pre></div>
|
||
<p>Now <code>z</code> has length 2, and thus takes up 4 bytes. This brings our un-padded
|
||
size to 10, and so we now need another 2 bytes of padding after <code>z</code> to
|
||
satisfy <code>Foo</code>’s alignment.</p>
|
||
<p>Again, all of this is just a logical consequence of the <code>#[repr(C)]</code> rules
|
||
applied to slice DSTs, but it can be surprising that the amount of trailing
|
||
padding becomes a function of the trailing slice field’s length, and thus
|
||
can only be computed at runtime.</p>
|
||
<h3 id="what-is-a-valid-size"><a class="doc-anchor" href="#what-is-a-valid-size">§</a>What is a valid size?</h3>
|
||
<p>There are two places in zerocopy’s API that we refer to “a valid size” of a
|
||
type. In normal casts or conversions, where the source is a byte slice, we
|
||
need to know whether the source byte slice is a valid size of the
|
||
destination type. In prefix or suffix casts, we need to know whether <em>there
|
||
exists</em> a valid size of the destination type which fits in the source byte
|
||
slice and, if so, what the largest such size is.</p>
|
||
<p>As outlined above, a slice DST’s size is defined by the number of elements
|
||
in its trailing slice field. However, there is not necessarily a 1-to-1
|
||
mapping between trailing slice field length and overall size. As we saw in
|
||
the previous section with the type <code>Foo</code>, instances with both 0 and 1
|
||
elements in the trailing <code>z</code> field result in a <code>Foo</code> whose size is 8 bytes.</p>
|
||
<p>When we say “x is a valid size of <code>T</code>”, we mean one of two things:</p>
|
||
<ul>
|
||
<li>If <code>T: Sized</code>, then we mean that <code>x == size_of::<T>()</code></li>
|
||
<li>If <code>T</code> is a slice DST, then we mean that there exists a <code>len</code> such that the instance of
|
||
<code>T</code> with <code>len</code> trailing slice elements has size <code>x</code></li>
|
||
</ul>
|
||
<p>When we say “largest possible size of <code>T</code> that fits in a byte slice”, we
|
||
mean one of two things:</p>
|
||
<ul>
|
||
<li>If <code>T: Sized</code>, then we mean <code>size_of::<T>()</code> if the byte slice is at least
|
||
<code>size_of::<T>()</code> bytes long</li>
|
||
<li>If <code>T</code> is a slice DST, then we mean to consider all values, <code>len</code>, such
|
||
that the instance of <code>T</code> with <code>len</code> trailing slice elements fits in the
|
||
byte slice, and to choose the largest such <code>len</code>, if any</li>
|
||
</ul>
|
||
<h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
|
||
<p>This trait does not convey any safety guarantees to code outside this crate.</p>
|
||
<p>You must not rely on the <code>#[doc(hidden)]</code> internals of <code>KnownLayout</code>. Future
|
||
releases of zerocopy may make backwards-breaking changes to these items,
|
||
including changes that only affect soundness, which may cause code which
|
||
uses those items to silently become unsound.</p>
|
||
</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.PointerMetadata" class="method"><a class="src rightside" href="../src/zerocopy/lib.rs.html#751">Source</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a>: PointerMetadata</h4></section></summary><div class="docblock"><p>The type of metadata stored in a pointer to <code>Self</code>.</p>
|
||
<p>This is <code>()</code> for sized types and <a href="https://doc.rust-lang.org/1.93.1/core/primitive.usize.html" title="primitive usize"><code>usize</code></a> for slice DSTs.</p>
|
||
</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.size_for_metadata" class="method"><a class="src rightside" href="../src/zerocopy/lib.rs.html#854-856">Source</a><h4 class="code-header">fn <a href="#method.size_for_metadata" class="fn">size_for_metadata</a>(meta: Self::<a class="associatedtype" href="trait.KnownLayout.html#associatedtype.PointerMetadata" title="type zerocopy::KnownLayout::PointerMetadata">PointerMetadata</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.usize.html">usize</a>></h4></section></summary><div class="docblock"><p>Computes the size of an object of type <code>Self</code> with the given pointer
|
||
metadata.</p>
|
||
<h5 id="safety-1"><a class="doc-anchor" href="#safety-1">§</a>Safety</h5>
|
||
<p><code>size_for_metadata</code> promises to return <code>None</code> if and only if the
|
||
resulting size would not fit in a <a href="https://doc.rust-lang.org/1.93.1/core/primitive.usize.html" title="primitive usize"><code>usize</code></a>. Note that the returned size
|
||
could exceed the actual maximum valid size of an allocated object,
|
||
<a href="https://doc.rust-lang.org/1.93.1/core/primitive.isize.html#associatedconstant.MAX" title="associated constant isize::MAX"><code>isize::MAX</code></a>.</p>
|
||
<h5 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h5>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerocopy::KnownLayout;
|
||
|
||
<span class="macro">assert_eq!</span>(u8::size_for_metadata(()), <span class="prelude-val">Some</span>(<span class="number">1</span>));
|
||
<span class="macro">assert_eq!</span>(u16::size_for_metadata(()), <span class="prelude-val">Some</span>(<span class="number">2</span>));
|
||
<span class="macro">assert_eq!</span>(<[u8]>::size_for_metadata(<span class="number">42</span>), <span class="prelude-val">Some</span>(<span class="number">42</span>));
|
||
<span class="macro">assert_eq!</span>(<[u16]>::size_for_metadata(<span class="number">42</span>), <span class="prelude-val">Some</span>(<span class="number">84</span>));
|
||
|
||
<span class="comment">// This size exceeds the maximum valid object size (`isize::MAX`):
|
||
</span><span class="macro">assert_eq!</span>(<[u8]>::size_for_metadata(usize::MAX), <span class="prelude-val">Some</span>(usize::MAX));
|
||
|
||
<span class="comment">// This size, if computed, would exceed `usize::MAX`:
|
||
</span><span class="macro">assert_eq!</span>(<[u16]>::size_for_metadata(usize::MAX), <span class="prelude-val">None</span>);</code></pre></div></div></details></div><h2 id="dyn-compatibility" class="section-header">Dyn Compatibility<a href="#dyn-compatibility" class="anchor">§</a></h2><div class="dyn-compatibility-info"><p>This trait is <b>not</b> <a href="https://doc.rust-lang.org/1.93.1/reference/items/traits.html#dyn-compatibility">dyn compatible</a>.</p><p><i>In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.</i></p></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-bool" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-bool" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.bool.html">bool</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-1" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-char" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-char" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.char.html">char</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-2" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-f32" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-f32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.f32.html">f32</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-3" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-3" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-f64" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-f64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.f64.html">f64</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-4" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-4" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-i8" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-i8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.i8.html">i8</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-5" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-5" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-i16" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-i16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.i16.html">i16</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-6" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-6" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-i32" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-i32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.i32.html">i32</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-7" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-7" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-i64" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-i64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.i64.html">i64</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-8" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-8" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-i128" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-i128" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.i128.html">i128</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-9" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-9" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-isize" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-isize" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.isize.html">isize</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-10" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-10" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-str" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1090-1093">Source</a><a href="#impl-KnownLayout-for-str" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.str.html">str</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-11" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1090-1093">Source</a><a href="#associatedtype.PointerMetadata-11" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>] as <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a>>::<a class="associatedtype" href="trait.KnownLayout.html#associatedtype.PointerMetadata" title="type zerocopy::KnownLayout::PointerMetadata">PointerMetadata</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-u8" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-u8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-12" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-12" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-u16" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-u16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u16.html">u16</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-13" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-13" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-u32" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-u32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u32.html">u32</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-14" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-14" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-u64" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-u64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u64.html">u64</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-15" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-15" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-u128" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-u128" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u128.html">u128</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-16" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-16" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-()" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-()" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-17" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-17" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-usize" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-usize" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.usize.html">usize</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-18" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-18" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-__m128" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1331-1334">Source</a><a href="#impl-KnownLayout-for-__m128" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/core_arch/x86/struct.__m128.html" title="struct core::core_arch::x86::__m128">__m128</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-19" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1331-1334">Source</a><a href="#associatedtype.PointerMetadata-19" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-__m128d" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1331-1334">Source</a><a href="#impl-KnownLayout-for-__m128d" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/core_arch/x86/struct.__m128d.html" title="struct core::core_arch::x86::__m128d">__m128d</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-20" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1331-1334">Source</a><a href="#associatedtype.PointerMetadata-20" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-__m128i" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1331-1334">Source</a><a href="#impl-KnownLayout-for-__m128i" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/core_arch/x86/struct.__m128i.html" title="struct core::core_arch::x86::__m128i">__m128i</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-21" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1331-1334">Source</a><a href="#associatedtype.PointerMetadata-21" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-__m256" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1331-1334">Source</a><a href="#impl-KnownLayout-for-__m256" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/core_arch/x86/struct.__m256.html" title="struct core::core_arch::x86::__m256">__m256</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-22" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1331-1334">Source</a><a href="#associatedtype.PointerMetadata-22" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-__m256d" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1331-1334">Source</a><a href="#impl-KnownLayout-for-__m256d" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/core_arch/x86/struct.__m256d.html" title="struct core::core_arch::x86::__m256d">__m256d</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-23" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1331-1334">Source</a><a href="#associatedtype.PointerMetadata-23" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-__m256i" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1331-1334">Source</a><a href="#impl-KnownLayout-for-__m256i" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/core_arch/x86/struct.__m256i.html" title="struct core::core_arch::x86::__m256i">__m256i</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-24" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1331-1334">Source</a><a href="#associatedtype.PointerMetadata-24" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-__m512" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1336-1340">Source</a><a href="#impl-KnownLayout-for-__m512" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/core_arch/x86/struct.__m512.html" title="struct core::core_arch::x86::__m512">__m512</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-25" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1336-1340">Source</a><a href="#associatedtype.PointerMetadata-25" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-__m512bh" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1336-1340">Source</a><a href="#impl-KnownLayout-for-__m512bh" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/core_arch/x86/struct.__m512bh.html" title="struct core::core_arch::x86::__m512bh">__m512bh</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-26" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1336-1340">Source</a><a href="#associatedtype.PointerMetadata-26" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-__m512d" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1336-1340">Source</a><a href="#impl-KnownLayout-for-__m512d" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/core_arch/x86/struct.__m512d.html" title="struct core::core_arch::x86::__m512d">__m512d</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-27" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1336-1340">Source</a><a href="#associatedtype.PointerMetadata-27" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-__m512i" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1336-1340">Source</a><a href="#impl-KnownLayout-for-__m512i" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/core_arch/x86/struct.__m512i.html" title="struct core::core_arch::x86::__m512i">__m512i</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-28" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#1336-1340">Source</a><a href="#associatedtype.PointerMetadata-28" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-AtomicBool" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#461">Source</a><a href="#impl-KnownLayout-for-AtomicBool" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/sync/atomic/struct.AtomicBool.html" title="struct core::sync::atomic::AtomicBool">AtomicBool</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-29" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#461">Source</a><a href="#associatedtype.PointerMetadata-29" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-AtomicI8" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#459">Source</a><a href="#impl-KnownLayout-for-AtomicI8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/sync/atomic/struct.AtomicI8.html" title="struct core::sync::atomic::AtomicI8">AtomicI8</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-30" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#459">Source</a><a href="#associatedtype.PointerMetadata-30" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-AtomicI16" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#525">Source</a><a href="#impl-KnownLayout-for-AtomicI16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/sync/atomic/struct.AtomicI16.html" title="struct core::sync::atomic::AtomicI16">AtomicI16</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-31" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#525">Source</a><a href="#associatedtype.PointerMetadata-31" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-AtomicI32" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#552">Source</a><a href="#impl-KnownLayout-for-AtomicI32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/sync/atomic/struct.AtomicI32.html" title="struct core::sync::atomic::AtomicI32">AtomicI32</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-32" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#552">Source</a><a href="#associatedtype.PointerMetadata-32" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-AtomicI64" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#579">Source</a><a href="#impl-KnownLayout-for-AtomicI64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/sync/atomic/struct.AtomicI64.html" title="struct core::sync::atomic::AtomicI64">AtomicI64</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-33" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#579">Source</a><a href="#associatedtype.PointerMetadata-33" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-AtomicIsize" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#606">Source</a><a href="#impl-KnownLayout-for-AtomicIsize" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/sync/atomic/struct.AtomicIsize.html" title="struct core::sync::atomic::AtomicIsize">AtomicIsize</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-34" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#606">Source</a><a href="#associatedtype.PointerMetadata-34" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-AtomicU8" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#459">Source</a><a href="#impl-KnownLayout-for-AtomicU8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/sync/atomic/struct.AtomicU8.html" title="struct core::sync::atomic::AtomicU8">AtomicU8</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-35" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#459">Source</a><a href="#associatedtype.PointerMetadata-35" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-AtomicU16" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#525">Source</a><a href="#impl-KnownLayout-for-AtomicU16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/sync/atomic/struct.AtomicU16.html" title="struct core::sync::atomic::AtomicU16">AtomicU16</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-36" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#525">Source</a><a href="#associatedtype.PointerMetadata-36" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-AtomicU32" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#552">Source</a><a href="#impl-KnownLayout-for-AtomicU32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/sync/atomic/struct.AtomicU32.html" title="struct core::sync::atomic::AtomicU32">AtomicU32</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-37" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#552">Source</a><a href="#associatedtype.PointerMetadata-37" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-AtomicU64" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#579">Source</a><a href="#impl-KnownLayout-for-AtomicU64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/sync/atomic/struct.AtomicU64.html" title="struct core::sync::atomic::AtomicU64">AtomicU64</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-38" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#579">Source</a><a href="#associatedtype.PointerMetadata-38" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-AtomicUsize" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#606">Source</a><a href="#impl-KnownLayout-for-AtomicUsize" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/sync/atomic/struct.AtomicUsize.html" title="struct core::sync::atomic::AtomicUsize">AtomicUsize</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-39" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#606">Source</a><a href="#associatedtype.PointerMetadata-39" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-NonZero%3Ci8%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-NonZero%3Ci8%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroI8.html" title="type core::num::nonzero::NonZeroI8">NonZeroI8</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-40" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-40" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-NonZero%3Ci16%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-NonZero%3Ci16%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroI16.html" title="type core::num::nonzero::NonZeroI16">NonZeroI16</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-41" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-41" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-NonZero%3Ci32%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-NonZero%3Ci32%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroI32.html" title="type core::num::nonzero::NonZeroI32">NonZeroI32</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-42" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-42" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-NonZero%3Ci64%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-NonZero%3Ci64%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroI64.html" title="type core::num::nonzero::NonZeroI64">NonZeroI64</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-43" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-43" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-NonZero%3Ci128%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-NonZero%3Ci128%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroI128.html" title="type core::num::nonzero::NonZeroI128">NonZeroI128</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-44" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-44" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-NonZero%3Cisize%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-NonZero%3Cisize%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroIsize.html" title="type core::num::nonzero::NonZeroIsize">NonZeroIsize</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-45" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-45" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-NonZero%3Cu8%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-NonZero%3Cu8%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroU8.html" title="type core::num::nonzero::NonZeroU8">NonZeroU8</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-46" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-46" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-NonZero%3Cu16%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-NonZero%3Cu16%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroU16.html" title="type core::num::nonzero::NonZeroU16">NonZeroU16</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-47" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-47" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-NonZero%3Cu32%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-NonZero%3Cu32%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroU32.html" title="type core::num::nonzero::NonZeroU32">NonZeroU32</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-48" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-48" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-NonZero%3Cu64%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-NonZero%3Cu64%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroU64.html" title="type core::num::nonzero::NonZeroU64">NonZeroU64</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-49" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-49" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-NonZero%3Cu128%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-NonZero%3Cu128%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroU128.html" title="type core::num::nonzero::NonZeroU128">NonZeroU128</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-50" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-50" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-NonZero%3Cusize%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#impl-KnownLayout-for-NonZero%3Cusize%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="type" href="https://doc.rust-lang.org/1.93.1/core/num/nonzero/type.NonZeroUsize.html" title="type core::num::nonzero::NonZeroUsize">NonZeroUsize</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-51" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1044-1050">Source</a><a href="#associatedtype.PointerMetadata-51" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-Option%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#impl-KnownLayout-for-Option%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-52" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#associatedtype.PointerMetadata-52" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-%5BT%5D" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#961-1041">Source</a><a href="#impl-KnownLayout-for-%5BT%5D" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.slice.html">[T]</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-53" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#973">Source</a><a href="#associatedtype.PointerMetadata-53" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.usize.html">usize</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-Wrapping%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#impl-KnownLayout-for-Wrapping%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/num/wrapping/struct.Wrapping.html" title="struct core::num::wrapping::Wrapping">Wrapping</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-54" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#associatedtype.PointerMetadata-54" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-AtomicPtr%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#610">Source</a><a href="#impl-KnownLayout-for-AtomicPtr%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/sync/atomic/struct.AtomicPtr.html" title="struct core::sync::atomic::AtomicPtr">AtomicPtr</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-55" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/impls.rs.html#610">Source</a><a href="#associatedtype.PointerMetadata-55" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-MaybeUninit%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#impl-KnownLayout-for-MaybeUninit%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="union" href="https://doc.rust-lang.org/1.93.1/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">CoreMaybeUninit</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-56" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#associatedtype.PointerMetadata-56" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-%5BT;+N%5D" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1070">Source</a><a href="#impl-KnownLayout-for-%5BT;+N%5D" class="anchor">§</a><h3 class="code-header">impl<T, const N: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.usize.html">usize</a>> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.array.html">[T; N]</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-57" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1070">Source</a><a href="#associatedtype.PointerMetadata-57" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-Cell%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1096">Source</a><a href="#impl-KnownLayout-for-Cell%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a>> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/cell/struct.Cell.html" title="struct core::cell::Cell">Cell</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-58" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1096">Source</a><a href="#associatedtype.PointerMetadata-58" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <T as <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a>>::<a class="associatedtype" href="trait.KnownLayout.html#associatedtype.PointerMetadata" title="type zerocopy::KnownLayout::PointerMetadata">PointerMetadata</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-UnsafeCell%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1095">Source</a><a href="#impl-KnownLayout-for-UnsafeCell%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a>> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/cell/struct.UnsafeCell.html" title="struct core::cell::UnsafeCell">UnsafeCell</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-59" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1095">Source</a><a href="#associatedtype.PointerMetadata-59" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <T as <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a>>::<a class="associatedtype" href="trait.KnownLayout.html#associatedtype.PointerMetadata" title="type zerocopy::KnownLayout::PointerMetadata">PointerMetadata</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-ManuallyDrop%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1094">Source</a><a href="#impl-KnownLayout-for-ManuallyDrop%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a>> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/mem/manually_drop/struct.ManuallyDrop.html" title="struct core::mem::manually_drop::ManuallyDrop">ManuallyDrop</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-60" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1094">Source</a><a href="#associatedtype.PointerMetadata-60" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <T as <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a>>::<a class="associatedtype" href="trait.KnownLayout.html#associatedtype.PointerMetadata" title="type zerocopy::KnownLayout::PointerMetadata">PointerMetadata</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-*const+T" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#impl-KnownLayout-for-*const+T" class="anchor">§</a><h3 class="code-header">impl<T: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.pointer.html">*const T</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-61" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#associatedtype.PointerMetadata-61" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-*mut+T" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#impl-KnownLayout-for-*mut+T" class="anchor">§</a><h3 class="code-header">impl<T: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.pointer.html">*mut T</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-62" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#associatedtype.PointerMetadata-62" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-%26T" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#impl-KnownLayout-for-%26T" class="anchor">§</a><h3 class="code-header">impl<T: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&T</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-63" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#associatedtype.PointerMetadata-63" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-%26mut+T" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#impl-KnownLayout-for-%26mut+T" class="anchor">§</a><h3 class="code-header">impl<T: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&mut T</a></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-64" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#associatedtype.PointerMetadata-64" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-PhantomData%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#impl-KnownLayout-for-PhantomData%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-65" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1060-1069">Source</a><a href="#associatedtype.PointerMetadata-65" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-F32%3CO%3E" class="impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#905-921">Source</a><a href="#impl-KnownLayout-for-F32%3CO%3E" class="anchor">§</a><h3 class="code-header">impl<O> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="byteorder/struct.F32.html" title="struct zerocopy::byteorder::F32">F32</a><O><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-66" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#905-921">Source</a><a href="#associatedtype.PointerMetadata-66" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-F64%3CO%3E" class="impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#922-938">Source</a><a href="#impl-KnownLayout-for-F64%3CO%3E" class="anchor">§</a><h3 class="code-header">impl<O> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="byteorder/struct.F64.html" title="struct zerocopy::byteorder::F64">F64</a><O><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-67" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#922-938">Source</a><a href="#associatedtype.PointerMetadata-67" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-I16%3CO%3E" class="impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#787-803">Source</a><a href="#impl-KnownLayout-for-I16%3CO%3E" class="anchor">§</a><h3 class="code-header">impl<O> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="byteorder/struct.I16.html" title="struct zerocopy::byteorder::I16">I16</a><O><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-68" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#787-803">Source</a><a href="#associatedtype.PointerMetadata-68" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-I32%3CO%3E" class="impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#804-820">Source</a><a href="#impl-KnownLayout-for-I32%3CO%3E" class="anchor">§</a><h3 class="code-header">impl<O> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="byteorder/struct.I32.html" title="struct zerocopy::byteorder::I32">I32</a><O><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-69" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#804-820">Source</a><a href="#associatedtype.PointerMetadata-69" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-I64%3CO%3E" class="impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#821-837">Source</a><a href="#impl-KnownLayout-for-I64%3CO%3E" class="anchor">§</a><h3 class="code-header">impl<O> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="byteorder/struct.I64.html" title="struct zerocopy::byteorder::I64">I64</a><O><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-70" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#821-837">Source</a><a href="#associatedtype.PointerMetadata-70" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-I128%3CO%3E" class="impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#838-854">Source</a><a href="#impl-KnownLayout-for-I128%3CO%3E" class="anchor">§</a><h3 class="code-header">impl<O> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="byteorder/struct.I128.html" title="struct zerocopy::byteorder::I128">I128</a><O><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-71" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#838-854">Source</a><a href="#associatedtype.PointerMetadata-71" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-Isize%3CO%3E" class="impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#855-871">Source</a><a href="#impl-KnownLayout-for-Isize%3CO%3E" class="anchor">§</a><h3 class="code-header">impl<O> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="byteorder/struct.Isize.html" title="struct zerocopy::byteorder::Isize">Isize</a><O><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-72" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#855-871">Source</a><a href="#associatedtype.PointerMetadata-72" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-U16%3CO%3E" class="impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#702-718">Source</a><a href="#impl-KnownLayout-for-U16%3CO%3E" class="anchor">§</a><h3 class="code-header">impl<O> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="byteorder/struct.U16.html" title="struct zerocopy::byteorder::U16">U16</a><O><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-73" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#702-718">Source</a><a href="#associatedtype.PointerMetadata-73" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-U32%3CO%3E" class="impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#719-735">Source</a><a href="#impl-KnownLayout-for-U32%3CO%3E" class="anchor">§</a><h3 class="code-header">impl<O> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="byteorder/struct.U32.html" title="struct zerocopy::byteorder::U32">U32</a><O><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-74" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#719-735">Source</a><a href="#associatedtype.PointerMetadata-74" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-U64%3CO%3E" class="impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#736-752">Source</a><a href="#impl-KnownLayout-for-U64%3CO%3E" class="anchor">§</a><h3 class="code-header">impl<O> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="byteorder/struct.U64.html" title="struct zerocopy::byteorder::U64">U64</a><O><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-75" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#736-752">Source</a><a href="#associatedtype.PointerMetadata-75" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-U128%3CO%3E" class="impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#753-769">Source</a><a href="#impl-KnownLayout-for-U128%3CO%3E" class="anchor">§</a><h3 class="code-header">impl<O> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="byteorder/struct.U128.html" title="struct zerocopy::byteorder::U128">U128</a><O><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-76" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#753-769">Source</a><a href="#associatedtype.PointerMetadata-76" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-Usize%3CO%3E" class="impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#770-786">Source</a><a href="#impl-KnownLayout-for-Usize%3CO%3E" class="anchor">§</a><h3 class="code-header">impl<O> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="byteorder/struct.Usize.html" title="struct zerocopy::byteorder::Usize">Usize</a><O><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-77" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/byteorder.rs.html#770-786">Source</a><a href="#associatedtype.PointerMetadata-77" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-KnownLayout-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#121">Source</a><a href="#impl-KnownLayout-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.PointerMetadata-78" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#121">Source</a><a href="#associatedtype.PointerMetadata-78" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.PointerMetadata" class="associatedtype">PointerMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a></h4></section></div></details></div><script src="../trait.impl/zerocopy/trait.KnownLayout.js" data-ignore-extern-crates="core" async></script></section></div></main></body></html> |