Files
GopherGate/target/doc/zerocopy/struct.Unalign.html
2026-02-26 12:00:21 -05:00

222 lines
106 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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="A type with no alignment requirement."><title>Unalign 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 struct"><!--[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="#">Unalign</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="#">Unalign</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#example" title="Example">Example</a></li><li><a href="#safety" title="Safety">Safety</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.deref_mut_unchecked" title="deref_mut_unchecked">deref_mut_unchecked</a></li><li><a href="#method.deref_unchecked" title="deref_unchecked">deref_unchecked</a></li><li><a href="#method.get" title="get">get</a></li><li><a href="#method.get_mut_ptr" title="get_mut_ptr">get_mut_ptr</a></li><li><a href="#method.get_ptr" title="get_ptr">get_ptr</a></li><li><a href="#method.into_inner" title="into_inner">into_inner</a></li><li><a href="#method.new" title="new">new</a></li><li><a href="#method.set" title="set">set</a></li><li><a href="#method.try_deref" title="try_deref">try_deref</a></li><li><a href="#method.try_deref_mut" title="try_deref_mut">try_deref_mut</a></li><li><a href="#method.update" title="update">update</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Unalign%3CT%3E" title="Clone">Clone</a></li><li><a href="#impl-Copy-for-Unalign%3CT%3E" title="Copy">Copy</a></li><li><a href="#impl-Debug-for-Unalign%3CT%3E" title="Debug">Debug</a></li><li><a href="#impl-Default-for-Unalign%3CT%3E" title="Default">Default</a></li><li><a href="#impl-Deref-for-Unalign%3CT%3E" title="Deref">Deref</a></li><li><a href="#impl-DerefMut-for-Unalign%3CT%3E" title="DerefMut">DerefMut</a></li><li><a href="#impl-Display-for-Unalign%3CT%3E" title="Display">Display</a></li><li><a href="#impl-Eq-for-Unalign%3CT%3E" title="Eq">Eq</a></li><li><a href="#impl-FromBytes-for-Unalign%3CT%3E" title="FromBytes">FromBytes</a></li><li><a href="#impl-FromZeros-for-Unalign%3CT%3E" title="FromZeros">FromZeros</a></li><li><a href="#impl-Hash-for-Unalign%3CT%3E" title="Hash">Hash</a></li><li><a href="#impl-Immutable-for-Unalign%3CT%3E" title="Immutable">Immutable</a></li><li><a href="#impl-IntoBytes-for-Unalign%3CT%3E" title="IntoBytes">IntoBytes</a></li><li><a href="#impl-KnownLayout-for-Unalign%3CT%3E" title="KnownLayout">KnownLayout</a></li><li><a href="#impl-Ord-for-Unalign%3CT%3E" title="Ord">Ord</a></li><li><a href="#impl-PartialEq-for-Unalign%3CT%3E" title="PartialEq">PartialEq</a></li><li><a href="#impl-PartialOrd-for-Unalign%3CT%3E" title="PartialOrd">PartialOrd</a></li><li><a href="#impl-TryFromBytes-for-Unalign%3CT%3E" title="TryFromBytes">TryFromBytes</a></li><li><a href="#impl-Unaligned-for-Unalign%3CT%3E" title="Unaligned">Unaligned</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Unalign%3CT%3E" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Unalign%3CT%3E" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Unalign%3CT%3E" title="Send">Send</a></li><li><a href="#impl-Sync-for-Unalign%3CT%3E" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Unalign%3CT%3E" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Unalign%3CT%3E" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-Receiver-for-P" title="Receiver">Receiver</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></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>Struct <span class="struct">Unalign</span>&nbsp;<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/wrappers.rs.html#116">Source</a> </span></div><pre class="rust item-decl"><code>pub struct Unalign&lt;T&gt;(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A type with no alignment requirement.</p>
<p>An <code>Unalign</code> wraps a <code>T</code>, removing any alignment requirement. <code>Unalign&lt;T&gt;</code>
has the same size and bit validity as <code>T</code>, but not necessarily the same
alignment <a href="https://github.com/google/zerocopy/issues/164">or ABI</a>. This is useful if a type with an alignment requirement
needs to be read from a chunk of memory which provides no alignment
guarantees.</p>
<p>Since <code>Unalign</code> has no alignment requirement, the inner <code>T</code> may not be
properly aligned in memory. There are five ways to access the inner <code>T</code>:</p>
<ul>
<li>by value, using <a href="struct.Unalign.html#method.get" title="method zerocopy::Unalign::get"><code>get</code></a> or <a href="struct.Unalign.html#method.into_inner" title="method zerocopy::Unalign::into_inner"><code>into_inner</code></a></li>
<li>by reference inside of a callback, using <a href="struct.Unalign.html#method.update" title="method zerocopy::Unalign::update"><code>update</code></a></li>
<li>fallibly by reference, using <a href="struct.Unalign.html#method.try_deref" title="method zerocopy::Unalign::try_deref"><code>try_deref</code></a> or <a href="struct.Unalign.html#method.try_deref_mut" title="method zerocopy::Unalign::try_deref_mut"><code>try_deref_mut</code></a>; these can
fail if the <code>Unalign</code> does not satisfy <code>T</code>s alignment requirement at
runtime</li>
<li>unsafely by reference, using <a href="struct.Unalign.html#method.deref_unchecked" title="method zerocopy::Unalign::deref_unchecked"><code>deref_unchecked</code></a> or
<a href="struct.Unalign.html#method.deref_mut_unchecked" title="method zerocopy::Unalign::deref_mut_unchecked"><code>deref_mut_unchecked</code></a>; it is the callers responsibility to ensure that
the <code>Unalign</code> satisfies <code>T</code>s alignment requirement</li>
<li>(where <code>T: Unaligned</code>) infallibly by reference, using <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html#tymethod.deref" title="method core::ops::deref::Deref::deref"><code>Deref::deref</code></a> or
<a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.DerefMut.html#tymethod.deref_mut" title="method core::ops::deref::DerefMut::deref_mut"><code>DerefMut::deref_mut</code></a></li>
</ul>
<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
<p>In this example, we need <code>EthernetFrame</code> to have no alignment requirement -
and thus implement <a href="trait.Unaligned.html" title="trait zerocopy::Unaligned"><code>Unaligned</code></a>. <code>EtherType</code> is <code>#[repr(u16)]</code> and so
cannot implement <code>Unaligned</code>. We use <code>Unalign</code> to relax <code>EtherType</code>s
alignment requirement so that <code>EthernetFrame</code> has no alignment requirement
and can implement <code>Unaligned</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>zerocopy::<span class="kw-2">*</span>;
<span class="attr">#[derive(TryFromBytes, KnownLayout, Immutable)]
#[repr(u16)]
</span><span class="kw">enum </span>EtherType {
Ipv4 = <span class="number">0x0800u16</span>.to_be(),
Arp = <span class="number">0x0806u16</span>.to_be(),
Ipv6 = <span class="number">0x86DDu16</span>.to_be(),
...
}
<span class="attr">#[derive(TryFromBytes, KnownLayout, Immutable, Unaligned)]
#[repr(C)]
</span><span class="kw">struct </span>EthernetFrame {
src: Mac,
dst: Mac,
ethertype: Unalign&lt;EtherType&gt;,
payload: [u8],
}
<span class="kw">let </span>bytes = <span class="kw-2">&amp;</span>[
...
<span class="number">0x86</span>, <span class="number">0xDD</span>, <span class="comment">// EtherType
</span><span class="number">0xDE</span>, <span class="number">0xAD</span>, <span class="number">0xBE</span>, <span class="number">0xEF </span><span class="comment">// Payload
</span>][..];
<span class="comment">// PANICS: Guaranteed not to panic because `bytes` is of the right
// length, has the right contents, and `EthernetFrame` has no
// alignment requirement.
</span><span class="kw">let </span>packet = EthernetFrame::try_ref_from_bytes(<span class="kw-2">&amp;</span>bytes).unwrap();
<span class="macro">assert_eq!</span>(packet.ethertype.get(), EtherType::Ipv6);
<span class="macro">assert_eq!</span>(packet.payload, [<span class="number">0xDE</span>, <span class="number">0xAD</span>, <span class="number">0xBE</span>, <span class="number">0xEF</span>]);</code></pre></div><h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
<p><code>Unalign&lt;T&gt;</code> is guaranteed to have the same size and bit validity as <code>T</code>,
and to have <a href="https://doc.rust-lang.org/1.93.1/core/cell/struct.UnsafeCell.html" title="struct core::cell::UnsafeCell"><code>UnsafeCell</code></a>s covering the same byte ranges as <code>T</code>.
<code>Unalign&lt;T&gt;</code> is guaranteed to have alignment 1.</p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#169-390">Source</a><a href="#impl-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#172-174">Source</a><h4 class="code-header">pub const fn <a href="#method.new" class="fn">new</a>(val: T) -&gt; <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Unalign</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_inner" class="method"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#178-189">Source</a><h4 class="code-header">pub const fn <a href="#method.into_inner" class="fn">into_inner</a>(self) -&gt; T</h4></section></summary><div class="docblock"><p>Consumes <code>self</code>, returning the inner <code>T</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_deref" class="method"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#200-206">Source</a><h4 class="code-header">pub fn <a href="#method.try_deref" class="fn">try_deref</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;T</a>, <a class="struct" href="error/struct.AlignmentError.html" title="struct zerocopy::error::AlignmentError">AlignmentError</a>&lt;&amp;Self, T&gt;&gt;</h4></section></summary><div class="docblock"><p>Attempts to return a reference to the wrapped <code>T</code>, failing if <code>self</code> is
not properly aligned.</p>
<p>If <code>self</code> does not satisfy <code>align_of::&lt;T&gt;()</code>, then <code>try_deref</code> returns
<code>Err</code>.</p>
<p>If <code>T: Unaligned</code>, then <code>Unalign&lt;T&gt;</code> implements <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref"><code>Deref</code></a>, and callers
may prefer <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html#tymethod.deref" title="method core::ops::deref::Deref::deref"><code>Deref::deref</code></a>, which is infallible.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_deref_mut" class="method"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#217-223">Source</a><h4 class="code-header">pub fn <a href="#method.try_deref_mut" class="fn">try_deref_mut</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;mut T</a>, <a class="struct" href="error/struct.AlignmentError.html" title="struct zerocopy::error::AlignmentError">AlignmentError</a>&lt;&amp;mut Self, T&gt;&gt;</h4></section></summary><div class="docblock"><p>Attempts to return a mutable reference to the wrapped <code>T</code>, failing if
<code>self</code> is not properly aligned.</p>
<p>If <code>self</code> does not satisfy <code>align_of::&lt;T&gt;()</code>, then <code>try_deref</code> returns
<code>Err</code>.</p>
<p>If <code>T: Unaligned</code>, then <code>Unalign&lt;T&gt;</code> implements <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut"><code>DerefMut</code></a>, and
callers may prefer <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.DerefMut.html#tymethod.deref_mut" title="method core::ops::deref::DerefMut::deref_mut"><code>DerefMut::deref_mut</code></a>, which is infallible.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.deref_unchecked" class="method"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#234-245">Source</a><h4 class="code-header">pub const unsafe fn <a href="#method.deref_unchecked" class="fn">deref_unchecked</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;T</a></h4></section></summary><div class="docblock"><p>Returns a reference to the wrapped <code>T</code> without checking alignment.</p>
<p>If <code>T: Unaligned</code>, then <code>Unalign&lt;T&gt;</code> implements<a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref"> <code>Deref</code></a>, and callers
may prefer <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html#tymethod.deref" title="method core::ops::deref::Deref::deref"><code>Deref::deref</code></a>, which is safe.</p>
<h5 id="safety-1"><a class="doc-anchor" href="#safety-1">§</a>Safety</h5>
<p>The caller must guarantee that <code>self</code> satisfies <code>align_of::&lt;T&gt;()</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.deref_mut_unchecked" class="method"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#257-264">Source</a><h4 class="code-header">pub unsafe fn <a href="#method.deref_mut_unchecked" class="fn">deref_mut_unchecked</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class="docblock"><p>Returns a mutable reference to the wrapped <code>T</code> without checking
alignment.</p>
<p>If <code>T: Unaligned</code>, then <code>Unalign&lt;T&gt;</code> implements<a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut"> <code>DerefMut</code></a>, and
callers may prefer <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.DerefMut.html#tymethod.deref_mut" title="method core::ops::deref::DerefMut::deref_mut"><code>DerefMut::deref_mut</code></a>, which is safe.</p>
<h5 id="safety-2"><a class="doc-anchor" href="#safety-2">§</a>Safety</h5>
<p>The caller must guarantee that <code>self</code> satisfies <code>align_of::&lt;T&gt;()</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_ptr" class="method"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#287-289">Source</a><h4 class="code-header">pub const fn <a href="#method.get_ptr" class="fn">get_ptr</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.pointer.html">*const T</a></h4></section></summary><div class="docblock"><p>Gets an unaligned raw pointer to the inner <code>T</code>.</p>
<h5 id="safety-3"><a class="doc-anchor" href="#safety-3">§</a>Safety</h5>
<p>The returned raw pointer is not necessarily aligned to
<code>align_of::&lt;T&gt;()</code>. Most functions which operate on raw pointers require
those pointers to be aligned, so calling those functions with the result
of <code>get_ptr</code> will result in undefined behavior if alignment is not
guaranteed using some out-of-band mechanism. In general, the only
functions which are safe to call with this pointer are those which are
explicitly documented as being sound to use with an unaligned pointer,
such as <a href="https://doc.rust-lang.org/1.93.1/core/ptr/fn.read_unaligned.html" title="fn core::ptr::read_unaligned"><code>read_unaligned</code></a>.</p>
<p>Even if the caller is permitted to mutate <code>self</code> (e.g. they have
ownership or a mutable borrow), it is not guaranteed to be sound to
write through the returned pointer. If writing is required, prefer
<a href="struct.Unalign.html#method.get_mut_ptr" title="method zerocopy::Unalign::get_mut_ptr"><code>get_mut_ptr</code></a> instead.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_mut_ptr" class="method"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#307-309">Source</a><h4 class="code-header">pub fn <a href="#method.get_mut_ptr" class="fn">get_mut_ptr</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.pointer.html">*mut T</a></h4></section></summary><div class="docblock"><p>Gets an unaligned mutable raw pointer to the inner <code>T</code>.</p>
<h5 id="safety-4"><a class="doc-anchor" href="#safety-4">§</a>Safety</h5>
<p>The returned raw pointer is not necessarily aligned to
<code>align_of::&lt;T&gt;()</code>. Most functions which operate on raw pointers require
those pointers to be aligned, so calling those functions with the result
of <code>get_ptr</code> will result in undefined behavior if alignment is not
guaranteed using some out-of-band mechanism. In general, the only
functions which are safe to call with this pointer are those which are
explicitly documented as being sound to use with an unaligned pointer,
such as <a href="https://doc.rust-lang.org/1.93.1/core/ptr/fn.read_unaligned.html" title="fn core::ptr::read_unaligned"><code>read_unaligned</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.set" class="method"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#314-316">Source</a><h4 class="code-header">pub fn <a href="#method.set" class="fn">set</a>(&amp;mut self, t: T)</h4></section></summary><div class="docblock"><p>Sets the inner <code>T</code>, dropping the previous value.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.update" class="method"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#334-389">Source</a><h4 class="code-header">pub fn <a href="#method.update" class="fn">update</a>&lt;O, F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;mut T</a>) -&gt; O&gt;(&amp;mut self, f: F) -&gt; O</h4></section></summary><div class="docblock"><p>Updates the inner <code>T</code> by calling a function on it.</p>
<p>If <a href="trait.Unaligned.html" title="trait zerocopy::Unaligned"><code>T: Unaligned</code></a>, then <code>Unalign&lt;T&gt;</code> implements <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut"><code>DerefMut</code></a>, and that
impl should be preferred over this method when performing updates, as it
will usually be faster and more ergonomic.</p>
<p>For large types, this method may be expensive, as it requires copying
<code>2 * size_of::&lt;T&gt;()</code> bytes. [1]</p>
<p>[1] Since the inner <code>T</code> may not be aligned, it would not be sound to
invoke <code>f</code> on it directly. Instead, <code>update</code> moves it into a
properly-aligned location in the local stack frame, calls <code>f</code> on it, and
then moves it back to its original location in <code>self</code>.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Unalign%3CT%3E-1" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#392-400">Source</a><a href="#impl-Unalign%3CT%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>&gt; <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.get" class="method"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#396-399">Source</a><h4 class="code-header">pub fn <a href="#method.get" class="fn">get</a>(&amp;self) -&gt; T</h4></section></summary><div class="docblock"><p>Gets a copy of the inner <code>T</code>.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#162-167">Source</a><a href="#impl-Clone-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#164-166">Source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Returns a duplicate of the value. <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.93.1/src/core/clone.rs.html#245-247">Source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#451-456">Source</a><a href="#impl-Debug-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="trait.Unaligned.html" title="trait zerocopy::Unaligned">Unaligned</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#453-455">Source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.93.1/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#113">Source</a><a href="#impl-Default-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/default/trait.Default.html" title="trait core::default::Default">Default</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#113">Source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.93.1/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deref-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#402-409">Source</a><a href="#impl-Deref-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="trait.Unaligned.html" title="trait zerocopy::Unaligned">Unaligned</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#403">Source</a><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = T</h4></section></summary><div class='docblock'>The resulting type after dereferencing.</div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#406-408">Source</a><a href="#method.deref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html#tymethod.deref" class="fn">deref</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Dereferences the value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-DerefMut-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#411-416">Source</a><a href="#impl-DerefMut-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="trait.Unaligned.html" title="trait zerocopy::Unaligned">Unaligned</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deref_mut" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#413-415">Source</a><a href="#method.deref_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.DerefMut.html#tymethod.deref_mut" class="fn">deref_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably dereferences the value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#458-463">Source</a><a href="#impl-Display-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="trait.Unaligned.html" title="trait zerocopy::Unaligned">Unaligned</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#460-462">Source</a><a href="#method.fmt-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Display.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.93.1/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.93.1/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-FromBytes-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#114">Source</a><a href="#impl-FromBytes-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.FromBytes.html" title="trait zerocopy::FromBytes">FromBytes</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="trait.FromBytes.html" title="trait zerocopy::FromBytes">FromBytes</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.ref_from_bytes" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#3821-3830">Source</a><a href="#method.ref_from_bytes" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FromBytes.html#method.ref_from_bytes" class="fn">ref_from_bytes</a>(source: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;Self, <a class="type" href="error/type.CastError.html" title="type zerocopy::error::CastError">CastError</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> + <a class="trait" href="trait.Immutable.html" title="trait zerocopy::Immutable">Immutable</a>,</div></h4></section></summary><div class='docblock'>Interprets the given <code>source</code> as a <code>&amp;Self</code>. <a href="trait.FromBytes.html#method.ref_from_bytes">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ref_from_prefix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#3909-3915">Source</a><a href="#method.ref_from_prefix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FromBytes.html#method.ref_from_prefix" class="fn">ref_from_prefix</a>(
source: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(&amp;Self, &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]), <a class="type" href="error/type.CastError.html" title="type zerocopy::error::CastError">CastError</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> + <a class="trait" href="trait.Immutable.html" title="trait zerocopy::Immutable">Immutable</a>,</div></h4></section></summary><div class='docblock'>Interprets the prefix of the given <code>source</code> as a <code>&amp;Self</code> without
copying. <a href="trait.FromBytes.html#method.ref_from_prefix">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ref_from_suffix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#3979-3985">Source</a><a href="#method.ref_from_suffix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FromBytes.html#method.ref_from_suffix" class="fn">ref_from_suffix</a>(
source: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], &amp;Self), <a class="type" href="error/type.CastError.html" title="type zerocopy::error::CastError">CastError</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.Immutable.html" title="trait zerocopy::Immutable">Immutable</a> + <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a>,</div></h4></section></summary><div class='docblock'>Interprets the suffix of the given bytes as a <code>&amp;Self</code>. <a href="trait.FromBytes.html#method.ref_from_suffix">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.mut_from_bytes" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#4057-4066">Source</a><a href="#method.mut_from_bytes" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FromBytes.html#method.mut_from_bytes" class="fn">mut_from_bytes</a>(
source: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;mut Self, <a class="type" href="error/type.CastError.html" title="type zerocopy::error::CastError">CastError</a>&lt;&amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.IntoBytes.html" title="trait zerocopy::IntoBytes">IntoBytes</a> + <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a>,</div></h4></section></summary><div class='docblock'>Interprets the given <code>source</code> as a <code>&amp;mut Self</code>. <a href="trait.FromBytes.html#method.mut_from_bytes">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.mut_from_prefix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#4143-4151">Source</a><a href="#method.mut_from_prefix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FromBytes.html#method.mut_from_prefix" class="fn">mut_from_prefix</a>(
source: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(&amp;mut Self, &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]), <a class="type" href="error/type.CastError.html" title="type zerocopy::error::CastError">CastError</a>&lt;&amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.IntoBytes.html" title="trait zerocopy::IntoBytes">IntoBytes</a> + <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a>,</div></h4></section></summary><div class='docblock'>Interprets the prefix of the given <code>source</code> as a <code>&amp;mut Self</code> without
copying. <a href="trait.FromBytes.html#method.mut_from_prefix">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.mut_from_suffix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#4219-4227">Source</a><a href="#method.mut_from_suffix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FromBytes.html#method.mut_from_suffix" class="fn">mut_from_suffix</a>(
source: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(&amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], &amp;mut Self), <a class="type" href="error/type.CastError.html" title="type zerocopy::error::CastError">CastError</a>&lt;&amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.IntoBytes.html" title="trait zerocopy::IntoBytes">IntoBytes</a> + <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a>,</div></h4></section></summary><div class='docblock'>Interprets the suffix of the given <code>source</code> as a <code>&amp;mut Self</code> without
copying. <a href="trait.FromBytes.html#method.mut_from_suffix">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_from_bytes" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#4729-4744">Source</a><a href="#method.read_from_bytes" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FromBytes.html#method.read_from_bytes" class="fn">read_from_bytes</a>(source: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="struct" href="error/struct.SizeError.html" title="struct zerocopy::error::SizeError">SizeError</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<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></h4></section></summary><div class='docblock'>Reads a copy of <code>Self</code> from the given <code>source</code>. <a href="trait.FromBytes.html#method.read_from_bytes">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_from_prefix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#4780-4795">Source</a><a href="#method.read_from_prefix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FromBytes.html#method.read_from_prefix" class="fn">read_from_prefix</a>(
source: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(Self, &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]), <a class="struct" href="error/struct.SizeError.html" title="struct zerocopy::error::SizeError">SizeError</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<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></h4></section></summary><div class='docblock'>Reads a copy of <code>Self</code> from the prefix of the given <code>source</code>. <a href="trait.FromBytes.html#method.read_from_prefix">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.read_from_suffix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#4825-4840">Source</a><a href="#method.read_from_suffix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FromBytes.html#method.read_from_suffix" class="fn">read_from_suffix</a>(
source: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self), <a class="struct" href="error/struct.SizeError.html" title="struct zerocopy::error::SizeError">SizeError</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<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></h4></section></summary><div class='docblock'>Reads a copy of <code>Self</code> from the suffix of the given <code>source</code>. <a href="trait.FromBytes.html#method.read_from_suffix">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-FromZeros-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#114">Source</a><a href="#impl-FromZeros-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.FromZeros.html" title="trait zerocopy::FromZeros">FromZeros</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="trait.FromZeros.html" title="trait zerocopy::FromZeros">FromZeros</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.zero" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#3273-3286">Source</a><a href="#method.zero" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FromZeros.html#method.zero" class="fn">zero</a>(&amp;mut self)</h4></section></summary><div class='docblock'>Overwrites <code>self</code> with zeros. <a href="trait.FromZeros.html#method.zero">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.new_zeroed" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#3314-3320">Source</a><a href="#method.new_zeroed" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FromZeros.html#method.new_zeroed" class="fn">new_zeroed</a>() -&gt; Self<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></h4></section></summary><div class='docblock'>Creates an instance of <code>Self</code> from zeroed bytes. <a href="trait.FromZeros.html#method.new_zeroed">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#441-449">Source</a><a href="#impl-Hash-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="trait.Unaligned.html" title="trait zerocopy::Unaligned">Unaligned</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#443-448">Source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;H&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;mut H</a>)<div class="where">where
H: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</div></h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/1.93.1/src/core/hash/mod.rs.html#235-237">Source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;mut H</a>)<div class="where">where
H: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
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></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IntoBytes-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#114">Source</a><a href="#impl-IntoBytes-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.IntoBytes.html" title="trait zerocopy::IntoBytes">IntoBytes</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="trait.IntoBytes.html" title="trait zerocopy::IntoBytes">IntoBytes</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_bytes" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#5237-5267">Source</a><a href="#method.as_bytes" class="anchor">§</a><h4 class="code-header">fn <a href="trait.IntoBytes.html#method.as_bytes" class="fn">as_bytes</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]<div class="where">where
Self: <a class="trait" href="trait.Immutable.html" title="trait zerocopy::Immutable">Immutable</a>,</div></h4></section></summary><div class='docblock'>Gets the bytes of this value. <a href="trait.IntoBytes.html#method.as_bytes">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_bytes" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#5309-5339">Source</a><a href="#method.as_mut_bytes" class="anchor">§</a><h4 class="code-header">fn <a href="trait.IntoBytes.html#method.as_mut_bytes" class="fn">as_mut_bytes</a>(&amp;mut self) -&gt; &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]<div class="where">where
Self: <a class="trait" href="trait.FromBytes.html" title="trait zerocopy::FromBytes">FromBytes</a>,</div></h4></section></summary><div class='docblock'>Gets the bytes of this value mutably. <a href="trait.IntoBytes.html#method.as_mut_bytes">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.write_to" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#5390-5405">Source</a><a href="#method.write_to" class="anchor">§</a><h4 class="code-header">fn <a href="trait.IntoBytes.html#method.write_to" class="fn">write_to</a>(&amp;self, dst: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a>, <a class="struct" href="error/struct.SizeError.html" title="struct zerocopy::error::SizeError">SizeError</a>&lt;&amp;Self, &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.Immutable.html" title="trait zerocopy::Immutable">Immutable</a>,</div></h4></section></summary><div class='docblock'>Writes a copy of <code>self</code> to <code>dst</code>. <a href="trait.IntoBytes.html#method.write_to">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.write_to_prefix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#5457-5474">Source</a><a href="#method.write_to_prefix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.IntoBytes.html#method.write_to_prefix" class="fn">write_to_prefix</a>(
&amp;self,
dst: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a>, <a class="struct" href="error/struct.SizeError.html" title="struct zerocopy::error::SizeError">SizeError</a>&lt;&amp;Self, &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.Immutable.html" title="trait zerocopy::Immutable">Immutable</a>,</div></h4></section></summary><div class='docblock'>Writes a copy of <code>self</code> to the prefix of <code>dst</code>. <a href="trait.IntoBytes.html#method.write_to_prefix">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.write_to_suffix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#5533-5560">Source</a><a href="#method.write_to_suffix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.IntoBytes.html#method.write_to_suffix" class="fn">write_to_suffix</a>(
&amp;self,
dst: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.unit.html">()</a>, <a class="struct" href="error/struct.SizeError.html" title="struct zerocopy::error::SizeError">SizeError</a>&lt;&amp;Self, &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.Immutable.html" title="trait zerocopy::Immutable">Immutable</a>,</div></h4></section></summary><div class='docblock'>Writes a copy of <code>self</code> to the suffix of <code>dst</code>. <a href="trait.IntoBytes.html#method.write_to_suffix">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><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&lt;T&gt; <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>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.PointerMetadata" class="associatedtype trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#121">Source</a><a href="#associatedtype.PointerMetadata" class="anchor">§</a><h4 class="code-header">type <a href="trait.KnownLayout.html#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></summary><div class='docblock'>The type of metadata stored in a pointer to <code>Self</code>. <a href="trait.KnownLayout.html#associatedtype.PointerMetadata">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.size_for_metadata" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#854-856">Source</a><a href="#method.size_for_metadata" class="anchor">§</a><h4 class="code-header">fn <a href="trait.KnownLayout.html#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>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.usize.html">usize</a>&gt;</h4></section></summary><div class='docblock'>Computes the size of an object of type <code>Self</code> with the given pointer
metadata. <a href="trait.KnownLayout.html#method.size_for_metadata">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#425-430">Source</a><a href="#impl-Ord-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="trait.Unaligned.html" title="trait zerocopy::Unaligned">Unaligned</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#427-429">Source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/1.93.1/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.93.1/src/core/cmp.rs.html#1021-1023">Source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -&gt; Self<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></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.93.1/src/core/cmp.rs.html#1060-1062">Source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html#method.min" class="fn">min</a>(self, other: Self) -&gt; Self<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></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/1.93.1/src/core/cmp.rs.html#1086-1088">Source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html#method.clamp" class="fn">clamp</a>(self, min: Self, max: Self) -&gt; Self<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></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#432-437">Source</a><a href="#impl-PartialEq-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="trait.Unaligned.html" title="trait zerocopy::Unaligned">Unaligned</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#434-436">Source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.93.1/src/core/cmp.rs.html#264">Source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#418-423">Source</a><a href="#impl-PartialOrd-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="trait.Unaligned.html" title="trait zerocopy::Unaligned">Unaligned</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#420-422">Source</a><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.93.1/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.93.1/src/core/cmp.rs.html#1398">Source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.93.1/src/core/cmp.rs.html#1416">Source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the
<code>&lt;=</code> operator. <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.93.1/src/core/cmp.rs.html#1434">Source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#method.gt" class="fn">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;</code>
operator. <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.93.1/src/core/cmp.rs.html#1452">Source</a></span><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#method.ge" class="fn">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by
the <code>&gt;=</code> operator. <a href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFromBytes-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#114">Source</a><a href="#impl-TryFromBytes-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.TryFromBytes.html" title="trait zerocopy::TryFromBytes">TryFromBytes</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="trait.TryFromBytes.html" title="trait zerocopy::TryFromBytes">TryFromBytes</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.try_ref_from_bytes" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1795-1814">Source</a><a href="#method.try_ref_from_bytes" class="anchor">§</a><h4 class="code-header">fn <a href="trait.TryFromBytes.html#method.try_ref_from_bytes" class="fn">try_ref_from_bytes</a>(source: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;Self, <a class="type" href="error/type.TryCastError.html" title="type zerocopy::error::TryCastError">TryCastError</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> + <a class="trait" href="trait.Immutable.html" title="trait zerocopy::Immutable">Immutable</a>,</div></h4></section></summary><div class='docblock'>Attempts to interpret the given <code>source</code> as a <code>&amp;Self</code>. <a href="trait.TryFromBytes.html#method.try_ref_from_bytes">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_ref_from_prefix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1894-1900">Source</a><a href="#method.try_ref_from_prefix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.TryFromBytes.html#method.try_ref_from_prefix" class="fn">try_ref_from_prefix</a>(
source: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(&amp;Self, &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]), <a class="type" href="error/type.TryCastError.html" title="type zerocopy::error::TryCastError">TryCastError</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> + <a class="trait" href="trait.Immutable.html" title="trait zerocopy::Immutable">Immutable</a>,</div></h4></section></summary><div class='docblock'>Attempts to interpret the prefix of the given <code>source</code> as a <code>&amp;Self</code>. <a href="trait.TryFromBytes.html#method.try_ref_from_prefix">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_ref_from_suffix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#1980-1986">Source</a><a href="#method.try_ref_from_suffix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.TryFromBytes.html#method.try_ref_from_suffix" class="fn">try_ref_from_suffix</a>(
source: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], &amp;Self), <a class="type" href="error/type.TryCastError.html" title="type zerocopy::error::TryCastError">TryCastError</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> + <a class="trait" href="trait.Immutable.html" title="trait zerocopy::Immutable">Immutable</a>,</div></h4></section></summary><div class='docblock'>Attempts to interpret the suffix of the given <code>source</code> as a <code>&amp;Self</code>. <a href="trait.TryFromBytes.html#method.try_ref_from_suffix">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_mut_from_bytes" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#2069-2086">Source</a><a href="#method.try_mut_from_bytes" class="anchor">§</a><h4 class="code-header">fn <a href="trait.TryFromBytes.html#method.try_mut_from_bytes" class="fn">try_mut_from_bytes</a>(
bytes: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;mut Self, <a class="type" href="error/type.TryCastError.html" title="type zerocopy::error::TryCastError">TryCastError</a>&lt;&amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> + <a class="trait" href="trait.IntoBytes.html" title="trait zerocopy::IntoBytes">IntoBytes</a>,</div></h4></section></summary><div class='docblock'>Attempts to interpret the given <code>source</code> as a <code>&amp;mut Self</code> without
copying. <a href="trait.TryFromBytes.html#method.try_mut_from_bytes">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_mut_from_prefix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#2173-2181">Source</a><a href="#method.try_mut_from_prefix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.TryFromBytes.html#method.try_mut_from_prefix" class="fn">try_mut_from_prefix</a>(
source: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(&amp;mut Self, &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]), <a class="type" href="error/type.TryCastError.html" title="type zerocopy::error::TryCastError">TryCastError</a>&lt;&amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> + <a class="trait" href="trait.IntoBytes.html" title="trait zerocopy::IntoBytes">IntoBytes</a>,</div></h4></section></summary><div class='docblock'>Attempts to interpret the prefix of the given <code>source</code> as a <code>&amp;mut Self</code>. <a href="trait.TryFromBytes.html#method.try_mut_from_prefix">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_mut_from_suffix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#2268-2276">Source</a><a href="#method.try_mut_from_suffix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.TryFromBytes.html#method.try_mut_from_suffix" class="fn">try_mut_from_suffix</a>(
source: &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(&amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], &amp;mut Self), <a class="type" href="error/type.TryCastError.html" title="type zerocopy::error::TryCastError">TryCastError</a>&lt;&amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<div class="where">where
Self: <a class="trait" href="trait.KnownLayout.html" title="trait zerocopy::KnownLayout">KnownLayout</a> + <a class="trait" href="trait.IntoBytes.html" title="trait zerocopy::IntoBytes">IntoBytes</a>,</div></h4></section></summary><div class='docblock'>Attempts to interpret the suffix of the given <code>source</code> as a <code>&amp;mut Self</code>. <a href="trait.TryFromBytes.html#method.try_mut_from_suffix">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_read_from_bytes" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#2897-2912">Source</a><a href="#method.try_read_from_bytes" class="anchor">§</a><h4 class="code-header">fn <a href="trait.TryFromBytes.html#method.try_read_from_bytes" class="fn">try_read_from_bytes</a>(source: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="type" href="error/type.TryReadError.html" title="type zerocopy::error::TryReadError">TryReadError</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<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></h4></section></summary><div class='docblock'>Attempts to read the given <code>source</code> as a <code>Self</code>. <a href="trait.TryFromBytes.html#method.try_read_from_bytes">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_read_from_prefix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#2968-2983">Source</a><a href="#method.try_read_from_prefix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.TryFromBytes.html#method.try_read_from_prefix" class="fn">try_read_from_prefix</a>(
source: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(Self, &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>]), <a class="type" href="error/type.TryReadError.html" title="type zerocopy::error::TryReadError">TryReadError</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<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></h4></section></summary><div class='docblock'>Attempts to read a <code>Self</code> from the prefix of the given <code>source</code>. <a href="trait.TryFromBytes.html#method.try_read_from_prefix">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_read_from_suffix" class="method trait-impl"><a class="src rightside" href="../src/zerocopy/lib.rs.html#3040-3055">Source</a><a href="#method.try_read_from_suffix" class="anchor">§</a><h4 class="code-header">fn <a href="trait.TryFromBytes.html#method.try_read_from_suffix" class="fn">try_read_from_suffix</a>(
source: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>],
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;(&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self), <a class="type" href="error/type.TryReadError.html" title="type zerocopy::error::TryReadError">TryReadError</a>&lt;&amp;[<a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>], Self&gt;&gt;<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></h4></section></summary><div class='docblock'>Attempts to read a <code>Self</code> from the suffix of the given <code>source</code>. <a href="trait.TryFromBytes.html#method.try_read_from_suffix">Read more</a></div></details></div></details><section id="impl-Copy-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#113">Source</a><a href="#impl-Copy-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section><section id="impl-Eq-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#439">Source</a><a href="#impl-Eq-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="trait.Unaligned.html" title="trait zerocopy::Unaligned">Unaligned</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section><section id="impl-Immutable-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#114">Source</a><a href="#impl-Immutable-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.Immutable.html" title="trait zerocopy::Immutable">Immutable</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="trait.Immutable.html" title="trait zerocopy::Immutable">Immutable</a>,</div></h3></section><section id="impl-Unaligned-for-Unalign%3CT%3E" class="impl"><a class="src rightside" href="../src/zerocopy/wrappers.rs.html#114">Source</a><a href="#impl-Unaligned-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.Unaligned.html" title="trait zerocopy::Unaligned">Unaligned</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;</h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Unalign%3CT%3E" class="impl"><a href="#impl-Freeze-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-Unalign%3CT%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Send-for-Unalign%3CT%3E" class="impl"><a href="#impl-Send-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-Unalign%3CT%3E" class="impl"><a href="#impl-Sync-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-Unalign%3CT%3E" class="impl"><a href="#impl-Unpin-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-Unalign%3CT%3E" class="impl"><a href="#impl-UnwindSafe-for-Unalign%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Unalign.html" title="struct zerocopy::Unalign">Unalign</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/any.rs.html#138">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<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"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/any.rs.html#139">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.93.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/borrow.rs.html#212">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/borrow.rs.html#214">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/borrow.rs.html#221">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
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>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/borrow.rs.html#222">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.93.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/clone.rs.html#547">Source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/clone.rs.html#549">Source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dest: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.pointer.html">*mut </a><a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dest</code>. <a href="https://doc.rust-lang.org/1.93.1/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#785">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#788">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#767-769">Source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#777">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Receiver-for-P" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/ops/deref.rs.html#378-380">Source</a><a href="#impl-Receiver-for-P" class="anchor">§</a><h3 class="code-header">impl&lt;P, T&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Receiver.html" title="trait core::ops::deref::Receiver">Receiver</a> for P<div class="where">where
P: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&lt;Target = T&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
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>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/ops/deref.rs.html#382">Source</a><a href="#associatedtype.Target-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/ops/deref/trait.Receiver.html#associatedtype.Target" class="associatedtype">Target</a> = T</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>arbitrary_self_types</code>)</span></div></span><div class='docblock'>The target type on which the method may be called.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#827-829">Source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#831">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#834">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#811-813">Source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#815">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.93.1/src/core/convert/mod.rs.html#818">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.93.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html>