Files
rust-gpu/api/smallvec/struct.SmallVec.html
2021-10-26 10:33:41 +00:00

308 lines
152 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 `Vec`-like container that can store a small number of elements inline."><meta name="keywords" content="rust, rustlang, rust-lang, SmallVec"><title>SmallVec in smallvec - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings" ></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.svg"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></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]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../smallvec/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><h2 class="location">Struct SmallVec</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#implementations">Methods</a></h3><div class="sidebar-links"><a href="#method.append">append</a><a href="#method.as_mut_ptr">as_mut_ptr</a><a href="#method.as_mut_slice">as_mut_slice</a><a href="#method.as_ptr">as_ptr</a><a href="#method.as_slice">as_slice</a><a href="#method.capacity">capacity</a><a href="#method.clear">clear</a><a href="#method.dedup">dedup</a><a href="#method.dedup_by">dedup_by</a><a href="#method.dedup_by_key">dedup_by_key</a><a href="#method.drain">drain</a><a href="#method.extend_from_slice">extend_from_slice</a><a href="#method.from_buf">from_buf</a><a href="#method.from_buf_and_len">from_buf_and_len</a><a href="#method.from_buf_and_len_unchecked">from_buf_and_len_unchecked</a><a href="#method.from_elem">from_elem</a><a href="#method.from_raw_parts">from_raw_parts</a><a href="#method.from_slice">from_slice</a><a href="#method.from_vec">from_vec</a><a href="#method.grow">grow</a><a href="#method.inline_size">inline_size</a><a href="#method.insert">insert</a><a href="#method.insert_from_slice">insert_from_slice</a><a href="#method.insert_many">insert_many</a><a href="#method.into_boxed_slice">into_boxed_slice</a><a href="#method.into_inner">into_inner</a><a href="#method.into_vec">into_vec</a><a href="#method.is_empty">is_empty</a><a href="#method.len">len</a><a href="#method.new">new</a><a href="#method.pop">pop</a><a href="#method.push">push</a><a href="#method.remove">remove</a><a href="#method.reserve">reserve</a><a href="#method.reserve_exact">reserve_exact</a><a href="#method.resize">resize</a><a href="#method.resize_with">resize_with</a><a href="#method.retain">retain</a><a href="#method.set_len">set_len</a><a href="#method.shrink_to_fit">shrink_to_fit</a><a href="#method.spilled">spilled</a><a href="#method.swap_remove">swap_remove</a><a href="#method.truncate">truncate</a><a href="#method.try_grow">try_grow</a><a href="#method.try_reserve">try_reserve</a><a href="#method.try_reserve_exact">try_reserve_exact</a><a href="#method.with_capacity">with_capacity</a></div><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-AsMut%3C%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E">AsMut&lt;[&lt;A as Array&gt;::Item]&gt;</a><a href="#impl-AsRef%3C%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E">AsRef&lt;[&lt;A as Array&gt;::Item]&gt;</a><a href="#impl-Borrow%3C%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E">Borrow&lt;[&lt;A as Array&gt;::Item]&gt;</a><a href="#impl-BorrowMut%3C%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E">BorrowMut&lt;[&lt;A as Array&gt;::Item]&gt;</a><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Deref">Deref</a><a href="#impl-DerefMut">DerefMut</a><a href="#impl-Drop">Drop</a><a href="#impl-Eq">Eq</a><a href="#impl-Extend%3C%3CA%20as%20Array%3E%3A%3AItem%3E">Extend&lt;&lt;A as Array&gt;::Item&gt;</a><a href="#impl-From%3C%26%27a%20%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E">From&lt;&amp;&#39;a [&lt;A as Array&gt;::Item]&gt;</a><a href="#impl-From%3CA%3E">From&lt;A&gt;</a><a href="#impl-From%3CVec%3C%3CA%20as%20Array%3E%3A%3AItem%2C%20Global%3E%3E">From&lt;Vec&lt;&lt;A as Array&gt;::Item, Global&gt;&gt;</a><a href="#impl-FromIterator%3C%3CA%20as%20Array%3E%3A%3AItem%3E">FromIterator&lt;&lt;A as Array&gt;::Item&gt;</a><a href="#impl-Hash">Hash</a><a href="#impl-Index%3CI%3E">Index&lt;I&gt;</a><a href="#impl-IndexMut%3CI%3E">IndexMut&lt;I&gt;</a><a href="#impl-IntoIterator">IntoIterator</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CSmallVec%3CB%3E%3E">PartialEq&lt;SmallVec&lt;B&gt;&gt;</a><a href="#impl-PartialOrd%3CSmallVec%3CA%3E%3E">PartialOrd&lt;SmallVec&lt;A&gt;&gt;</a><a href="#impl-Send">Send</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-From%3C!%3E">From&lt;!&gt;</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a></div></div><h2 class="location">Other items in<br><a href="index.html">smallvec</a></h2><div id="sidebar-vars" data-name="SmallVec" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="index.html">smallvec</a>::<wbr><a class="struct" href="#">SmallVec</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/smallvec/lib.rs.html#547-553" title="goto source code">[src]</a></span></h1><div class="docblock item-decl"><pre class="rust struct"><code>pub struct SmallVec&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; { /* fields omitted */ }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A <code>Vec</code>-like container that can store a small number of elements inline.</p>
<p><code>SmallVec</code> acts like a vector, but can store a limited amount of data inline within the
<code>SmallVec</code> struct rather than in a separate allocation. If the data exceeds this limit, the
<code>SmallVec</code> will “spill” its data onto the heap, allocating a new buffer to hold it.</p>
<p>The amount of data that a <code>SmallVec</code> can store inline depends on its backing store. The backing
store can be any type that implements the <code>Array</code> trait; usually it is a small fixed-sized
array. For example a <code>SmallVec&lt;[u64; 8]&gt;</code> can hold up to eight 64-bit integers inline.</p>
<h3 id="example" class="section-header"><a href="#example">Example</a></h3>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use</span> <span class="ident">smallvec::SmallVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v</span> <span class="op">=</span> <span class="ident">SmallVec</span>::<span class="op">&lt;</span>[<span class="ident">u8</span>; <span class="number">4</span>]<span class="op">&gt;</span><span class="ident">::new</span>(); <span class="comment">// initialize an empty vector</span>
<span class="comment">// The vector can hold up to 4 items without spilling onto the heap.</span>
<span class="ident">v</span>.<span class="ident">extend</span>(<span class="number">0</span>..<span class="number">4</span>);
<span class="macro">assert_eq!</span>(<span class="ident">v</span>.<span class="ident">len</span>(), <span class="number">4</span>);
<span class="macro">assert!</span>(<span class="op">!</span><span class="ident">v</span>.<span class="ident">spilled</span>());
<span class="comment">// Pushing another element will force the buffer to spill:</span>
<span class="ident">v</span>.<span class="ident">push</span>(<span class="number">4</span>);
<span class="macro">assert_eq!</span>(<span class="ident">v</span>.<span class="ident">len</span>(), <span class="number">5</span>);
<span class="macro">assert!</span>(<span class="ident">v</span>.<span class="ident">spilled</span>());</code></pre></div>
</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#555-1405" title="goto source code">[src]</a></div><a href="#impl" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.new" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#558-569" title="goto source code">[src]</a></div><a href="#method.new" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.new" class="fnname">new</a>() -&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h4></div></summary><div class="docblock"><p>Construct an empty vector</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.with_capacity" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#585-589" title="goto source code">[src]</a></div><a href="#method.with_capacity" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.with_capacity" class="fnname">with_capacity</a>(n: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>) -&gt; Self</h4></div></summary><div class="docblock"><p>Construct an empty vector with enough capacity pre-allocated to store at least <code>n</code>
elements.</p>
<p>Will create a heap allocation only if <code>n</code> is larger than the inline capacity.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
<span class="kw">let</span> <span class="ident">v</span>: <span class="ident">SmallVec</span><span class="op">&lt;</span>[<span class="ident">u8</span>; <span class="number">3</span>]<span class="op">&gt;</span> <span class="op">=</span> <span class="ident">SmallVec::with_capacity</span>(<span class="number">100</span>);
<span class="macro">assert!</span>(<span class="ident">v</span>.<span class="ident">is_empty</span>());
<span class="macro">assert!</span>(<span class="ident">v</span>.<span class="ident">capacity</span>() <span class="op">&gt;</span><span class="op">=</span> <span class="number">100</span>);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from_vec" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#604-626" title="goto source code">[src]</a></div><a href="#method.from_vec" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.from_vec" class="fnname">from_vec</a>(vec: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt;) -&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h4></div></summary><div class="docblock"><p>Construct a new <code>SmallVec</code> from a <code>Vec&lt;A::Item&gt;</code>.</p>
<p>Elements will be copied to the inline buffer if vec.capacity() &lt;= Self::inline_capacity().</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use</span> <span class="ident">smallvec::SmallVec</span>;
<span class="kw">let</span> <span class="ident">vec</span> <span class="op">=</span> <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>];
<span class="kw">let</span> <span class="ident">small_vec</span>: <span class="ident">SmallVec</span><span class="op">&lt;</span>[<span class="kw">_</span>; <span class="number">3</span>]<span class="op">&gt;</span> <span class="op">=</span> <span class="ident">SmallVec::from_vec</span>(<span class="ident">vec</span>);
<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span><span class="kw-2">*</span><span class="ident">small_vec</span>, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from_buf" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#640-645" title="goto source code">[src]</a></div><a href="#method.from_buf" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.from_buf" class="fnname">from_buf</a>(buf: A) -&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h4></div></summary><div class="docblock"><p>Constructs a new <code>SmallVec</code> on the stack from an <code>A</code> without
copying elements.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use</span> <span class="ident">smallvec::SmallVec</span>;
<span class="kw">let</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>];
<span class="kw">let</span> <span class="ident">small_vec</span>: <span class="ident">SmallVec</span><span class="op">&lt;</span><span class="kw">_</span><span class="op">&gt;</span> <span class="op">=</span> <span class="ident">SmallVec::from_buf</span>(<span class="ident">buf</span>);
<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span><span class="kw-2">*</span><span class="ident">small_vec</span>, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from_buf_and_len" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#660-663" title="goto source code">[src]</a></div><a href="#method.from_buf_and_len" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.from_buf_and_len" class="fnname">from_buf_and_len</a>(buf: A, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h4></div></summary><div class="docblock"><p>Constructs a new <code>SmallVec</code> on the stack from an <code>A</code> without
copying elements. Also sets the length, which must be less or
equal to the size of <code>buf</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use</span> <span class="ident">smallvec::SmallVec</span>;
<span class="kw">let</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>];
<span class="kw">let</span> <span class="ident">small_vec</span>: <span class="ident">SmallVec</span><span class="op">&lt;</span><span class="kw">_</span><span class="op">&gt;</span> <span class="op">=</span> <span class="ident">SmallVec::from_buf_and_len</span>(<span class="ident">buf</span>, <span class="number">5</span>);
<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span><span class="kw-2">*</span><span class="ident">small_vec</span>, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from_buf_and_len_unchecked" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#681-686" title="goto source code">[src]</a></div><a href="#method.from_buf_and_len_unchecked" class="anchor"></a><h4 class="code-header">pub unsafe fn <a href="#method.from_buf_and_len_unchecked" class="fnname">from_buf_and_len_unchecked</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;buf: <a class="union" href="https://doc.rust-lang.org/nightly/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;A&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;len: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a><br>) -&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h4></div></summary><div class="docblock"><p>Constructs a new <code>SmallVec</code> on the stack from an <code>A</code> without
copying elements. Also sets the length. The user is responsible
for ensuring that <code>len &lt;= A::size()</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use</span> <span class="ident">smallvec::SmallVec</span>;
<span class="kw">use</span> <span class="ident">std::mem::MaybeUninit</span>;
<span class="kw">let</span> <span class="ident">buf</span> <span class="op">=</span> [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>];
<span class="kw">let</span> <span class="ident">small_vec</span>: <span class="ident">SmallVec</span><span class="op">&lt;</span><span class="kw">_</span><span class="op">&gt;</span> <span class="op">=</span> <span class="kw">unsafe</span> {
<span class="ident">SmallVec::from_buf_and_len_unchecked</span>(<span class="ident">MaybeUninit::new</span>(<span class="ident">buf</span>), <span class="number">5</span>)
};
<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span><span class="kw-2">*</span><span class="ident">small_vec</span>, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.set_len" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#693-696" title="goto source code">[src]</a></div><a href="#method.set_len" class="anchor"></a><h4 class="code-header">pub unsafe fn <a href="#method.set_len" class="fnname">set_len</a>(&amp;mut self, new_len: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</h4></div></summary><div class="docblock"><p>Sets the length of a vector.</p>
<p>This will explicitly set the size of the vector, without actually
modifying its buffers, so it is up to the caller to ensure that the
vector is actually the specified size.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.inline_size" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#720-722" title="goto source code">[src]</a></div><a href="#method.inline_size" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.inline_size" class="fnname">inline_size</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></h4></div></summary><div class="docblock"><p>The maximum number of elements this vector can hold inline</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.len" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#726-728" title="goto source code">[src]</a></div><a href="#method.len" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.len" class="fnname">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></h4></div></summary><div class="docblock"><p>The number of elements stored in the vector</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.is_empty" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#732-734" title="goto source code">[src]</a></div><a href="#method.is_empty" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.is_empty" class="fnname">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></div></summary><div class="docblock"><p>Returns <code>true</code> if the vector is empty</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.capacity" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#738-740" title="goto source code">[src]</a></div><a href="#method.capacity" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.capacity" class="fnname">capacity</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></h4></div></summary><div class="docblock"><p>The number of items the vector can hold without reallocating</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.spilled" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#775-777" title="goto source code">[src]</a></div><a href="#method.spilled" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.spilled" class="fnname">spilled</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></div></summary><div class="docblock"><p>Returns <code>true</code> if the data has spilled into a separate heap-allocated buffer.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.drain" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#792-825" title="goto source code">[src]</a></div><a href="#method.drain" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.drain" class="fnname">drain</a>&lt;R&gt;(&amp;mut self, range: R) -&gt; <a class="struct" href="struct.Drain.html" title="struct smallvec::Drain">Drain</a>&lt;'_, A&gt;<span class="notable-traits"><span class="notable-traits-tooltip"><div class="notable-traits-tooltiptext"><span class="docblock"><div class="notable">Notable traits for <a class="struct" href="struct.Drain.html" title="struct smallvec::Drain">Drain</a>&lt;'a, T&gt;</div><code class="content"><span class="where fmt-newline">impl&lt;'a, T:&nbsp;'a + <a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="struct.Drain.html" title="struct smallvec::Drain">Drain</a>&lt;'a, T&gt;</span><span class="where fmt-newline"> type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" class="type">Item</a> = T::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>;</span></code></span></div></span></span> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Creates a draining iterator that removes the specified range in the vector
and yields the removed items.</p>
<p>Note 1: The element range is removed even if the iterator is only
partially consumed or not consumed at all.</p>
<p>Note 2: It is unspecified how many elements are removed from the vector
if the <code>Drain</code> value is leaked.</p>
<h5 id="panics" class="section-header"><a href="#panics">Panics</a></h5>
<p>Panics if the starting point is greater than the end point or if
the end point is greater than the length of the vector.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.push" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#829-841" title="goto source code">[src]</a></div><a href="#method.push" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.push" class="fnname">push</a>(&amp;mut self, value: A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>)</h4></div></summary><div class="docblock"><p>Append an item to the vector.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pop" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#845-855" title="goto source code">[src]</a></div><a href="#method.pop" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.pop" class="fnname">pop</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt;</h4></div></summary><div class="docblock"><p>Remove an item from the end of the vector and return it, or None if empty.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.append" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#869-874" title="goto source code">[src]</a></div><a href="#method.append" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.append" class="fnname">append</a>&lt;B&gt;(&amp;mut self, other: &amp;mut <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;B&gt;) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;B: <a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&lt;Item = A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Moves all the elements of <code>other</code> into <code>self</code>, leaving <code>other</code> empty.</p>
<h5 id="example-1" class="section-header"><a href="#example-1">Example</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v0</span>: <span class="ident">SmallVec</span><span class="op">&lt;</span>[<span class="ident">u8</span>; <span class="number">16</span>]<span class="op">&gt;</span> <span class="op">=</span> <span class="macro">smallvec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v1</span>: <span class="ident">SmallVec</span><span class="op">&lt;</span>[<span class="ident">u8</span>; <span class="number">32</span>]<span class="op">&gt;</span> <span class="op">=</span> <span class="macro">smallvec!</span>[<span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>];
<span class="ident">v0</span>.<span class="ident">append</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">v1</span>);
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span><span class="ident">v0</span>, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span><span class="ident">v1</span>, []);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.grow" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#880-882" title="goto source code">[src]</a></div><a href="#method.grow" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.grow" class="fnname">grow</a>(&amp;mut self, new_cap: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</h4></div></summary><div class="docblock"><p>Re-allocate to set the capacity to <code>max(new_cap, inline_size())</code>.</p>
<p>Panics if <code>new_cap</code> is less than the vectors length
or if the capacity computation overflows <code>usize</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_grow" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#887-926" title="goto source code">[src]</a></div><a href="#method.try_grow" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.try_grow" class="fnname">try_grow</a>(&amp;mut self, new_cap: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.unit.html">()</a>, <a class="enum" href="enum.CollectionAllocErr.html" title="enum smallvec::CollectionAllocErr">CollectionAllocErr</a>&gt;</h4></div></summary><div class="docblock"><p>Re-allocate to set the capacity to <code>max(new_cap, inline_size())</code>.</p>
<p>Panics if <code>new_cap</code> is less than the vectors length</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.reserve" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#934-936" title="goto source code">[src]</a></div><a href="#method.reserve" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.reserve" class="fnname">reserve</a>(&amp;mut self, additional: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</h4></div></summary><div class="docblock"><p>Reserve capacity for <code>additional</code> more elements to be inserted.</p>
<p>May reserve more space to avoid frequent reallocations.</p>
<p>Panics if the capacity computation overflows <code>usize</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_reserve" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#941-954" title="goto source code">[src]</a></div><a href="#method.try_reserve" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.try_reserve" class="fnname">try_reserve</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;additional: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.unit.html">()</a>, <a class="enum" href="enum.CollectionAllocErr.html" title="enum smallvec::CollectionAllocErr">CollectionAllocErr</a>&gt;</h4></div></summary><div class="docblock"><p>Reserve capacity for <code>additional</code> more elements to be inserted.</p>
<p>May reserve more space to avoid frequent reallocations.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.reserve_exact" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#959-961" title="goto source code">[src]</a></div><a href="#method.reserve_exact" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.reserve_exact" class="fnname">reserve_exact</a>(&amp;mut self, additional: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</h4></div></summary><div class="docblock"><p>Reserve the minimum capacity for <code>additional</code> more elements to be inserted.</p>
<p>Panics if the new capacity overflows <code>usize</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_reserve_exact" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#964-973" title="goto source code">[src]</a></div><a href="#method.try_reserve_exact" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.try_reserve_exact" class="fnname">try_reserve_exact</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;additional: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.unit.html">()</a>, <a class="enum" href="enum.CollectionAllocErr.html" title="enum smallvec::CollectionAllocErr">CollectionAllocErr</a>&gt;</h4></div></summary><div class="docblock"><p>Reserve the minimum capacity for <code>additional</code> more elements to be inserted.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.shrink_to_fit" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#979-995" title="goto source code">[src]</a></div><a href="#method.shrink_to_fit" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.shrink_to_fit" class="fnname">shrink_to_fit</a>(&amp;mut self)</h4></div></summary><div class="docblock"><p>Shrink the capacity of the vector as much as possible.</p>
<p>When possible, this will move data from an external heap buffer to the vectors inline
storage.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.truncate" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1004-1013" title="goto source code">[src]</a></div><a href="#method.truncate" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.truncate" class="fnname">truncate</a>(&amp;mut self, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</h4></div></summary><div class="docblock"><p>Shorten the vector, keeping the first <code>len</code> elements and dropping the rest.</p>
<p>If <code>len</code> is greater than or equal to the vectors current length, this has no
effect.</p>
<p>This does not re-allocate. If you want the vectors capacity to shrink, call
<code>shrink_to_fit</code> after truncating.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.as_slice" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1018-1020" title="goto source code">[src]</a></div><a href="#method.as_slice" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.as_slice" class="fnname">as_slice</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;[</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a></h4></div></summary><div class="docblock"><p>Extracts a slice containing the entire vector.</p>
<p>Equivalent to <code>&amp;s[..]</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.as_mut_slice" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1025-1027" title="goto source code">[src]</a></div><a href="#method.as_mut_slice" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.as_mut_slice" class="fnname">as_mut_slice</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;mut [</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a></h4></div></summary><div class="docblock"><p>Extracts a mutable slice of the entire vector.</p>
<p>Equivalent to <code>&amp;mut s[..]</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.swap_remove" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1035-1040" title="goto source code">[src]</a></div><a href="#method.swap_remove" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.swap_remove" class="fnname">swap_remove</a>(&amp;mut self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>) -&gt; A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a></h4></div></summary><div class="docblock"><p>Remove the element at position <code>index</code>, replacing it with the last element.</p>
<p>This does not preserve ordering, but is O(1).</p>
<p>Panics if <code>index</code> is out of bounds.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clear" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1044-1046" title="goto source code">[src]</a></div><a href="#method.clear" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.clear" class="fnname">clear</a>(&amp;mut self)</h4></div></summary><div class="docblock"><p>Remove all elements from the vector.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.remove" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1052-1063" title="goto source code">[src]</a></div><a href="#method.remove" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.remove" class="fnname">remove</a>(&amp;mut self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>) -&gt; A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a></h4></div></summary><div class="docblock"><p>Remove and return the element at position <code>index</code>, shifting all elements after it to the
left.</p>
<p>Panics if <code>index</code> is out of bounds.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.insert" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1068-1080" title="goto source code">[src]</a></div><a href="#method.insert" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.insert" class="fnname">insert</a>(&amp;mut self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, element: A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>)</h4></div></summary><div class="docblock"><p>Insert an element at position <code>index</code>, shifting all elements after it to the right.</p>
<p>Panics if <code>index</code> is out of bounds.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.insert_many" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1084-1162" title="goto source code">[src]</a></div><a href="#method.insert_many" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.insert_many" class="fnname">insert_many</a>&lt;I:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt;&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;index: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;iterable: I<br>)</h4></div></summary><div class="docblock"><p>Insert multiple elements at position <code>index</code>, shifting all following elements toward the
back.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into_vec" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1166-1177" title="goto source code">[src]</a></div><a href="#method.into_vec" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.into_vec" class="fnname">into_vec</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt;</h4></div></summary><div class="docblock"><p>Convert a SmallVec to a Vec, without reallocating if the SmallVec has already spilled onto
the heap.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into_boxed_slice" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1183-1185" title="goto source code">[src]</a></div><a href="#method.into_boxed_slice" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.into_boxed_slice" class="fnname">into_boxed_slice</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">[</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a>&gt;</h4></div></summary><div class="docblock"><p>Converts a <code>SmallVec</code> into a <code>Box&lt;[T]&gt;</code> without reallocating if the <code>SmallVec</code> has already spilled
onto the heap.</p>
<p>Note that this will drop any excess capacity.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into_inner" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1191-1202" title="goto source code">[src]</a></div><a href="#method.into_inner" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.into_inner" class="fnname">into_inner</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;A, Self&gt;</h4></div></summary><div class="docblock"><p>Convert the SmallVec into an <code>A</code> if possible. Otherwise return <code>Err(Self)</code>.</p>
<p>This method returns <code>Err(Self)</code> if the SmallVec is too short (and the <code>A</code> contains uninitialized elements),
or if the SmallVec is too long (and all the elements were spilled to the heap).</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.retain" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1209-1220" title="goto source code">[src]</a></div><a href="#method.retain" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.retain" class="fnname">retain</a>&lt;F:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;mut A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a>&gt;(&amp;mut self, f: F)</h4></div></summary><div class="docblock"><p>Retains only the elements specified by the predicate.</p>
<p>In other words, remove all elements <code>e</code> such that <code>f(&amp;e)</code> returns <code>false</code>.
This method operates in place and preserves the order of the retained
elements.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.dedup" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1223-1228" title="goto source code">[src]</a></div><a href="#method.dedup" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.dedup" class="fnname">dedup</a>(&amp;mut self) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Removes consecutive duplicate elements.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.dedup_by" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1231-1260" title="goto source code">[src]</a></div><a href="#method.dedup_by" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.dedup_by" class="fnname">dedup_by</a>&lt;F&gt;(&amp;mut self, same_bucket: F) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;mut A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>, &amp;mut A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a>,&nbsp;</span></h4></div></summary><div class="docblock"><p>Removes consecutive duplicate elements using the given equality relation.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.dedup_by_key" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1263-1269" title="goto source code">[src]</a></div><a href="#method.dedup_by_key" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.dedup_by_key" class="fnname">dedup_by_key</a>&lt;F, K&gt;(&amp;mut self, key: F) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;mut A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>) -&gt; K,<br>&nbsp;&nbsp;&nbsp;&nbsp;K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;K&gt;,&nbsp;</span></h4></div></summary><div class="docblock"><p>Removes consecutive elements that map to the same key.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.resize_with" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1296-1311" title="goto source code">[src]</a></div><a href="#method.resize_with" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.resize_with" class="fnname">resize_with</a>&lt;F&gt;(&amp;mut self, new_len: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, f: F) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>() -&gt; A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>,&nbsp;</span></h4></div></summary><div class="docblock"><p>Resizes the <code>SmallVec</code> in-place so that <code>len</code> is equal to <code>new_len</code>.</p>
<p>If <code>new_len</code> is greater than <code>len</code>, the <code>SmallVec</code> is extended by the difference, with each
additional slot filled with the result of calling the closure <code>f</code>. The return values from <code>f</code></p>
<p>If <code>new_len</code> is less than <code>len</code>, the <code>SmallVec</code> is simply truncated.</p>
<p>This method uses a closure to create new values on every push. If youd rather <code>Clone</code> a given
value, use <code>resize</code>. If you want to use the <code>Default</code> trait to generate values, you can pass
<code>Default::default()</code> as the second argument.</p>
<p>Added for std::vec::Vec compatibility (added in Rust 1.33.0)</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">vec</span> : <span class="ident">SmallVec</span><span class="op">&lt;</span>[<span class="kw">_</span>; <span class="number">4</span>]<span class="op">&gt;</span> <span class="op">=</span> <span class="macro">smallvec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
<span class="ident">vec</span>.<span class="ident">resize_with</span>(<span class="number">5</span>, <span class="ident">Default::default</span>);
<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span><span class="kw-2">*</span><span class="ident">vec</span>, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">0</span>, <span class="number">0</span>]);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">vec</span> : <span class="ident">SmallVec</span><span class="op">&lt;</span>[<span class="kw">_</span>; <span class="number">4</span>]<span class="op">&gt;</span> <span class="op">=</span> <span class="macro">smallvec!</span>[];
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">p</span> <span class="op">=</span> <span class="number">1</span>;
<span class="ident">vec</span>.<span class="ident">resize_with</span>(<span class="number">4</span>, <span class="op">|</span><span class="op">|</span> { <span class="ident">p</span> <span class="kw-2">*</span><span class="op">=</span> <span class="number">2</span>; <span class="ident">p</span> });
<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span><span class="kw-2">*</span><span class="ident">vec</span>, <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">4</span>, <span class="number">8</span>, <span class="number">16</span>]);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from_raw_parts" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1382-1388" title="goto source code">[src]</a></div><a href="#method.from_raw_parts" class="anchor"></a><h4 class="code-header">pub unsafe fn <a href="#method.from_raw_parts" class="fnname">from_raw_parts</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.pointer.html">*mut </a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;length: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;capacity: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a><br>) -&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h4></div></summary><div class="docblock"><p>Creates a <code>SmallVec</code> directly from the raw components of another
<code>SmallVec</code>.</p>
<h5 id="safety" class="section-header"><a href="#safety">Safety</a></h5>
<p>This is highly unsafe, due to the number of invariants that arent
checked:</p>
<ul>
<li><code>ptr</code> needs to have been previously allocated via <code>SmallVec</code> for its
spilled storage (at least, its highly likely to be incorrect if it
wasnt).</li>
<li><code>ptr</code>s <code>A::Item</code> type needs to be the same size and alignment that
it was allocated with</li>
<li><code>length</code> needs to be less than or equal to <code>capacity</code>.</li>
<li><code>capacity</code> needs to be the capacity that the pointer was allocated
with.</li>
</ul>
<p>Violating these may cause problems like corrupting the allocators
internal data structures.</p>
<p>Additionally, <code>capacity</code> must be greater than the amount of inline
storage <code>A</code> has; that is, the new <code>SmallVec</code> must need to spill over
into heap allocated storage. This condition is asserted against.</p>
<p>The ownership of <code>ptr</code> is effectively transferred to the
<code>SmallVec</code> which may then deallocate, reallocate or change the
contents of memory pointed to by the pointer at will. Ensure
that nothing else uses the pointer after calling this
function.</p>
<h5 id="examples" class="section-header"><a href="#examples">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use</span> <span class="ident">std::mem</span>;
<span class="kw">use</span> <span class="ident">std::ptr</span>;
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v</span>: <span class="ident">SmallVec</span><span class="op">&lt;</span>[<span class="kw">_</span>; <span class="number">1</span>]<span class="op">&gt;</span> <span class="op">=</span> <span class="macro">smallvec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
<span class="comment">// Pull out the important parts of `v`.</span>
<span class="kw">let</span> <span class="ident">p</span> <span class="op">=</span> <span class="ident">v</span>.<span class="ident">as_mut_ptr</span>();
<span class="kw">let</span> <span class="ident">len</span> <span class="op">=</span> <span class="ident">v</span>.<span class="ident">len</span>();
<span class="kw">let</span> <span class="ident">cap</span> <span class="op">=</span> <span class="ident">v</span>.<span class="ident">capacity</span>();
<span class="kw">let</span> <span class="ident">spilled</span> <span class="op">=</span> <span class="ident">v</span>.<span class="ident">spilled</span>();
<span class="kw">unsafe</span> {
<span class="comment">// Forget all about `v`. The heap allocation that stored the</span>
<span class="comment">// three values won&#39;t be deallocated.</span>
<span class="ident">mem::forget</span>(<span class="ident">v</span>);
<span class="comment">// Overwrite memory with [4, 5, 6].</span>
<span class="comment">//</span>
<span class="comment">// This is only safe if `spilled` is true! Otherwise, we are</span>
<span class="comment">// writing into the old `SmallVec`&#39;s inline storage on the</span>
<span class="comment">// stack.</span>
<span class="macro">assert!</span>(<span class="ident">spilled</span>);
<span class="kw">for</span> <span class="ident">i</span> <span class="kw">in</span> <span class="number">0</span>..<span class="ident">len</span> {
<span class="ident">ptr::write</span>(<span class="ident">p</span>.<span class="ident">add</span>(<span class="ident">i</span>), <span class="number">4</span> <span class="op">+</span> <span class="ident">i</span>);
}
<span class="comment">// Put everything back together into a SmallVec with a different</span>
<span class="comment">// amount of inline storage, but which is still less than `cap`.</span>
<span class="kw">let</span> <span class="ident">rebuilt</span> <span class="op">=</span> <span class="ident">SmallVec</span>::<span class="op">&lt;</span>[<span class="kw">_</span>; <span class="number">2</span>]<span class="op">&gt;</span><span class="ident">::from_raw_parts</span>(<span class="ident">p</span>, <span class="ident">len</span>, <span class="ident">cap</span>);
<span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span><span class="kw-2">*</span><span class="ident">rebuilt</span>, <span class="kw-2">&amp;</span>[<span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
}
}</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.as_ptr" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1391-1396" title="goto source code">[src]</a></div><a href="#method.as_ptr" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.as_ptr" class="fnname">as_ptr</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.pointer.html">*const </a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a></h4></div></summary><div class="docblock"><p>Returns a raw pointer to the vectors buffer.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.as_mut_ptr" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1399-1404" title="goto source code">[src]</a></div><a href="#method.as_mut_ptr" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.as_mut_ptr" class="fnname">as_mut_ptr</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.pointer.html">*mut </a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a></h4></div></summary><div class="docblock"><p>Returns a raw mutable pointer to the vectors buffer.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-1" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1407-1467" title="goto source code">[src]</a></div><a href="#impl-1" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from_slice" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1414-1438" title="goto source code">[src]</a></div><a href="#method.from_slice" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.from_slice" class="fnname">from_slice</a>(slice: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;[</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a>) -&gt; Self</h4></div></summary><div class="docblock"><p>Copy the elements from a slice into a new <code>SmallVec</code>.</p>
<p>For slices of <code>Copy</code> types, this is more efficient than <code>SmallVec::from(slice)</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.insert_from_slice" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1444-1457" title="goto source code">[src]</a></div><a href="#method.insert_from_slice" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.insert_from_slice" class="fnname">insert_from_slice</a>(&amp;mut self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, slice: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;[</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a>)</h4></div></summary><div class="docblock"><p>Copy elements from a slice into the vector at position <code>index</code>, shifting any following
elements toward the back.</p>
<p>For slices of <code>Copy</code> types, this is more efficient than <code>insert</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.extend_from_slice" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1463-1466" title="goto source code">[src]</a></div><a href="#method.extend_from_slice" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.extend_from_slice" class="fnname">extend_from_slice</a>(&amp;mut self, slice: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;[</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a>)</h4></div></summary><div class="docblock"><p>Copy elements from a slice and append them to the vector.</p>
<p>For slices of <code>Copy</code> types, this is more efficient than <code>extend</code>.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-2" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1469-1513" title="goto source code">[src]</a></div><a href="#impl-2" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.resize" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1479-1487" title="goto source code">[src]</a></div><a href="#method.resize" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.resize" class="fnname">resize</a>(&amp;mut self, len: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, value: A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>)</h4></div></summary><div class="docblock"><p>Resizes the vector so that its length is equal to <code>len</code>.</p>
<p>If <code>len</code> is less than the current length, the vector simply truncated.</p>
<p>If <code>len</code> is greater than the current length, <code>value</code> is appended to the
vector until its length equals <code>len</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from_elem" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1496-1512" title="goto source code">[src]</a></div><a href="#method.from_elem" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.from_elem" class="fnname">from_elem</a>(elem: A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>) -&gt; Self</h4></div></summary><div class="docblock"><p>Creates a <code>SmallVec</code> with <code>n</code> copies of <code>elem</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use</span> <span class="ident">smallvec::SmallVec</span>;
<span class="kw">let</span> <span class="ident">v</span> <span class="op">=</span> <span class="ident">SmallVec</span>::<span class="op">&lt;</span>[<span class="ident">char</span>; <span class="number">128</span>]<span class="op">&gt;</span><span class="ident">::from_elem</span>(<span class="string">&#39;d&#39;</span>, <span class="number">2</span>);
<span class="macro">assert_eq!</span>(<span class="ident">v</span>, <span class="ident">SmallVec::from_buf</span>([<span class="string">&#39;d&#39;</span>, <span class="string">&#39;d&#39;</span>]));</code></pre></div>
</div></details></div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-AsMut%3C%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1543-1548" title="goto source code">[src]</a></div><a href="#impl-AsMut%3C%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">[</a>&lt;A as <a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt;::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a>&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.as_mut" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1545-1547" title="goto source code">[src]</a></div><a href="#method.as_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html#tymethod.as_mut" class="fnname">as_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;mut [</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a></h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-AsRef%3C%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1536-1541" title="goto source code">[src]</a></div><a href="#impl-AsRef%3C%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">[</a>&lt;A as <a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt;::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a>&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.as_ref" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1538-1540" title="goto source code">[src]</a></div><a href="#method.as_ref" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fnname">as_ref</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;[</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a></h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Borrow%3C%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1550-1555" title="goto source code">[src]</a></div><a href="#impl-Borrow%3C%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">[</a>&lt;A as <a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt;::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a>&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1552-1554" title="goto source code">[src]</a></div><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;[</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a></h4></div></summary><div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-BorrowMut%3C%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1557-1562" title="goto source code">[src]</a></div><a href="#impl-BorrowMut%3C%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">[</a>&lt;A as <a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt;::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a>&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow_mut" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1559-1561" title="goto source code">[src]</a></div><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;mut [</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a></h4></div></summary><div class='docblock'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Clone" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1798-1821" title="goto source code">[src]</a></div><a href="#impl-Clone" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1803-1805" title="goto source code">[src]</a></div><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h4></div></summary><div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone_from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1807-1820" title="goto source code">[src]</a></div><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;</a>Self)</h4></div></summary><div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Debug" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1754-1761" title="goto source code">[src]</a></div><a href="#impl-Debug" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1758-1760" title="goto source code">[src]</a></div><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div></summary><div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Default" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1763-1768" title="goto source code">[src]</a></div><a href="#impl-Default" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.default" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1765-1767" title="goto source code">[src]</a></div><a href="#method.default" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h4></div></summary><div class='docblock'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Deref" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1515-1524" title="goto source code">[src]</a></div><a href="#impl-Deref" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Target" class="type trait-impl has-srclink"><a href="#associatedtype.Target" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="type">Target</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">[</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a></h4></div></summary><div class='docblock'><p>The resulting type after dereferencing.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.deref" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1518-1523" title="goto source code">[src]</a></div><a href="#method.deref" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fnname">deref</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;[</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a></h4></div></summary><div class='docblock'><p>Dereferences the value.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-DerefMut" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1526-1534" title="goto source code">[src]</a></div><a href="#impl-DerefMut" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.deref_mut" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1528-1533" title="goto source code">[src]</a></div><a href="#method.deref_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html#tymethod.deref_mut" class="fnname">deref_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;mut [</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a></h4></div></summary><div class='docblock'><p>Mutably dereferences the value.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Drop" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1785-1796" title="goto source code">[src]</a></div><a href="#impl-Drop" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.drop" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1786-1795" title="goto source code">[src]</a></div><a href="#method.drop" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop" class="fnname">drop</a>(&amp;mut self)</h4></div></summary><div class='docblock'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Extend%3C%3CA%20as%20Array%3E%3A%3AItem%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1729-1752" title="goto source code">[src]</a></div><a href="#impl-Extend%3C%3CA%20as%20Array%3E%3A%3AItem%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a>&lt;&lt;A as <a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt;::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.extend" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1730-1751" title="goto source code">[src]</a></div><a href="#method.extend" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend" class="fnname">extend</a>&lt;I:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt;&gt;(&amp;mut self, iterable: I)</h4></div></summary><div class='docblock'><p>Extends a collection with the contents of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#tymethod.extend">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.extend_one" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#343" title="goto source code">[src]</a></div><a href="#method.extend_one" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_one" class="fnname">extend_one</a>(&amp;mut self, item: A)</h4></div></summary><div class="item-info"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>extend_one</code>)</div></div><div class='docblock'><p>Extends a collection with exactly one element.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.extend_reserve" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/iter/traits/collect.rs.html#351" title="goto source code">[src]</a></div><a href="#method.extend_reserve" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve" class="fnname">extend_reserve</a>(&amp;mut self, additional: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</h4></div></summary><div class="item-info"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>extend_one</code>)</div></div><div class='docblock'><p>Reserves capacity in a collection for the given number of additional elements. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.Extend.html#method.extend_reserve">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3C%26%27a%20%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1665-1680" title="goto source code">[src]</a></div><a href="#impl-From%3C%26%27a%20%5B%3CA%20as%20Array%3E%3A%3AItem%5D%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;'a, A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;'a [</a>&lt;A as <a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt;::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a>&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1671-1673" title="goto source code">[src]</a></div><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(slice: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;'a [</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a>) -&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CA%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1689-1694" title="goto source code">[src]</a></div><a href="#impl-From%3CA%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;A&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-2" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1691-1693" title="goto source code">[src]</a></div><a href="#method.from-2" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(array: A) -&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CVec%3C%3CA%20as%20Array%3E%3A%3AItem%2C%20Global%3E%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1682-1687" title="goto source code">[src]</a></div><a href="#impl-From%3CVec%3C%3CA%20as%20Array%3E%3A%3AItem%2C%20Global%3E%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&lt;A as <a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt;::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-1" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1684-1686" title="goto source code">[src]</a></div><a href="#method.from-1" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(vec: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt;) -&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-FromIterator%3C%3CA%20as%20Array%3E%3A%3AItem%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1720-1727" title="goto source code">[src]</a></div><a href="#impl-FromIterator%3C%3CA%20as%20Array%3E%3A%3AItem%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html" title="trait core::iter::traits::collect::FromIterator">FromIterator</a>&lt;&lt;A as <a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt;::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from_iter" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1722-1726" title="goto source code">[src]</a></div><a href="#method.from_iter" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter" class="fnname">from_iter</a>&lt;I:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt;&gt;(iterable: I) -&gt; <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h4></div></summary><div class='docblock'><p>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Hash" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1855-1862" title="goto source code">[src]</a></div><a href="#impl-Hash" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.hash" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1859-1861" title="goto source code">[src]</a></div><a href="#method.hash" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a>&lt;H:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;mut </a>H)</h4></div></summary><div class='docblock'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.hash_slice" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#224-226" title="goto source code">[src]</a></div><a href="#method.hash_slice" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a>&lt;H&gt;(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">&amp;[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;mut </a>H) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,&nbsp;</span></h4></div></summary><div class='docblock'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Index%3CI%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1696-1702" title="goto source code">[src]</a></div><a href="#impl-Index%3CI%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>, I:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html" title="trait core::slice::index::SliceIndex">SliceIndex</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">[</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a>&gt;&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;I&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Output" class="type trait-impl has-srclink"><a href="#associatedtype.Output" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" class="type">Output</a> = I::<a class="type" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html#associatedtype.Output" title="type core::slice::index::SliceIndex::Output">Output</a></h4></div></summary><div class='docblock'><p>The returned type after indexing.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.index" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1699-1701" title="goto source code">[src]</a></div><a href="#method.index" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index" class="fnname">index</a>(&amp;self, index: I) -&gt; &amp;I::<a class="type" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html#associatedtype.Output" title="type core::slice::index::SliceIndex::Output">Output</a></h4></div></summary><div class='docblock'><p>Performs the indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-IndexMut%3CI%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1704-1708" title="goto source code">[src]</a></div><a href="#impl-IndexMut%3CI%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>, I:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html" title="trait core::slice::index::SliceIndex">SliceIndex</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">[</a>A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a><a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.slice.html">]</a>&gt;&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html" title="trait core::ops::index::IndexMut">IndexMut</a>&lt;I&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.index_mut" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1705-1707" title="goto source code">[src]</a></div><a href="#method.index_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut" class="fnname">index_mut</a>(&amp;mut self, index: I) -&gt; &amp;mut I::<a class="type" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html#associatedtype.Output" title="type core::slice::index::SliceIndex::Output">Output</a></h4></div></summary><div class='docblock'><p>Performs the mutable indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-IntoIterator" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1955-1970" title="goto source code">[src]</a></div><a href="#impl-IntoIterator" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.IntoIter" class="type trait-impl has-srclink"><a href="#associatedtype.IntoIter" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" class="type">IntoIter</a> = <a class="struct" href="struct.IntoIter.html" title="struct smallvec::IntoIter">IntoIter</a>&lt;A&gt;</h4></div></summary><div class='docblock'><p>Which kind of iterator are we turning this into?</p>
</div></details><details class="rustdoc-toggle" open><summary><div id="associatedtype.Item" class="type trait-impl has-srclink"><a href="#associatedtype.Item" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" class="type">Item</a> = A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a></h4></div></summary><div class='docblock'><p>The type of the elements being iterated over.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into_iter" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1958-1969" title="goto source code">[src]</a></div><a href="#method.into_iter" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter" class="fnname">into_iter</a>(self) -&gt; Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></h4></div></summary><div class='docblock'><p>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-IntoIterator-1" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1972-1978" title="goto source code">[src]</a></div><a href="#impl-IntoIterator-1" class="anchor"></a><h3 class="code-header in-band">impl&lt;'a, A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> for &amp;'a <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.IntoIter-1" class="type trait-impl has-srclink"><a href="#associatedtype.IntoIter-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" class="type">IntoIter</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.Iter.html" title="struct core::slice::iter::Iter">Iter</a>&lt;'a, A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt;</h4></div></summary><div class='docblock'><p>Which kind of iterator are we turning this into?</p>
</div></details><details class="rustdoc-toggle" open><summary><div id="associatedtype.Item-1" class="type trait-impl has-srclink"><a href="#associatedtype.Item-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" class="type">Item</a> = &amp;'a A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a></h4></div></summary><div class='docblock'><p>The type of the elements being iterated over.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into_iter-1" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1975-1977" title="goto source code">[src]</a></div><a href="#method.into_iter-1" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter" class="fnname">into_iter</a>(self) -&gt; Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></h4></div></summary><div class='docblock'><p>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-IntoIterator-2" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1980-1986" title="goto source code">[src]</a></div><a href="#impl-IntoIterator-2" class="anchor"></a><h3 class="code-header in-band">impl&lt;'a, A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> for &amp;'a mut <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.IntoIter-2" class="type trait-impl has-srclink"><a href="#associatedtype.IntoIter-2" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" class="type">IntoIter</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.IterMut.html" title="struct core::slice::iter::IterMut">IterMut</a>&lt;'a, A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt;</h4></div></summary><div class='docblock'><p>Which kind of iterator are we turning this into?</p>
</div></details><details class="rustdoc-toggle" open><summary><div id="associatedtype.Item-2" class="type trait-impl has-srclink"><a href="#associatedtype.Item-2" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" class="type">Item</a> = &amp;'a mut A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a></h4></div></summary><div class='docblock'><p>The type of the elements being iterated over.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into_iter-2" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1983-1985" title="goto source code">[src]</a></div><a href="#method.into_iter-2" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter" class="fnname">into_iter</a>(self) -&gt; Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></h4></div></summary><div class='docblock'><p>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Ord" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1845-1853" title="goto source code">[src]</a></div><a href="#impl-Ord" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.cmp" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1850-1852" title="goto source code">[src]</a></div><a href="#method.cmp" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></div></summary><div class='docblock'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.max" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#767-769" title="goto source code">[src]</a></div><a href="#method.max" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -&gt; Self</h4></div></summary><div class='docblock'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.min" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#787-789" title="goto source code">[src]</a></div><a href="#method.min" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -&gt; Self</h4></div></summary><div class='docblock'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clamp" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#812-814" title="goto source code">[src]</a></div><a href="#method.clamp" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -&gt; Self</h4></div></summary><div class='docblock'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-PartialEq%3CSmallVec%3CB%3E%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1823-1831" title="goto source code">[src]</a></div><a href="#impl-PartialEq%3CSmallVec%3CB%3E%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>, B:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;B&gt;&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;B::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.eq" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1828-1830" title="goto source code">[src]</a></div><a href="#method.eq" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;B&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></div></summary><div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.ne" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#218" title="goto source code">[src]</a></div><a href="#method.ne" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;</a>Rhs) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></div></summary><div class='docblock'><p>This method tests for <code>!=</code>.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-PartialOrd%3CSmallVec%3CA%3E%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1835-1843" title="goto source code">[src]</a></div><a href="#impl-PartialOrd%3CSmallVec%3CA%3E%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;<a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;&gt; for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.partial_cmp" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1840-1842" title="goto source code">[src]</a></div><a href="#method.partial_cmp" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></div></summary><div class='docblock'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.lt" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1034" title="goto source code">[src]</a></div><a href="#method.lt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;</a>Rhs) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></div></summary><div class='docblock'><p>This method 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/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.le" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1053" title="goto source code">[src]</a></div><a href="#method.le" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;</a>Rhs) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></div></summary><div class='docblock'><p>This method 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/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.gt" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1075" title="goto source code">[src]</a></div><a href="#method.gt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;</a>Rhs) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></div></summary><div class='docblock'><p>This method 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/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.ge" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1094" title="goto source code">[src]</a></div><a href="#method.ge" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;</a>Rhs) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></div></summary><div class='docblock'><p>This method 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/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
</div></details></div></details><div id="impl-Eq" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1833" title="goto source code">[src]</a></div><a href="#impl-Eq" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>,&nbsp;</span></h3></div><div id="impl-Send" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/smallvec/lib.rs.html#1864" title="goto source code">[src]</a></div><a href="#impl-Send" class="anchor"></a><h3 class="code-header in-band">impl&lt;A:&nbsp;<a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,&nbsp;</span></h3></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><div id="impl-RefUnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-RefUnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl&lt;A&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;A as <a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt;::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,&nbsp;</span></h3></div><div id="impl-Sync" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Sync" class="anchor"></a><h3 class="code-header in-band">impl&lt;A&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,&nbsp;</span></h3></div><div id="impl-Unpin" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Unpin" class="anchor"></a><h3 class="code-header in-band">impl&lt;A&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,&nbsp;</span></h3></div><div id="impl-UnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-UnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl&lt;A&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.SmallVec.html" title="struct smallvec::SmallVec">SmallVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;A as <a class="trait" href="trait.Array.html" title="trait smallvec::Array">Array</a>&gt;::<a class="type" href="trait.Array.html#associatedtype.Item" title="type smallvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,&nbsp;</span></h3></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Any" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132-136" title="goto source code">[src]</a></div><a href="#impl-Any" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.type_id" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#133" title="goto source code">[src]</a></div><a href="#method.type_id" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></div></summary><div class='docblock'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Borrow%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></div><a href="#impl-Borrow%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow-1" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></div><a href="#method.borrow-1" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;</a>T</h4></div></summary><div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-BorrowMut%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></div><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow_mut-1" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></div><a href="#method.borrow_mut-1" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;mut </a>T</h4></div></summary><div class='docblock'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3C!%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#565-569" title="goto source code">[src]</a></div><a href="#impl-From%3C!%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a>&gt; for T</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-4" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#566" title="goto source code">[src]</a></div><a href="#method.from-4" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a>) -&gt; T</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#549-553" title="goto source code">[src]</a></div><a href="#impl-From%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-3" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#550" title="goto source code">[src]</a></div><a href="#method.from-3" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Into%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537-544" title="goto source code">[src]</a></div><a href="#impl-Into%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#541" title="goto source code">[src]</a></div><a href="#method.into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -&gt; U</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-ToOwned" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#84-96" title="goto source code">[src]</a></div><a href="#impl-ToOwned" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Owned" class="type trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</h4></div></summary><div class='docblock'><p>The resulting type after obtaining ownership.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.to_owned" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#89" title="goto source code">[src]</a></div><a href="#method.to_owned" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&amp;self) -&gt; T</h4></div></summary><div class='docblock'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone_into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#93" title="goto source code">[src]</a></div><a href="#method.clone_into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;mut </a>T)</h4></div></summary><div class="item-info"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryFrom%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587-596" title="goto source code">[src]</a></div><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error" class="type trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></div></summary><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#593" title="goto source code">[src]</a></div><a href="#method.try_from" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/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/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryInto%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573-582" title="goto source code">[src]</a></div><a href="#impl-TryInto%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error-1" class="type trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></div></summary><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#579" title="goto source code">[src]</a></div><a href="#method.try_into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/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/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details></div></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="smallvec" data-search-index-js="../search-index.js" data-search-js="../search.js"></div>
<script src="../main.js"></script>
</body></html>