difftastic/rustdoc/allocator_api2/boxed/struct.Box.html

887 lines
360 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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 pointer type for heap allocation."><title>Box in allocator_api2::boxed - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="allocator_api2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../allocator_api2/index.html">allocator_api2</a><span class="version">0.2.16</span></h2></div><h2 class="location"><a href="#">Box</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.allocator">allocator</a></li><li><a href="#method.assume_init">assume_init</a></li><li><a href="#method.assume_init-1">assume_init</a></li><li><a href="#method.downcast">downcast</a></li><li><a href="#method.downcast-1">downcast</a></li><li><a href="#method.downcast-2">downcast</a></li><li><a href="#method.downcast_unchecked">downcast_unchecked</a></li><li><a href="#method.downcast_unchecked-1">downcast_unchecked</a></li><li><a href="#method.downcast_unchecked-2">downcast_unchecked</a></li><li><a href="#method.from_raw">from_raw</a></li><li><a href="#method.from_raw_in">from_raw_in</a></li><li><a href="#method.into_boxed_slice">into_boxed_slice</a></li><li><a href="#method.into_inner">into_inner</a></li><li><a href="#method.into_non_null">into_non_null</a></li><li><a href="#method.into_pin">into_pin</a></li><li><a href="#method.into_raw">into_raw</a></li><li><a href="#method.into_raw_with_allocator">into_raw_with_allocator</a></li><li><a href="#method.into_vec">into_vec</a></li><li><a href="#method.into_vec-1">into_vec</a></li><li><a href="#method.new">new</a></li><li><a href="#method.new_in">new_in</a></li><li><a href="#method.new_uninit">new_uninit</a></li><li><a href="#method.new_uninit_in">new_uninit_in</a></li><li><a href="#method.new_uninit_slice">new_uninit_slice</a></li><li><a href="#method.new_uninit_slice_in">new_uninit_slice_in</a></li><li><a href="#method.new_zeroed">new_zeroed</a></li><li><a href="#method.new_zeroed_in">new_zeroed_in</a></li><li><a href="#method.new_zeroed_slice">new_zeroed_slice</a></li><li><a href="#method.new_zeroed_slice_in">new_zeroed_slice_in</a></li><li><a href="#method.pin">pin</a></li><li><a href="#method.pin_in">pin_in</a></li><li><a href="#method.slice">slice</a></li><li><a href="#method.try_new">try_new</a></li><li><a href="#method.try_new_in">try_new_in</a></li><li><a href="#method.try_new_uninit">try_new_uninit</a></li><li><a href="#method.try_new_uninit_in">try_new_uninit_in</a></li><li><a href="#method.try_new_uninit_slice">try_new_uninit_slice</a></li><li><a href="#method.try_new_zeroed">try_new_zeroed</a></li><li><a href="#method.try_new_zeroed_in">try_new_zeroed_in</a></li><li><a href="#method.try_new_zeroed_slice">try_new_zeroed_slice</a></li><li><a href="#method.write">write</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-AsMut%3CT%3E-for-Box%3CT,+A%3E">AsMut&lt;T&gt;</a></li><li><a href="#impl-AsRef%3CT%3E-for-Box%3CT,+A%3E">AsRef&lt;T&gt;</a></li><li><a href="#impl-Borrow%3CT%3E-for-Box%3CT,+A%3E">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Box%3CT,+A%3E">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-Clone-for-Box%3C%5BT%5D,+A%3E">Clone</a></li><li><a href="#impl-Clone-for-Box%3CCStr%3E">Clone</a></li><li><a href="#impl-Clone-for-Box%3CT,+A%3E">Clone</a></li><li><a href="#impl-Clone-for-Box%3Cstr%3E">Clone</a></li><li><a href="#impl-Debug-for-Box%3CT,+A%3E">Debug</a></li><li><a href="#impl-Default-for-Box%3C%5BT%5D,+A%3E">Default</a></li><li><a href="#impl-Default-for-Box%3CT%3E">Default</a></li><li><a href="#impl-Default-for-Box%3Cstr,+A%3E">Default</a></li><li><a href="#impl-Deref-for-Box%3CT,+A%3E">Deref</a></li><li><a href="#impl-DerefMut-for-Box%3CT,+A%3E">DerefMut</a></li><li><a href="#impl-Display-for-Box%3CT,+A%3E">Display</a></li><li><a href="#impl-DoubleEndedIterator-for-Box%3CI,+A%3E">DoubleEndedIterator</a></li><li><a href="#impl-Drop-for-Box%3CT,+A%3E">Drop</a></li><li><a href="#impl-Eq-for-Box%3CT,+A%3E">Eq</a></li><li><a href="#impl-ExactSizeIterator-for-Box%3CI,+A%3E">ExactSizeIterator</a></li><li><a href="#impl-Extend%3CBox%3Cstr,+A%3E%3E-for-String">Extend&lt;Box&lt;str, A&gt;&gt;</a></li><li><a href="#impl-From%3C%26CStr%3E-for-Box%3CCStr%3E">From&lt;&amp;CStr&gt;</a></li><li><a href="#impl-From%3C%26%5BT%5D%3E-for-Box%3C%5BT%5D,+A%3E">From&lt;&amp;[T]&gt;</a></li><li><a href="#impl-From%3C%26str%3E-for-Box%3Cstr,+A%3E">From&lt;&amp;str&gt;</a></li><li><a href="#impl-From%3CBox%3CT,+A%3E%3E-for-Pin%3CBox%3CT,+A%3E%3E">From&lt;Box&lt;T, A&gt;&gt;</a></li><li><a href="#impl-From%3CBox%3C%5BT;+N%5D,+A%3E%3E-for-Vec%3CT,+A%3E">From&lt;Box&lt;[T; N], A&gt;&gt;</a></li><li><a href="#impl-From%3CBox%3C%5BT%5D,+A%3E%3E-for-Vec%3CT,+A%3E">From&lt;Box&lt;[T], A&gt;&gt;</a></li><li><a href="#impl-From%3CBox%3Cstr,+A%3E%3E-for-Box%3C%5Bu8%5D,+A%3E">From&lt;Box&lt;str, A&gt;&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Box%3CT%3E">From&lt;T&gt;</a></li><li><a href="#impl-From%3CVec%3CT,+A%3E%3E-for-Box%3C%5BT%5D,+A%3E">From&lt;Vec&lt;T, A&gt;&gt;</a></li><li><a href="#impl-From%3C%5BT;+N%5D%3E-for-Box%3C%5BT%5D%3E">From&lt;[T; N]&gt;</a></li><li><a href="#impl-FromIterator%3CI%3E-for-Box%3C%5BI%5D%3E">FromIterator&lt;I&gt;</a></li><li><a href="#impl-FusedIterator-for-Box%3CI,+A%3E">FusedIterator</a></li><li><a href="#impl-Future-for-Box%3CF,+A%3E">Future</a></li><li><a href="#impl-Hash-for-Box%3CT,+A%3E">Hash</a></li><li><a href="#impl-Hasher-for-Box%3CT,+A%3E">Hasher</a></li><li><a href="#impl-Iterator-for-Box%3CI,+A%3E">Iterator</a></li><li><a href="#impl-Ord-for-Box%3CT,+A%3E">Ord</a></li><li><a href="#impl-PartialEq-for-Box%3CT,+A%3E">PartialEq</a></li><li><a href="#impl-PartialOrd-for-Box%3CT,+A%3E">PartialOrd</a></li><li><a href="#impl-Pointer-for-Box%3CT,+A%3E">Pointer</a></li><li><a href="#impl-Send-for-Box%3CT,+A%3E">Send</a></li><li><a href="#impl-Sync-for-Box%3CT,+A%3E">Sync</a></li><li><a href="#impl-TryFrom%3CBox%3C%5BT%5D,+A%3E%3E-for-Box%3C%5BT;+N%5D,+A%3E">TryFrom&lt;Box&lt;[T], A&gt;&gt;</a></li><li><a href="#impl-Unpin-for-Box%3CT,+A%3E">Unpin</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Box%3CT,+A%3E">RefUnwindSafe</a></li><li><a href="#impl-UnwindSafe-for-Box%3CT,+A%3E">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3C!%3E-for-T">From&lt;!&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-IntoFuture-for-F">IntoFuture</a></li><li><a href="#impl-IntoIterator-for-I">IntoIterator</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-ToString-for-T">ToString</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In allocator_api2::boxed</a></h2></div></nav><div class="sidebar-resizer"></div>
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../allocator_api2/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">allocator_api2</a>::<wbr><a href="index.html">boxed</a>::<wbr><a class="struct" href="#">Box</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/allocator_api2/stable/boxed.rs.html#176">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Box&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a> = <a class="struct" href="../alloc/struct.Global.html" title="struct allocator_api2::alloc::Global">Global</a>&gt;(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A pointer type for heap allocation.</p>
<p>See the <a href="../../std/boxed/index.html">module-level documentation</a> for more.</p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Box%3CT%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#196-343">source</a><a href="#impl-Box%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#209-211">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(x: T) -&gt; Self</h4></section></summary><div class="docblock"><p>Allocates memory on the heap and then places <code>x</code> into it.</p>
<p>This doesnt actually allocate if <code>T</code> is zero-sized.</p>
<h5 id="examples"><a href="#examples">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>five = Box::new(<span class="number">5</span>);</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.new_uninit" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#234-236">source</a><h4 class="code-header">pub fn <a href="#method.new_uninit" class="fn">new_uninit</a>() -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;MaybeUninit&lt;T&gt;&gt;"></a></h4></section></summary><div class="docblock"><p>Constructs a new box with uninitialized contents.</p>
<h5 id="examples-1"><a href="#examples-1">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(new_uninit)]
</span><span class="kw">let </span><span class="kw-2">mut </span>five = Box::&lt;u32&gt;::new_uninit();
<span class="kw">let </span>five = <span class="kw">unsafe </span>{
<span class="comment">// Deferred initialization:
</span>five.as_mut_ptr().write(<span class="number">5</span>);
five.assume_init()
};
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>five, <span class="number">5</span>)</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.new_zeroed" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#259-261">source</a><h4 class="code-header">pub fn <a href="#method.new_zeroed" class="fn">new_zeroed</a>() -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;MaybeUninit&lt;T&gt;&gt;"></a></h4></section></summary><div class="docblock"><p>Constructs a new <code>Box</code> with uninitialized contents, with the memory
being filled with <code>0</code> bytes.</p>
<p>See <a href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html#method.zeroed" title="associated function core::mem::maybe_uninit::MaybeUninit::zeroed"><code>MaybeUninit::zeroed</code></a> for examples of correct and incorrect usage
of this method.</p>
<h5 id="examples-2"><a href="#examples-2">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(new_uninit)]
</span><span class="kw">let </span>zero = Box::&lt;u32&gt;::new_zeroed();
<span class="kw">let </span>zero = <span class="kw">unsafe </span>{ zero.assume_init() };
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>zero, <span class="number">0</span>)</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.pin" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#273-275">source</a><h4 class="code-header">pub fn <a href="#method.pin" class="fn">pin</a>(x: T) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T&gt;&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Pin&lt;Box&lt;T&gt;&gt;</code>. If <code>T</code> does not implement <a href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin"><code>Unpin</code></a>, then
<code>x</code> will be pinned in memory and unable to be moved.</p>
<p>Constructing and pinning of the <code>Box</code> can also be done in two steps: <code>Box::pin(x)</code>
does the same as <code><a href="struct.Box.html#method.into_pin" title="associated function allocator_api2::boxed::Box::into_pin">Box::into_pin</a>(<a href="struct.Box.html#method.new" title="associated function allocator_api2::boxed::Box::new">Box::new</a>(x))</code>. Consider using
<a href="struct.Box.html#method.into_pin" title="associated function allocator_api2::boxed::Box::into_pin"><code>into_pin</code></a> if you already have a <code>Box&lt;T&gt;</code>, or if you want to
construct a (pinned) <code>Box</code> in a different way than with <a href="struct.Box.html#method.new" title="associated function allocator_api2::boxed::Box::new"><code>Box::new</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#291-293">source</a><h4 class="code-header">pub fn <a href="#method.try_new" class="fn">try_new</a>(x: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</a>&gt;</h4></section></summary><div class="docblock"><p>Allocates memory on the heap then places <code>x</code> into it,
returning an error if the allocation fails</p>
<p>This doesnt actually allocate if <code>T</code> is zero-sized.</p>
<h5 id="examples-3"><a href="#examples-3">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api)]
</span><span class="kw">let </span>five = Box::try_new(<span class="number">5</span>)<span class="question-mark">?</span>;</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_uninit" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#316-318">source</a><h4 class="code-header">pub fn <a href="#method.try_new_uninit" class="fn">try_new_uninit</a>() -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;&gt;, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</a>&gt;</h4></section></summary><div class="docblock"><p>Constructs a new box with uninitialized contents on the heap,
returning an error if the allocation fails</p>
<h5 id="examples-4"><a href="#examples-4">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api, new_uninit)]
</span><span class="kw">let </span><span class="kw-2">mut </span>five = Box::&lt;u32&gt;::try_new_uninit()<span class="question-mark">?</span>;
<span class="kw">let </span>five = <span class="kw">unsafe </span>{
<span class="comment">// Deferred initialization:
</span>five.as_mut_ptr().write(<span class="number">5</span>);
five.assume_init()
};
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>five, <span class="number">5</span>);</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_zeroed" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#340-342">source</a><h4 class="code-header">pub fn <a href="#method.try_new_zeroed" class="fn">try_new_zeroed</a>() -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;&gt;, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</a>&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Box</code> with uninitialized contents, with the memory
being filled with <code>0</code> bytes on the heap</p>
<p>See <a href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html#method.zeroed" title="associated function core::mem::maybe_uninit::MaybeUninit::zeroed"><code>MaybeUninit::zeroed</code></a> for examples of correct and incorrect usage
of this method.</p>
<h5 id="examples-5"><a href="#examples-5">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api, new_uninit)]
</span><span class="kw">let </span>zero = Box::&lt;u32&gt;::try_new_zeroed()<span class="question-mark">?</span>;
<span class="kw">let </span>zero = <span class="kw">unsafe </span>{ zero.assume_init() };
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>zero, <span class="number">0</span>);</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#345-582">source</a><a href="#impl-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new_in" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#362-371">source</a><h4 class="code-header">pub fn <a href="#method.new_in" class="fn">new_in</a>(x: T, alloc: A) -&gt; Self<div class="where">where
A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h4></section></summary><div class="docblock"><p>Allocates memory in the given allocator then places <code>x</code> into it.</p>
<p>This doesnt actually allocate if <code>T</code> is zero-sized.</p>
<h5 id="examples-6"><a href="#examples-6">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api)]
</span><span class="kw">use </span>std::alloc::System;
<span class="kw">let </span>five = Box::new_in(<span class="number">5</span>, System);</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_in" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#389-398">source</a><h4 class="code-header">pub fn <a href="#method.try_new_in" class="fn">try_new_in</a>(x: T, alloc: A) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</a>&gt;<div class="where">where
A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h4></section></summary><div class="docblock"><p>Allocates memory in the given allocator then places <code>x</code> into it,
returning an error if the allocation fails</p>
<p>This doesnt actually allocate if <code>T</code> is zero-sized.</p>
<h5 id="examples-7"><a href="#examples-7">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api)]
</span><span class="kw">use </span>std::alloc::System;
<span class="kw">let </span>five = Box::try_new_in(<span class="number">5</span>, System)<span class="question-mark">?</span>;</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.new_uninit_in" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#424-435">source</a><h4 class="code-header">pub fn <a href="#method.new_uninit_in" class="fn">new_uninit_in</a>(alloc: A) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;, A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;MaybeUninit&lt;T&gt;, A&gt;"></a><div class="where">where
A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h4></section></summary><div class="docblock"><p>Constructs a new box with uninitialized contents in the provided allocator.</p>
<h5 id="examples-8"><a href="#examples-8">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api, new_uninit)]
</span><span class="kw">use </span>std::alloc::System;
<span class="kw">let </span><span class="kw-2">mut </span>five = Box::&lt;u32, <span class="kw">_</span>&gt;::new_uninit_in(System);
<span class="kw">let </span>five = <span class="kw">unsafe </span>{
<span class="comment">// Deferred initialization:
</span>five.as_mut_ptr().write(<span class="number">5</span>);
five.assume_init()
};
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>five, <span class="number">5</span>)</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_uninit_in" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#460-467">source</a><h4 class="code-header">pub fn <a href="#method.try_new_uninit_in" class="fn">try_new_uninit_in</a>(alloc: A) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;, A&gt;, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</a>&gt;<div class="where">where
A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h4></section></summary><div class="docblock"><p>Constructs a new box with uninitialized contents in the provided allocator,
returning an error if the allocation fails</p>
<h5 id="examples-9"><a href="#examples-9">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api, new_uninit)]
</span><span class="kw">use </span>std::alloc::System;
<span class="kw">let </span><span class="kw-2">mut </span>five = Box::&lt;u32, <span class="kw">_</span>&gt;::try_new_uninit_in(System)<span class="question-mark">?</span>;
<span class="kw">let </span>five = <span class="kw">unsafe </span>{
<span class="comment">// Deferred initialization:
</span>five.as_mut_ptr().write(<span class="number">5</span>);
five.assume_init()
};
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>five, <span class="number">5</span>);</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.new_zeroed_in" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#493-504">source</a><h4 class="code-header">pub fn <a href="#method.new_zeroed_in" class="fn">new_zeroed_in</a>(alloc: A) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;, A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;MaybeUninit&lt;T&gt;, A&gt;"></a><div class="where">where
A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h4></section></summary><div class="docblock"><p>Constructs a new <code>Box</code> with uninitialized contents, with the memory
being filled with <code>0</code> bytes in the provided allocator.</p>
<p>See <a href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html#method.zeroed" title="associated function core::mem::maybe_uninit::MaybeUninit::zeroed"><code>MaybeUninit::zeroed</code></a> for examples of correct and incorrect usage
of this method.</p>
<h5 id="examples-10"><a href="#examples-10">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api, new_uninit)]
</span><span class="kw">use </span>std::alloc::System;
<span class="kw">let </span>zero = Box::&lt;u32, <span class="kw">_</span>&gt;::new_zeroed_in(System);
<span class="kw">let </span>zero = <span class="kw">unsafe </span>{ zero.assume_init() };
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>zero, <span class="number">0</span>)</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_zeroed_in" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#529-536">source</a><h4 class="code-header">pub fn <a href="#method.try_new_zeroed_in" class="fn">try_new_zeroed_in</a>(alloc: A) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;, A&gt;, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</a>&gt;<div class="where">where
A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h4></section></summary><div class="docblock"><p>Constructs a new <code>Box</code> with uninitialized contents, with the memory
being filled with <code>0</code> bytes in the provided allocator,
returning an error if the allocation fails,</p>
<p>See <a href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html#method.zeroed" title="associated function core::mem::maybe_uninit::MaybeUninit::zeroed"><code>MaybeUninit::zeroed</code></a> for examples of correct and incorrect usage
of this method.</p>
<h5 id="examples-11"><a href="#examples-11">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api, new_uninit)]
</span><span class="kw">use </span>std::alloc::System;
<span class="kw">let </span>zero = Box::&lt;u32, <span class="kw">_</span>&gt;::try_new_zeroed_in(System)<span class="question-mark">?</span>;
<span class="kw">let </span>zero = <span class="kw">unsafe </span>{ zero.assume_init() };
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>zero, <span class="number">0</span>);</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.pin_in" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#548-553">source</a><h4 class="code-header">pub fn <a href="#method.pin_in" class="fn">pin_in</a>(x: T, alloc: A) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;Self&gt;<div class="where">where
A: 'static + <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h4></section></summary><div class="docblock"><p>Constructs a new <code>Pin&lt;Box&lt;T, A&gt;&gt;</code>. If <code>T</code> does not implement <a href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin"><code>Unpin</code></a>, then
<code>x</code> will be pinned in memory and unable to be moved.</p>
<p>Constructing and pinning of the <code>Box</code> can also be done in two steps: <code>Box::pin_in(x, alloc)</code>
does the same as <code><a href="struct.Box.html#method.into_pin" title="associated function allocator_api2::boxed::Box::into_pin">Box::into_pin</a>(<a href="struct.Box.html#method.new_in" title="associated function allocator_api2::boxed::Box::new_in">Box::new_in</a>(x, alloc))</code>. Consider using
<a href="struct.Box.html#method.into_pin" title="associated function allocator_api2::boxed::Box::into_pin"><code>into_pin</code></a> if you already have a <code>Box&lt;T, A&gt;</code>, or if you want to
construct a (pinned) <code>Box</code> in a different way than with <a href="struct.Box.html#method.new_in" title="associated function allocator_api2::boxed::Box::new_in"><code>Box::new_in</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_boxed_slice" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#559-562">source</a><h4 class="code-header">pub fn <a href="#method.into_boxed_slice" class="fn">into_boxed_slice</a>(boxed: Self) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;[T], A&gt;"></a></h4></section></summary><div class="docblock"><p>Converts a <code>Box&lt;T&gt;</code> into a <code>Box&lt;[T]&gt;</code></p>
<p>This conversion does not allocate on the heap and happens in place.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_inner" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#576-581">source</a><h4 class="code-header">pub fn <a href="#method.into_inner" class="fn">into_inner</a>(boxed: Self) -&gt; T</h4></section></summary><div class="docblock"><p>Consumes the <code>Box</code>, returning the wrapped value.</p>
<h5 id="examples-12"><a href="#examples-12">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(box_into_inner)]
</span><span class="kw">let </span>c = Box::new(<span class="number">5</span>);
<span class="macro">assert_eq!</span>(Box::into_inner(c), <span class="number">5</span>);</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Box%3C%5BT%5D%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#584-699">source</a><a href="#impl-Box%3C%5BT%5D%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new_uninit_slice" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#608-610">source</a><h4 class="code-header">pub fn <a href="#method.new_uninit_slice" class="fn">new_uninit_slice</a>(len: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;[<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;]&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;[MaybeUninit&lt;T&gt;]&gt;"></a></h4></section></summary><div class="docblock"><p>Constructs a new boxed slice with uninitialized contents.</p>
<h5 id="examples-13"><a href="#examples-13">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(new_uninit)]
</span><span class="kw">let </span><span class="kw-2">mut </span>values = Box::&lt;[u32]&gt;::new_uninit_slice(<span class="number">3</span>);
<span class="kw">let </span>values = <span class="kw">unsafe </span>{
<span class="comment">// Deferred initialization:
</span>values[<span class="number">0</span>].as_mut_ptr().write(<span class="number">1</span>);
values[<span class="number">1</span>].as_mut_ptr().write(<span class="number">2</span>);
values[<span class="number">2</span>].as_mut_ptr().write(<span class="number">3</span>);
values.assume_init()
};
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>values, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>])</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.new_zeroed_slice" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#633-635">source</a><h4 class="code-header">pub fn <a href="#method.new_zeroed_slice" class="fn">new_zeroed_slice</a>(len: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;[<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;]&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;[MaybeUninit&lt;T&gt;]&gt;"></a></h4></section></summary><div class="docblock"><p>Constructs a new boxed slice with uninitialized contents, with the memory
being filled with <code>0</code> bytes.</p>
<p>See <a href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html#method.zeroed" title="associated function core::mem::maybe_uninit::MaybeUninit::zeroed"><code>MaybeUninit::zeroed</code></a> for examples of correct and incorrect usage
of this method.</p>
<h5 id="examples-14"><a href="#examples-14">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(new_uninit)]
</span><span class="kw">let </span>values = Box::&lt;[u32]&gt;::new_zeroed_slice(<span class="number">3</span>);
<span class="kw">let </span>values = <span class="kw">unsafe </span>{ values.assume_init() };
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>values, [<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>])</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_uninit_slice" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#658-667">source</a><h4 class="code-header">pub fn <a href="#method.try_new_uninit_slice" class="fn">try_new_uninit_slice</a>(
len: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;[<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;]&gt;, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</a>&gt;</h4></section></summary><div class="docblock"><p>Constructs a new boxed slice with uninitialized contents. Returns an error if
the allocation fails</p>
<h5 id="examples-15"><a href="#examples-15">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api, new_uninit)]
</span><span class="kw">let </span><span class="kw-2">mut </span>values = Box::&lt;[u32]&gt;::try_new_uninit_slice(<span class="number">3</span>)<span class="question-mark">?</span>;
<span class="kw">let </span>values = <span class="kw">unsafe </span>{
<span class="comment">// Deferred initialization:
</span>values[<span class="number">0</span>].as_mut_ptr().write(<span class="number">1</span>);
values[<span class="number">1</span>].as_mut_ptr().write(<span class="number">2</span>);
values[<span class="number">2</span>].as_mut_ptr().write(<span class="number">3</span>);
values.assume_init()
};
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>values, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_new_zeroed_slice" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#689-698">source</a><h4 class="code-header">pub fn <a href="#method.try_new_zeroed_slice" class="fn">try_new_zeroed_slice</a>(
len: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;[<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;]&gt;, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</a>&gt;</h4></section></summary><div class="docblock"><p>Constructs a new boxed slice with uninitialized contents, with the memory
being filled with <code>0</code> bytes. Returns an error if the allocation fails</p>
<p>See <a href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html#method.zeroed" title="associated function core::mem::maybe_uninit::MaybeUninit::zeroed"><code>MaybeUninit::zeroed</code></a> for examples of correct and incorrect usage
of this method.</p>
<h5 id="examples-16"><a href="#examples-16">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api, new_uninit)]
</span><span class="kw">let </span>values = Box::&lt;[u32]&gt;::try_new_zeroed_slice(<span class="number">3</span>)<span class="question-mark">?</span>;
<span class="kw">let </span>values = <span class="kw">unsafe </span>{ values.assume_init() };
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>values, [<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>]);</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Box%3C%5BT%5D,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#701-768">source</a><a href="#impl-Box%3C%5BT%5D,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new_uninit_slice_in" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#727-729">source</a><h4 class="code-header">pub fn <a href="#method.new_uninit_slice_in" class="fn">new_uninit_slice_in</a>(len: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>, alloc: A) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;[<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;], A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;[MaybeUninit&lt;T&gt;], A&gt;"></a></h4></section></summary><div class="docblock"><p>Constructs a new boxed slice with uninitialized contents in the provided allocator.</p>
<h5 id="examples-17"><a href="#examples-17">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api, new_uninit)]
</span><span class="kw">use </span>std::alloc::System;
<span class="kw">let </span><span class="kw-2">mut </span>values = Box::&lt;[u32], <span class="kw">_</span>&gt;::new_uninit_slice_in(<span class="number">3</span>, System);
<span class="kw">let </span>values = <span class="kw">unsafe </span>{
<span class="comment">// Deferred initialization:
</span>values[<span class="number">0</span>].as_mut_ptr().write(<span class="number">1</span>);
values[<span class="number">1</span>].as_mut_ptr().write(<span class="number">2</span>);
values[<span class="number">2</span>].as_mut_ptr().write(<span class="number">3</span>);
values.assume_init()
};
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>values, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>])</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.new_zeroed_slice_in" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#754-756">source</a><h4 class="code-header">pub fn <a href="#method.new_zeroed_slice_in" class="fn">new_zeroed_slice_in</a>(len: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>, alloc: A) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;[<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;], A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;[MaybeUninit&lt;T&gt;], A&gt;"></a></h4></section></summary><div class="docblock"><p>Constructs a new boxed slice with uninitialized contents in the provided allocator,
with the memory being filled with <code>0</code> bytes.</p>
<p>See <a href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html#method.zeroed" title="associated function core::mem::maybe_uninit::MaybeUninit::zeroed"><code>MaybeUninit::zeroed</code></a> for examples of correct and incorrect usage
of this method.</p>
<h5 id="examples-18"><a href="#examples-18">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api, new_uninit)]
</span><span class="kw">use </span>std::alloc::System;
<span class="kw">let </span>values = Box::&lt;[u32], <span class="kw">_</span>&gt;::new_zeroed_slice_in(<span class="number">3</span>, System);
<span class="kw">let </span>values = <span class="kw">unsafe </span>{ values.assume_init() };
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>values, [<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>])</code></pre></div>
</div></details><section id="method.into_vec" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#758-767">source</a><h4 class="code-header">pub fn <a href="#method.into_vec" class="fn">into_vec</a>(self) -&gt; <a class="struct" href="../vec/struct.Vec.html" title="struct allocator_api2::vec::Vec">Vec</a>&lt;T, A&gt;<div class="where">where
A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Box%3CMaybeUninit%3CT%3E,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#770-839">source</a><a href="#impl-Box%3CMaybeUninit%3CT%3E,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.assume_init" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#800-803">source</a><h4 class="code-header">pub unsafe fn <a href="#method.assume_init" class="fn">assume_init</a>(self) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;T, A&gt;"></a></h4></section></summary><div class="docblock"><p>Converts to <code>Box&lt;T, A&gt;</code>.</p>
<h5 id="safety"><a href="#safety">Safety</a></h5>
<p>As with <a href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html#method.assume_init" title="method core::mem::maybe_uninit::MaybeUninit::assume_init"><code>MaybeUninit::assume_init</code></a>,
it is up to the caller to guarantee that the value
really is in an initialized state.
Calling this when the content is not yet fully initialized
causes immediate undefined behavior.</p>
<h5 id="examples-19"><a href="#examples-19">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(new_uninit)]
</span><span class="kw">let </span><span class="kw-2">mut </span>five = Box::&lt;u32&gt;::new_uninit();
<span class="kw">let </span>five: Box&lt;u32&gt; = <span class="kw">unsafe </span>{
<span class="comment">// Deferred initialization:
</span>five.as_mut_ptr().write(<span class="number">5</span>);
five.assume_init()
};
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>five, <span class="number">5</span>)</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.write" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#833-838">source</a><h4 class="code-header">pub fn <a href="#method.write" class="fn">write</a>(boxed: Self, value: T) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;T, A&gt;"></a></h4></section></summary><div class="docblock"><p>Writes the value and converts to <code>Box&lt;T, A&gt;</code>.</p>
<p>This method converts the box similarly to <a href="struct.Box.html#method.assume_init" title="method allocator_api2::boxed::Box::assume_init"><code>Box::assume_init</code></a> but
writes <code>value</code> into it before conversion thus guaranteeing safety.
In some scenarios use of this method may improve performance because
the compiler may be able to optimize copying from stack.</p>
<h5 id="examples-20"><a href="#examples-20">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(new_uninit)]
</span><span class="kw">let </span>big_box = Box::&lt;[usize; <span class="number">1024</span>]&gt;::new_uninit();
<span class="kw">let </span><span class="kw-2">mut </span>array = [<span class="number">0</span>; <span class="number">1024</span>];
<span class="kw">for </span>(i, place) <span class="kw">in </span>array.iter_mut().enumerate() {
<span class="kw-2">*</span>place = i;
}
<span class="comment">// The optimizer may be able to elide this copy, so previous code writes
// to heap directly.
</span><span class="kw">let </span>big_box = Box::write(big_box, array);
<span class="kw">for </span>(i, x) <span class="kw">in </span>big_box.iter().enumerate() {
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>x, i);
}</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Box%3C%5BMaybeUninit%3CT%3E%5D,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#841-877">source</a><a href="#impl-Box%3C%5BMaybeUninit%3CT%3E%5D,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;[<a class="union" href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html" title="union core::mem::maybe_uninit::MaybeUninit">MaybeUninit</a>&lt;T&gt;], A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.assume_init-1" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#873-876">source</a><h4 class="code-header">pub unsafe fn <a href="#method.assume_init-1" class="fn">assume_init</a>(self) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;[T], A&gt;"></a></h4></section></summary><div class="docblock"><p>Converts to <code>Box&lt;[T], A&gt;</code>.</p>
<h5 id="safety-1"><a href="#safety-1">Safety</a></h5>
<p>As with <a href="https://doc.rust-lang.org/1.76.0/core/mem/maybe_uninit/union.MaybeUninit.html#method.assume_init" title="method core::mem::maybe_uninit::MaybeUninit::assume_init"><code>MaybeUninit::assume_init</code></a>,
it is up to the caller to guarantee that the values
really are in an initialized state.
Calling this when the content is not yet fully initialized
causes immediate undefined behavior.</p>
<h5 id="examples-21"><a href="#examples-21">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(new_uninit)]
</span><span class="kw">let </span><span class="kw-2">mut </span>values = Box::&lt;[u32]&gt;::new_uninit_slice(<span class="number">3</span>);
<span class="kw">let </span>values = <span class="kw">unsafe </span>{
<span class="comment">// Deferred initialization:
</span>values[<span class="number">0</span>].as_mut_ptr().write(<span class="number">1</span>);
values[<span class="number">1</span>].as_mut_ptr().write(<span class="number">2</span>);
values[<span class="number">2</span>].as_mut_ptr().write(<span class="number">3</span>);
values.assume_init()
};
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>values, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>])</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Box%3CT%3E-1" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#879-926">source</a><a href="#impl-Box%3CT%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_raw" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#923-925">source</a><h4 class="code-header">pub unsafe fn <a href="#method.from_raw" class="fn">from_raw</a>(raw: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.pointer.html">*mut T</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Constructs a box from a raw pointer.</p>
<p>After calling this function, the raw pointer is owned by the
resulting <code>Box</code>. Specifically, the <code>Box</code> destructor will call
the destructor of <code>T</code> and free the allocated memory. For this
to be safe, the memory must have been allocated in accordance
with the <a href="index.html#memory-layout" title="mod allocator_api2::boxed">memory layout</a> used by <code>Box</code> .</p>
<h5 id="safety-2"><a href="#safety-2">Safety</a></h5>
<p>This function is unsafe because improper use may lead to
memory problems. For example, a double-free may occur if the
function is called twice on the same raw pointer.</p>
<p>The safety conditions are described in the <a href="index.html#memory-layout" title="mod allocator_api2::boxed">memory layout</a> section.</p>
<h5 id="examples-22"><a href="#examples-22">Examples</a></h5>
<p>Recreate a <code>Box</code> which was previously converted to a raw pointer
using <a href="struct.Box.html#method.into_raw" title="associated function allocator_api2::boxed::Box::into_raw"><code>Box::into_raw</code></a>:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = Box::new(<span class="number">5</span>);
<span class="kw">let </span>ptr = Box::into_raw(x);
<span class="kw">let </span>x = <span class="kw">unsafe </span>{ Box::from_raw(ptr) };</code></pre></div>
<p>Manually create a <code>Box</code> from scratch by using the global allocator:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::alloc::{alloc, Layout};
<span class="kw">unsafe </span>{
<span class="kw">let </span>ptr = alloc(Layout::new::&lt;i32&gt;()) <span class="kw">as </span><span class="kw-2">*mut </span>i32;
<span class="comment">// In general .write is required to avoid attempting to destruct
// the (uninitialized) previous contents of `ptr`, though for this
// simple example `*ptr = 5` would have worked as well.
</span>ptr.write(<span class="number">5</span>);
<span class="kw">let </span>x = Box::from_raw(ptr);
}</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Box%3CT,+A%3E-1" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#928-1179">source</a><a href="#impl-Box%3CT,+A%3E-1" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_raw_in" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#975-977">source</a><h4 class="code-header">pub const unsafe fn <a href="#method.from_raw_in" class="fn">from_raw_in</a>(raw: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.pointer.html">*mut T</a>, alloc: A) -&gt; Self</h4></section></summary><div class="docblock"><p>Constructs a box from a raw pointer in the given allocator.</p>
<p>After calling this function, the raw pointer is owned by the
resulting <code>Box</code>. Specifically, the <code>Box</code> destructor will call
the destructor of <code>T</code> and free the allocated memory. For this
to be safe, the memory must have been allocated in accordance
with the <a href="index.html#memory-layout" title="mod allocator_api2::boxed">memory layout</a> used by <code>Box</code> .</p>
<h5 id="safety-3"><a href="#safety-3">Safety</a></h5>
<p>This function is unsafe because improper use may lead to
memory problems. For example, a double-free may occur if the
function is called twice on the same raw pointer.</p>
<h5 id="examples-23"><a href="#examples-23">Examples</a></h5>
<p>Recreate a <code>Box</code> which was previously converted to a raw pointer
using <a href="struct.Box.html#method.into_raw_with_allocator" title="associated function allocator_api2::boxed::Box::into_raw_with_allocator"><code>Box::into_raw_with_allocator</code></a>:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::alloc::System;
<span class="kw">let </span>x = Box::new_in(<span class="number">5</span>, System);
<span class="kw">let </span>(ptr, alloc) = Box::into_raw_with_allocator(x);
<span class="kw">let </span>x = <span class="kw">unsafe </span>{ Box::from_raw_in(ptr, alloc) };</code></pre></div>
<p>Manually create a <code>Box</code> from scratch by using the system allocator:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>allocator_api2::alloc::{Allocator, Layout, System};
<span class="kw">unsafe </span>{
<span class="kw">let </span>ptr = System.allocate(Layout::new::&lt;i32&gt;())<span class="question-mark">?</span>.as_ptr().cast::&lt;i32&gt;();
<span class="comment">// In general .write is required to avoid attempting to destruct
// the (uninitialized) previous contents of `ptr`, though for this
// simple example `*ptr = 5` would have worked as well.
</span>ptr.write(<span class="number">5</span>);
<span class="kw">let </span>x = Box::from_raw_in(ptr, System);
}</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_raw" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1019-1021">source</a><h4 class="code-header">pub fn <a href="#method.into_raw" class="fn">into_raw</a>(b: Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.pointer.html">*mut T</a></h4></section></summary><div class="docblock"><p>Consumes the <code>Box</code>, returning a wrapped raw pointer.</p>
<p>The pointer will be properly aligned and non-null.</p>
<p>After calling this function, the caller is responsible for the
memory previously managed by the <code>Box</code>. In particular, the
caller should properly destroy <code>T</code> and release the memory, taking
into account the <a href="index.html#memory-layout" title="mod allocator_api2::boxed">memory layout</a> used by <code>Box</code>. The easiest way to
do this is to convert the raw pointer back into a <code>Box</code> with the
<a href="struct.Box.html#method.from_raw" title="associated function allocator_api2::boxed::Box::from_raw"><code>Box::from_raw</code></a> function, allowing the <code>Box</code> destructor to perform
the cleanup.</p>
<p>Note: this is an associated function, which means that you have
to call it as <code>Box::into_raw(b)</code> instead of <code>b.into_raw()</code>. This
is so that there is no conflict with a method on the inner type.</p>
<h5 id="examples-24"><a href="#examples-24">Examples</a></h5>
<p>Converting the raw pointer back into a <code>Box</code> with <a href="struct.Box.html#method.from_raw" title="associated function allocator_api2::boxed::Box::from_raw"><code>Box::from_raw</code></a>
for automatic cleanup:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = Box::new(String::from(<span class="string">"Hello"</span>));
<span class="kw">let </span>ptr = Box::into_raw(x);
<span class="kw">let </span>x = <span class="kw">unsafe </span>{ Box::from_raw(ptr) };</code></pre></div>
<p>Manual cleanup by explicitly running the destructor and deallocating
the memory:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::alloc::{dealloc, Layout};
<span class="kw">use </span>std::ptr;
<span class="kw">let </span>x = Box::new(String::from(<span class="string">"Hello"</span>));
<span class="kw">let </span>p = Box::into_raw(x);
<span class="kw">unsafe </span>{
ptr::drop_in_place(p);
dealloc(p <span class="kw">as </span><span class="kw-2">*mut </span>u8, Layout::new::&lt;String&gt;());
}</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_raw_with_allocator" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1070-1073">source</a><h4 class="code-header">pub fn <a href="#method.into_raw_with_allocator" class="fn">into_raw_with_allocator</a>(b: Self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.pointer.html">*mut T</a>, A)</h4></section></summary><div class="docblock"><p>Consumes the <code>Box</code>, returning a wrapped raw pointer and the allocator.</p>
<p>The pointer will be properly aligned and non-null.</p>
<p>After calling this function, the caller is responsible for the
memory previously managed by the <code>Box</code>. In particular, the
caller should properly destroy <code>T</code> and release the memory, taking
into account the <a href="index.html#memory-layout" title="mod allocator_api2::boxed">memory layout</a> used by <code>Box</code>. The easiest way to
do this is to convert the raw pointer back into a <code>Box</code> with the
<a href="struct.Box.html#method.from_raw_in" title="associated function allocator_api2::boxed::Box::from_raw_in"><code>Box::from_raw_in</code></a> function, allowing the <code>Box</code> destructor to perform
the cleanup.</p>
<p>Note: this is an associated function, which means that you have
to call it as <code>Box::into_raw_with_allocator(b)</code> instead of <code>b.into_raw_with_allocator()</code>. This
is so that there is no conflict with a method on the inner type.</p>
<h5 id="examples-25"><a href="#examples-25">Examples</a></h5>
<p>Converting the raw pointer back into a <code>Box</code> with <a href="struct.Box.html#method.from_raw_in" title="associated function allocator_api2::boxed::Box::from_raw_in"><code>Box::from_raw_in</code></a>
for automatic cleanup:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api)]
</span><span class="kw">use </span>std::alloc::System;
<span class="kw">let </span>x = Box::new_in(String::from(<span class="string">"Hello"</span>), System);
<span class="kw">let </span>(ptr, alloc) = Box::into_raw_with_allocator(x);
<span class="kw">let </span>x = <span class="kw">unsafe </span>{ Box::from_raw_in(ptr, alloc) };</code></pre></div>
<p>Manual cleanup by explicitly running the destructor and deallocating
the memory:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api)]
</span><span class="kw">use </span>std::alloc::{Allocator, Layout, System};
<span class="kw">use </span>std::ptr::{<span class="self">self</span>, NonNull};
<span class="kw">let </span>x = Box::new_in(String::from(<span class="string">"Hello"</span>), System);
<span class="kw">let </span>(ptr, alloc) = Box::into_raw_with_allocator(x);
<span class="kw">unsafe </span>{
ptr::drop_in_place(ptr);
<span class="kw">let </span>non_null = NonNull::new_unchecked(ptr);
alloc.deallocate(non_null.cast(), Layout::new::&lt;String&gt;());
}</code></pre></div>
</div></details><section id="method.into_non_null" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1076-1084">source</a><h4 class="code-header">pub fn <a href="#method.into_non_null" class="fn">into_non_null</a>(b: Self) -&gt; (<a class="struct" href="https://doc.rust-lang.org/1.76.0/core/ptr/non_null/struct.NonNull.html" title="struct core::ptr::non_null::NonNull">NonNull</a>&lt;T&gt;, A)</h4></section><details class="toggle method-toggle" open><summary><section id="method.allocator" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1092-1094">source</a><h4 class="code-header">pub const fn <a href="#method.allocator" class="fn">allocator</a>(b: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;A</a></h4></section></summary><div class="docblock"><p>Returns a reference to the underlying allocator.</p>
<p>Note: this is an associated function, which means that you have
to call it as <code>Box::allocator(&amp;b)</code> instead of <code>b.allocator()</code>. This
is so that there is no conflict with a method on the inner type.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_pin" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1170-1178">source</a><h4 class="code-header">pub fn <a href="#method.into_pin" class="fn">into_pin</a>(boxed: Self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;Self&gt;<div class="where">where
A: 'static,</div></h4></section></summary><div class="docblock"><p>Converts a <code>Box&lt;T&gt;</code> into a <code>Pin&lt;Box&lt;T&gt;&gt;</code>. If <code>T</code> does not implement <a href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin"><code>Unpin</code></a>, then
<code>*boxed</code> will be pinned in memory and unable to be moved.</p>
<p>This conversion does not allocate on the heap and happens in place.</p>
<p>This is also available via <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From"><code>From</code></a>.</p>
<p>Constructing and pinning a <code>Box</code> with <code>Box::into_pin(<a href="struct.Box.html#method.new" title="associated function allocator_api2::boxed::Box::new">Box::new</a>(x))</code>
can also be written more concisely using <code><a href="struct.Box.html#method.pin" title="associated function allocator_api2::boxed::Box::pin">Box::pin</a>(x)</code>.
This <code>into_pin</code> method is useful if you already have a <code>Box&lt;T&gt;</code>, or you are
constructing a (pinned) <code>Box</code> in a different way than with <a href="struct.Box.html#method.new" title="associated function allocator_api2::boxed::Box::new"><code>Box::new</code></a>.</p>
<h5 id="notes"><a href="#notes">Notes</a></h5>
<p>Its not recommended that crates add an impl like <code>From&lt;Box&lt;T&gt;&gt; for Pin&lt;T&gt;</code>,
as itll introduce an ambiguity when calling <code>Pin::from</code>.
A demonstration of such a poor impl is shown below.</p>
<div class="example-wrap compile_fail"><a href="#" class="tooltip" title="This example deliberately fails to compile"></a><pre class="rust rust-example-rendered"><code><span class="kw">struct </span>Foo; <span class="comment">// A type defined in this crate.
</span><span class="kw">impl </span>From&lt;Box&lt;()&gt;&gt; <span class="kw">for </span>Pin&lt;Foo&gt; {
<span class="kw">fn </span>from(<span class="kw">_</span>: Box&lt;()&gt;) -&gt; Pin&lt;Foo&gt; {
Pin::new(Foo)
}
}
<span class="kw">let </span>foo = Box::new(());
<span class="kw">let </span>bar = Pin::from(foo);</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Box%3C%5BT;+N%5D,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1501-1517">source</a><a href="#impl-Box%3C%5BT;+N%5D,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>, const N: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">[T; N]</a>, A&gt;</h3></section></summary><div class="impl-items"><section id="method.slice" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1503-1506">source</a><h4 class="code-header">pub fn <a href="#method.slice" class="fn">slice</a>(b: Self) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;[T], A&gt;"></a></h4></section><section id="method.into_vec-1" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1508-1516">source</a><h4 class="code-header">pub fn <a href="#method.into_vec-1" class="fn">into_vec</a>(self) -&gt; <a class="struct" href="../vec/struct.Vec.html" title="struct allocator_api2::vec::Vec">Vec</a>&lt;T, A&gt;<div class="where">where
A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Box%3Cdyn+Any,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1560-1619">source</a><a href="#impl-Box%3Cdyn+Any,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.downcast" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1579-1585">source</a><h4 class="code-header">pub fn <a href="#method.downcast" class="fn">downcast</a>&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;, Self&gt;</h4></section></summary><div class="docblock"><p>Attempt to downcast the box to a concrete type.</p>
<h5 id="examples-26"><a href="#examples-26">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::any::Any;
<span class="kw">fn </span>print_if_string(value: Box&lt;<span class="kw">dyn </span>Any&gt;) {
<span class="kw">if let </span><span class="prelude-val">Ok</span>(string) = value.downcast::&lt;String&gt;() {
<span class="macro">println!</span>(<span class="string">"String ({}): {}"</span>, string.len(), string);
}
}
<span class="kw">let </span>my_string = <span class="string">"Hello World"</span>.to_string();
print_if_string(Box::new(my_string));
print_if_string(Box::new(<span class="number">0i8</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.downcast_unchecked" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1612-1618">source</a><h4 class="code-header">pub unsafe fn <a href="#method.downcast_unchecked" class="fn">downcast_unchecked</a>&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;(self) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;T, A&gt;"></a></h4></section></summary><div class="docblock"><p>Downcasts the box to a concrete type.</p>
<p>For a safe alternative see <a href="struct.Box.html#method.downcast" title="method allocator_api2::boxed::Box::downcast"><code>downcast</code></a>.</p>
<h5 id="examples-27"><a href="#examples-27">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(downcast_unchecked)]
</span><span class="kw">use </span>std::any::Any;
<span class="kw">let </span>x: Box&lt;<span class="kw">dyn </span>Any&gt; = Box::new(<span class="number">1_usize</span>);
<span class="kw">unsafe </span>{
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>x.downcast_unchecked::&lt;usize&gt;(), <span class="number">1</span>);
}</code></pre></div>
<h5 id="safety-4"><a href="#safety-4">Safety</a></h5>
<p>The contained value must be of type <code>T</code>. Calling this method
with the incorrect type is <em>undefined behavior</em>.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Box%3Cdyn+Any+%2B+Send,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1621-1680">source</a><a href="#impl-Box%3Cdyn+Any+%2B+Send,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.downcast-1" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1640-1646">source</a><h4 class="code-header">pub fn <a href="#method.downcast-1" class="fn">downcast</a>&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;, Self&gt;</h4></section></summary><div class="docblock"><p>Attempt to downcast the box to a concrete type.</p>
<h5 id="examples-28"><a href="#examples-28">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::any::Any;
<span class="kw">fn </span>print_if_string(value: Box&lt;<span class="kw">dyn </span>Any + Send&gt;) {
<span class="kw">if let </span><span class="prelude-val">Ok</span>(string) = value.downcast::&lt;String&gt;() {
<span class="macro">println!</span>(<span class="string">"String ({}): {}"</span>, string.len(), string);
}
}
<span class="kw">let </span>my_string = <span class="string">"Hello World"</span>.to_string();
print_if_string(Box::new(my_string));
print_if_string(Box::new(<span class="number">0i8</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.downcast_unchecked-1" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1673-1679">source</a><h4 class="code-header">pub unsafe fn <a href="#method.downcast_unchecked-1" class="fn">downcast_unchecked</a>&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;(self) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;T, A&gt;"></a></h4></section></summary><div class="docblock"><p>Downcasts the box to a concrete type.</p>
<p>For a safe alternative see <a href="struct.Box.html#method.downcast" title="method allocator_api2::boxed::Box::downcast"><code>downcast</code></a>.</p>
<h5 id="examples-29"><a href="#examples-29">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(downcast_unchecked)]
</span><span class="kw">use </span>std::any::Any;
<span class="kw">let </span>x: Box&lt;<span class="kw">dyn </span>Any + Send&gt; = Box::new(<span class="number">1_usize</span>);
<span class="kw">unsafe </span>{
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>x.downcast_unchecked::&lt;usize&gt;(), <span class="number">1</span>);
}</code></pre></div>
<h5 id="safety-5"><a href="#safety-5">Safety</a></h5>
<p>The contained value must be of type <code>T</code>. Calling this method
with the incorrect type is <em>undefined behavior</em>.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Box%3Cdyn+Any+%2B+Send+%2B+Sync,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1682-1742">source</a><a href="#impl-Box%3Cdyn+Any+%2B+Send+%2B+Sync,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.downcast-2" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1701-1707">source</a><h4 class="code-header">pub fn <a href="#method.downcast-2" class="fn">downcast</a>&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;, Self&gt;</h4></section></summary><div class="docblock"><p>Attempt to downcast the box to a concrete type.</p>
<h5 id="examples-30"><a href="#examples-30">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::any::Any;
<span class="kw">fn </span>print_if_string(value: Box&lt;<span class="kw">dyn </span>Any + Send + Sync&gt;) {
<span class="kw">if let </span><span class="prelude-val">Ok</span>(string) = value.downcast::&lt;String&gt;() {
<span class="macro">println!</span>(<span class="string">"String ({}): {}"</span>, string.len(), string);
}
}
<span class="kw">let </span>my_string = <span class="string">"Hello World"</span>.to_string();
print_if_string(Box::new(my_string));
print_if_string(Box::new(<span class="number">0i8</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.downcast_unchecked-2" class="method"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1734-1741">source</a><h4 class="code-header">pub unsafe fn <a href="#method.downcast_unchecked-2" class="fn">downcast_unchecked</a>&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;(self) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;T, A&gt;"></a></h4></section></summary><div class="docblock"><p>Downcasts the box to a concrete type.</p>
<p>For a safe alternative see <a href="struct.Box.html#method.downcast" title="method allocator_api2::boxed::Box::downcast"><code>downcast</code></a>.</p>
<h5 id="examples-31"><a href="#examples-31">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(downcast_unchecked)]
</span><span class="kw">use </span>std::any::Any;
<span class="kw">let </span>x: Box&lt;<span class="kw">dyn </span>Any + Send + Sync&gt; = Box::new(<span class="number">1_usize</span>);
<span class="kw">unsafe </span>{
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>x.downcast_unchecked::&lt;usize&gt;(), <span class="number">1</span>);
}</code></pre></div>
<h5 id="safety-6"><a href="#safety-6">Safety</a></h5>
<p>The contained value must be of type <code>T</code>. Calling this method
with the incorrect type is <em>undefined behavior</em>.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsMut%3CT%3E-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1896-1901">source</a><a href="#impl-AsMut%3CT%3E-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_mut" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1898-1900">source</a><a href="#method.as_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.AsMut.html#tymethod.as_mut" class="fn">as_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Converts this type into a mutable reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsRef%3CT%3E-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1889-1894">source</a><a href="#impl-AsRef%3CT%3E-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_ref" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1891-1893">source</a><a href="#method.as_ref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Borrow%3CT%3E-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1875-1880">source</a><a href="#impl-Borrow%3CT%3E-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1877-1879">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BorrowMut%3CT%3E-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1882-1887">source</a><a href="#impl-BorrowMut%3CT%3E-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1884-1886">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Box%3C%5BT%5D,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1856-1873">source</a><a href="#impl-Clone-for-Box%3C%5BT%5D,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone-3" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1858-1863">source</a><a href="#method.clone-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; Self</h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from-3" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1866-1872">source</a><a href="#method.clone_from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Box%3CCStr%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#2115-2120">source</a><a href="#impl-Clone-for-Box%3CCStr%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.76.0/core/ffi/c_str/struct.CStr.html" title="struct core::ffi::c_str::CStr">CStr</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#2117-2119">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; Self</h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1222-1268">source</a><a href="#impl-Clone-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone-2" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1238-1245">source</a><a href="#method.clone-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; Self</h4></section></summary><div class="docblock"><p>Returns a new box with a <code>clone()</code> of this boxs contents.</p>
<h5 id="examples-36"><a href="#examples-36">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = Box::new(<span class="number">5</span>);
<span class="kw">let </span>y = x.clone();
<span class="comment">// The value is the same
</span><span class="macro">assert_eq!</span>(x, y);
<span class="comment">// But they are unique objects
</span><span class="macro">assert_ne!</span>(<span class="kw-2">&amp;*</span>x <span class="kw">as </span><span class="kw-2">*const </span>i32, <span class="kw-2">&amp;*</span>y <span class="kw">as </span><span class="kw-2">*const </span>i32);</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from-2" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1265-1267">source</a><a href="#method.clone_from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class="docblock"><p>Copies <code>source</code>s contents into <code>self</code> without creating a new allocation.</p>
<h5 id="examples-37"><a href="#examples-37">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = Box::new(<span class="number">5</span>);
<span class="kw">let </span><span class="kw-2">mut </span>y = Box::new(<span class="number">10</span>);
<span class="kw">let </span>yp: <span class="kw-2">*const </span>i32 = <span class="kw-2">&amp;*</span>y;
y.clone_from(<span class="kw-2">&amp;</span>x);
<span class="comment">// The value is the same
</span><span class="macro">assert_eq!</span>(x, y);
<span class="comment">// And no allocation occurred
</span><span class="macro">assert_eq!</span>(yp, <span class="kw-2">&amp;*</span>y);</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Box%3Cstr%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1271-1278">source</a><a href="#impl-Clone-for-Box%3Cstr%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone-1" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1273-1277">source</a><a href="#method.clone-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; Self</h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1751-1756">source</a><a href="#impl-Debug-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1753-1755">source</a><a href="#method.fmt-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.76.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-Box%3C%5BT%5D,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1201-1207">source</a><a href="#impl-Default-for-Box%3C%5BT%5D,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default-1" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1203-1206">source</a><a href="#method.default-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-Box%3CT%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1193-1199">source</a><a href="#impl-Default-for-Box%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default-2" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1196-1198">source</a><a href="#method.default-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; Self</h4></section></summary><div class="docblock"><p>Creates a <code>Box&lt;T&gt;</code>, with the <code>Default</code> value for T.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-Box%3Cstr,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1209-1219">source</a><a href="#impl-Default-for-Box%3Cstr,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1211-1218">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deref-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1768-1775">source</a><a href="#impl-Deref-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = T</h4></section></summary><div class='docblock'>The resulting type after dereferencing.</div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1772-1774">source</a><a href="#method.deref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/deref/trait.Deref.html#tymethod.deref" class="fn">deref</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Dereferences the value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-DerefMut-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1777-1782">source</a><a href="#impl-DerefMut-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deref_mut" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1779-1781">source</a><a href="#method.deref_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/deref/trait.DerefMut.html#tymethod.deref_mut" class="fn">deref_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably dereferences the value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1744-1749">source</a><a href="#impl-Display-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1746-1748">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Display.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.76.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-DoubleEndedIterator-for-Box%3CI,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1827-1836">source</a><a href="#impl-DoubleEndedIterator-for-Box%3CI,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html" title="trait core::iter::traits::double_ended::DoubleEndedIterator">DoubleEndedIterator</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;I, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.next_back" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1829-1831">source</a><a href="#method.next_back" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#tymethod.next_back" class="fn">next_back</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;I::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;</h4></section></summary><div class='docblock'>Removes and returns an element from the end of the iterator. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#tymethod.next_back">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nth_back" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1833-1835">source</a><a href="#method.nth_back" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.nth_back" class="fn">nth_back</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;I::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;</h4></section></summary><div class='docblock'>Returns the <code>n</code>th element from the end of the iterator. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.nth_back">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.advance_back_by" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/double_ended.rs.html#137">source</a><a href="#method.advance_back_by" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.advance_back_by" class="fn">advance_back_by</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/num/nonzero/struct.NonZeroUsize.html" title="struct core::num::nonzero::NonZeroUsize">NonZeroUsize</a>&gt;</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_advance_by</code>)</span></div></span><div class='docblock'>Advances the iterator from the back by <code>n</code> elements. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.advance_back_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_rfold" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.27.0">1.27.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/double_ended.rs.html#229-233">source</a></span><a href="#method.try_rfold" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.try_rfold" class="fn">try_rfold</a>&lt;B, F, R&gt;(&amp;mut self, init: B, f: F) -&gt; R<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(B, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; R,
R: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>&lt;Output = B&gt;,</div></h4></section></summary><div class='docblock'>This is the reverse version of <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.try_fold" title="method core::iter::traits::iterator::Iterator::try_fold"><code>Iterator::try_fold()</code></a>: it takes
elements starting from the back of the iterator. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.try_rfold">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.rfold" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.27.0">1.27.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/double_ended.rs.html#300-303">source</a></span><a href="#method.rfold" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.rfold" class="fn">rfold</a>&lt;B, F&gt;(self, init: B, f: F) -&gt; B<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(B, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; B,</div></h4></section></summary><div class='docblock'>An iterator method that reduces the iterators elements to a single,
final value, starting from the back. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.rfold">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.rfind" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.27.0">1.27.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/double_ended.rs.html#355-358">source</a></span><a href="#method.rfind" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.rfind" class="fn">rfind</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Searches for an element of an iterator from the back that satisfies a predicate. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html#method.rfind">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Drop-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1181-1190">source</a><a href="#impl-Drop-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1183-1189">source</a><a href="#method.drop" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/drop/trait.Drop.html#tymethod.drop" class="fn">drop</a>(&amp;mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href="https://doc.rust-lang.org/1.76.0/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ExactSizeIterator-for-Box%3CI,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1838-1843">source</a><a href="#impl-ExactSizeIterator-for-Box%3CI,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/exact_size/trait.ExactSizeIterator.html" title="trait core::iter::traits::exact_size::ExactSizeIterator">ExactSizeIterator</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;I, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.len" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1840-1842">source</a><a href="#method.len" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/exact_size/trait.ExactSizeIterator.html#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Returns the exact remaining length of the iterator. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/exact_size/trait.ExactSizeIterator.html#method.len">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/exact_size.rs.html#148">source</a><a href="#method.is_empty" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/exact_size/trait.ExactSizeIterator.html#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>exact_size_is_empty</code>)</span></div></span><div class='docblock'>Returns <code>true</code> if the iterator is empty. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/exact_size/trait.ExactSizeIterator.html#method.is_empty">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Extend%3CBox%3Cstr,+A%3E%3E-for-String" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#2108-2112">source</a><a href="#impl-Extend%3CBox%3Cstr,+A%3E%3E-for-String" class="anchor">§</a><h3 class="code-header">impl&lt;A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A&gt;&gt; for <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.extend" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#2109-2111">source</a><a href="#method.extend" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html#tymethod.extend" class="fn">extend</a>&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A&gt;&gt;&gt;(&amp;mut self, iter: I)</h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html#tymethod.extend">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.extend_one" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/collect.rs.html#376">source</a><a href="#method.extend_one" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html#method.extend_one" class="fn">extend_one</a>(&amp;mut self, item: A)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class="toggle method-toggle" open><summary><section id="method.extend_reserve" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/collect.rs.html#384">source</a><a href="#method.extend_reserve" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html#method.extend_reserve" class="fn">extend_reserve</a>(&amp;mut self, additional: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html#method.extend_reserve">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%26%5BT%5D%3E-for-Box%3C%5BT%5D,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1432-1455">source</a><a href="#impl-From%3C%26%5BT%5D%3E-for-Box%3C%5BT%5D,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1447-1454">source</a><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(slice: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;[T], A&gt;"></a></h4></section></summary><div class="docblock"><p>Converts a <code>&amp;[T]</code> into a <code>Box&lt;[T]&gt;</code></p>
<p>This conversion allocates on the heap
and performs a copy of <code>slice</code> and its contents.</p>
<h5 id="examples-39"><a href="#examples-39">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// create a &amp;[u8] which will be used to create a Box&lt;[u8]&gt;
</span><span class="kw">let </span>slice: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">104</span>, <span class="number">101</span>, <span class="number">108</span>, <span class="number">108</span>, <span class="number">111</span>];
<span class="kw">let </span>boxed_slice: Box&lt;[u8]&gt; = Box::from(slice);
<span class="macro">println!</span>(<span class="string">"{boxed_slice:?}"</span>);</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%26CStr%3E-for-Box%3CCStr%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#2123-2130">source</a><a href="#impl-From%3C%26CStr%3E-for-Box%3CCStr%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;&amp;<a class="struct" href="https://doc.rust-lang.org/1.76.0/core/ffi/c_str/struct.CStr.html" title="struct core::ffi::c_str::CStr">CStr</a>&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.76.0/core/ffi/c_str/struct.CStr.html" title="struct core::ffi::c_str::CStr">CStr</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-8" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#2126-2129">source</a><a href="#method.from-8" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(s: &amp;<a class="struct" href="https://doc.rust-lang.org/1.76.0/core/ffi/c_str/struct.CStr.html" title="struct core::ffi::c_str::CStr">CStr</a>) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.76.0/core/ffi/c_str/struct.CStr.html" title="struct core::ffi::c_str::CStr">CStr</a>&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;CStr&gt;"></a></h4></section></summary><div class="docblock"><p>Converts a <code>&amp;CStr</code> into a <code>Box&lt;CStr&gt;</code>,
by copying the contents into a newly allocated <a href="struct.Box.html" title="struct allocator_api2::boxed::Box"><code>Box</code></a>.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%26str%3E-for-Box%3Cstr,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1458-1475">source</a><a href="#impl-From%3C%26str%3E-for-Box%3Cstr,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-7" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1471-1474">source</a><a href="#method.from-7" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(s: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;str, A&gt;"></a></h4></section></summary><div class="docblock"><p>Converts a <code>&amp;str</code> into a <code>Box&lt;str&gt;</code></p>
<p>This conversion allocates on the heap
and performs a copy of <code>s</code>.</p>
<h5 id="examples-40"><a href="#examples-40">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>boxed: Box&lt;str&gt; = Box::from(<span class="string">"hello"</span>);
<span class="macro">println!</span>(<span class="string">"{boxed}"</span>);</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BT;+N%5D%3E-for-Box%3C%5BT%5D%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1520-1535">source</a><a href="#impl-From%3C%5BT;+N%5D%3E-for-Box%3C%5BT%5D%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, const N: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">[T; N]</a>&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1532-1534">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(array: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">[T; N]</a>) -&gt; <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>&gt; <a href="#" class="tooltip" data-notable-ty="Box&lt;[T]&gt;"></a></h4></section></summary><div class="docblock"><p>Converts a <code>[T; N]</code> into a <code>Box&lt;[T]&gt;</code></p>
<p>This conversion moves the array to newly heap-allocated memory.</p>
<h5 id="examples-34"><a href="#examples-34">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>boxed: Box&lt;[u8]&gt; = Box::from([<span class="number">4</span>, <span class="number">2</span>]);
<span class="macro">println!</span>(<span class="string">"{boxed:?}"</span>);</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CBox%3C%5BT%5D,+A%3E%3E-for-Vec%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/vec/mod.rs.html#2978-2992">source</a><a href="#impl-From%3CBox%3C%5BT%5D,+A%3E%3E-for-Vec%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt;&gt; for <a class="struct" href="../vec/struct.Vec.html" title="struct allocator_api2::vec::Vec">Vec</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/vec/mod.rs.html#2989-2991">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(s: <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Convert a boxed slice into a vector by transferring ownership of
the existing heap allocation.</p>
<h5 id="examples-32"><a href="#examples-32">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>b: Box&lt;[i32]&gt; = <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>].into_boxed_slice();
<span class="macro">assert_eq!</span>(Vec::from(b), <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CBox%3C%5BT;+N%5D,+A%3E%3E-for-Vec%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/vec/mod.rs.html#2994-3008">source</a><a href="#impl-From%3CBox%3C%5BT;+N%5D,+A%3E%3E-for-Vec%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>, const N: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">[T; N]</a>, A&gt;&gt; for <a class="struct" href="../vec/struct.Vec.html" title="struct allocator_api2::vec::Vec">Vec</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/vec/mod.rs.html#3005-3007">source</a><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(s: <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">[T; N]</a>, A&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Convert a boxed array into a vector by transferring ownership of
the existing heap allocation.</p>
<h5 id="examples-38"><a href="#examples-38">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>b: Box&lt;[i32; <span class="number">3</span>]&gt; = Box::new([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="macro">assert_eq!</span>(Vec::from(b), <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CBox%3CT,+A%3E%3E-for-Pin%3CBox%3CT,+A%3E%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1410-1429">source</a><a href="#impl-From%3CBox%3CT,+A%3E%3E-for-Pin%3CBox%3CT,+A%3E%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;&gt; for <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;&gt;<div class="where">where
A: 'static + <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1426-1428">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(boxed: <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Converts a <code>Box&lt;T&gt;</code> into a <code>Pin&lt;Box&lt;T&gt;&gt;</code>. If <code>T</code> does not implement <a href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin"><code>Unpin</code></a>, then
<code>*boxed</code> will be pinned in memory and unable to be moved.</p>
<p>This conversion does not allocate on the heap and happens in place.</p>
<p>This is also available via <a href="struct.Box.html#method.into_pin" title="associated function allocator_api2::boxed::Box::into_pin"><code>Box::into_pin</code></a>.</p>
<p>Constructing and pinning a <code>Box</code> with <code>&lt;Pin&lt;Box&lt;T&gt;&gt;&gt;::from(<a href="struct.Box.html#method.new" title="associated function allocator_api2::boxed::Box::new">Box::new</a>(x))</code>
can also be written more concisely using <code><a href="struct.Box.html#method.pin" title="associated function allocator_api2::boxed::Box::pin">Box::pin</a>(x)</code>.
This <code>From</code> implementation is useful if you already have a <code>Box&lt;T&gt;</code>, or you are
constructing a (pinned) <code>Box</code> in a different way than with <a href="struct.Box.html#method.new" title="associated function allocator_api2::boxed::Box::new"><code>Box::new</code></a>.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CBox%3Cstr,+A%3E%3E-for-Box%3C%5Bu8%5D,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1477-1499">source</a><a href="#impl-From%3CBox%3Cstr,+A%3E%3E-for-Box%3C%5Bu8%5D,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A&gt;&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.u8.html">u8</a>], A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1495-1498">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(s: <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Converts a <code>Box&lt;str&gt;</code> into a <code>Box&lt;[u8]&gt;</code></p>
<p>This conversion does not allocate on the heap and happens in place.</p>
<h5 id="examples-33"><a href="#examples-33">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// create a Box&lt;str&gt; which will be used to create a Box&lt;[u8]&gt;
</span><span class="kw">let </span>boxed: Box&lt;str&gt; = Box::from(<span class="string">"hello"</span>);
<span class="kw">let </span>boxed_str: Box&lt;[u8]&gt; = Box::from(boxed);
<span class="comment">// create a &amp;[u8] which will be used to create a Box&lt;[u8]&gt;
</span><span class="kw">let </span>slice: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[<span class="number">104</span>, <span class="number">101</span>, <span class="number">108</span>, <span class="number">108</span>, <span class="number">111</span>];
<span class="kw">let </span>boxed_slice = Box::from(slice);
<span class="macro">assert_eq!</span>(boxed_slice, boxed_str);</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CT%3E-for-Box%3CT%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1390-1408">source</a><a href="#impl-From%3CT%3E-for-Box%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-9" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1405-1407">source</a><a href="#method.from-9" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; Self</h4></section></summary><div class="docblock"><p>Converts a <code>T</code> into a <code>Box&lt;T&gt;</code></p>
<p>The conversion allocates on the heap and moves <code>t</code>
from the stack into it.</p>
<h5 id="examples-41"><a href="#examples-41">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="number">5</span>;
<span class="kw">let </span>boxed = Box::new(<span class="number">5</span>);
<span class="macro">assert_eq!</span>(Box::from(x), boxed);</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CVec%3CT,+A%3E%3E-for-Box%3C%5BT%5D,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/vec/mod.rs.html#3012-3035">source</a><a href="#impl-From%3CVec%3CT,+A%3E%3E-for-Box%3C%5BT%5D,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="../vec/struct.Vec.html" title="struct allocator_api2::vec::Vec">Vec</a>&lt;T, A&gt;&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/vec/mod.rs.html#3032-3034">source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(v: <a class="struct" href="../vec/struct.Vec.html" title="struct allocator_api2::vec::Vec">Vec</a>&lt;T, A&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Convert a vector into a boxed slice.</p>
<p>If <code>v</code> has excess capacity, its items will be moved into a
newly-allocated buffer with exactly the right capacity.</p>
<h5 id="examples-35"><a href="#examples-35">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">assert_eq!</span>(Box::from(<span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]), <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>].into_boxed_slice());</code></pre></div>
<p>Any excess capacity is removed:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>vec = Vec::with_capacity(<span class="number">10</span>);
vec.extend([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="macro">assert_eq!</span>(Box::from(vec), <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>].into_boxed_slice());</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-FromIterator%3CI%3E-for-Box%3C%5BI%5D%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1848-1853">source</a><a href="#impl-FromIterator%3CI%3E-for-Box%3C%5BI%5D%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.FromIterator.html" title="trait core::iter::traits::collect::FromIterator">FromIterator</a>&lt;I&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[I]</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1850-1852">source</a><a href="#method.from_iter" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter" class="fn">from_iter</a>&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = I&gt;&gt;(iter: T) -&gt; Self</h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Future-for-Box%3CF,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1927-1937">source</a><a href="#impl-Future-for-Box%3CF,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;F: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;F, A&gt;<div class="where">where
A: 'static + <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" class="associatedtype">Output</a> = &lt;F as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a></h4></section></summary><div class='docblock'>The type of value produced on completion.</div></details><details class="toggle method-toggle" open><summary><section id="method.poll" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1934-1936">source</a><a href="#method.poll" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#tymethod.poll" class="fn">poll</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;mut Self</a>&gt;, cx: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/task/wake/struct.Context.html" title="struct core::task::wake::Context">Context</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/task/poll/enum.Poll.html" title="enum core::task::poll::Poll">Poll</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a>&gt;</h4></section></summary><div class='docblock'>Attempt to resolve the future to a final value, registering
the current task for wakeup if the value is not yet available. <a href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#tymethod.poll">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1323-1328">source</a><a href="#impl-Hash-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1325-1327">source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;H: <a class="trait" href="https://doc.rust-lang.org/1.76.0/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/1.76.0/core/primitive.reference.html">&amp;mut H</a>)</h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/hash/mod.rs.html#238-240">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;mut H</a>)<div class="where">where
H: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hasher-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1330-1387">source</a><a href="#impl-Hasher-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.finish" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1332-1334">source</a><a href="#method.finish" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#tymethod.finish" class="fn">finish</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.u64.html">u64</a></h4></section></summary><div class='docblock'>Returns the hash value for the values written so far. <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#tymethod.finish">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.write-1" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1336-1338">source</a><a href="#method.write-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#tymethod.write" class="fn">write</a>(&amp;mut self, bytes: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.u8.html">u8</a>])</h4></section></summary><div class='docblock'>Writes some data into this <code>Hasher</code>. <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#tymethod.write">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.write_u8" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1340-1342">source</a><a href="#method.write_u8" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_u8" class="fn">write_u8</a>(&amp;mut self, i: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.u8.html">u8</a>)</h4></section></summary><div class='docblock'>Writes a single <code>u8</code> into this hasher.</div></details><details class="toggle method-toggle" open><summary><section id="method.write_u16" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1344-1346">source</a><a href="#method.write_u16" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_u16" class="fn">write_u16</a>(&amp;mut self, i: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.u16.html">u16</a>)</h4></section></summary><div class='docblock'>Writes a single <code>u16</code> into this hasher.</div></details><details class="toggle method-toggle" open><summary><section id="method.write_u32" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1348-1350">source</a><a href="#method.write_u32" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_u32" class="fn">write_u32</a>(&amp;mut self, i: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.u32.html">u32</a>)</h4></section></summary><div class='docblock'>Writes a single <code>u32</code> into this hasher.</div></details><details class="toggle method-toggle" open><summary><section id="method.write_u64" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1352-1354">source</a><a href="#method.write_u64" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_u64" class="fn">write_u64</a>(&amp;mut self, i: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.u64.html">u64</a>)</h4></section></summary><div class='docblock'>Writes a single <code>u64</code> into this hasher.</div></details><details class="toggle method-toggle" open><summary><section id="method.write_u128" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1356-1358">source</a><a href="#method.write_u128" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_u128" class="fn">write_u128</a>(&amp;mut self, i: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.u128.html">u128</a>)</h4></section></summary><div class='docblock'>Writes a single <code>u128</code> into this hasher.</div></details><details class="toggle method-toggle" open><summary><section id="method.write_usize" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1360-1362">source</a><a href="#method.write_usize" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_usize" class="fn">write_usize</a>(&amp;mut self, i: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Writes a single <code>usize</code> into this hasher.</div></details><details class="toggle method-toggle" open><summary><section id="method.write_i8" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1364-1366">source</a><a href="#method.write_i8" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_i8" class="fn">write_i8</a>(&amp;mut self, i: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.i8.html">i8</a>)</h4></section></summary><div class='docblock'>Writes a single <code>i8</code> into this hasher.</div></details><details class="toggle method-toggle" open><summary><section id="method.write_i16" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1368-1370">source</a><a href="#method.write_i16" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_i16" class="fn">write_i16</a>(&amp;mut self, i: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.i16.html">i16</a>)</h4></section></summary><div class='docblock'>Writes a single <code>i16</code> into this hasher.</div></details><details class="toggle method-toggle" open><summary><section id="method.write_i32" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1372-1374">source</a><a href="#method.write_i32" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_i32" class="fn">write_i32</a>(&amp;mut self, i: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.i32.html">i32</a>)</h4></section></summary><div class='docblock'>Writes a single <code>i32</code> into this hasher.</div></details><details class="toggle method-toggle" open><summary><section id="method.write_i64" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1376-1378">source</a><a href="#method.write_i64" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_i64" class="fn">write_i64</a>(&amp;mut self, i: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.i64.html">i64</a>)</h4></section></summary><div class='docblock'>Writes a single <code>i64</code> into this hasher.</div></details><details class="toggle method-toggle" open><summary><section id="method.write_i128" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1380-1382">source</a><a href="#method.write_i128" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_i128" class="fn">write_i128</a>(&amp;mut self, i: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.i128.html">i128</a>)</h4></section></summary><div class='docblock'>Writes a single <code>i128</code> into this hasher.</div></details><details class="toggle method-toggle" open><summary><section id="method.write_isize" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1384-1386">source</a><a href="#method.write_isize" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_isize" class="fn">write_isize</a>(&amp;mut self, i: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.isize.html">isize</a>)</h4></section></summary><div class='docblock'>Writes a single <code>isize</code> into this hasher.</div></details><details class="toggle method-toggle" open><summary><section id="method.write_length_prefix" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/hash/mod.rs.html#485">source</a><a href="#method.write_length_prefix" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_length_prefix" class="fn">write_length_prefix</a>(&amp;mut self, len: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>hasher_prefixfree_extras</code>)</span></div></span><div class='docblock'>Writes a length prefix into this hasher, as part of being prefix-free. <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_length_prefix">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.write_str" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/hash/mod.rs.html#552">source</a><a href="#method.write_str" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_str" class="fn">write_str</a>(&amp;mut self, s: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>hasher_prefixfree_extras</code>)</span></div></span><div class='docblock'>Writes a single <code>str</code> into this hasher. <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html#method.write_str">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Iterator-for-Box%3CI,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1784-1806">source</a><a href="#impl-Iterator-for-Box%3CI,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;I, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" class="associatedtype">Item</a> = &lt;I as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a></h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle method-toggle" open><summary><section id="method.next" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1788-1790">source</a><a href="#method.next" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#tymethod.next" class="fn">next</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;I::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;</h4></section></summary><div class='docblock'>Advances the iterator and returns the next value. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#tymethod.next">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.size_hint" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1793-1795">source</a><a href="#method.size_hint" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.size_hint" class="fn">size_hint</a>(&amp;self) -&gt; (<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>, <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>&gt;)</h4></section></summary><div class='docblock'>Returns the bounds on the remaining length of the iterator. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.size_hint">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.nth" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1798-1800">source</a><a href="#method.nth" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.nth" class="fn">nth</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;I::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;</h4></section></summary><div class='docblock'>Returns the <code>n</code>th element of the iterator. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.nth">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.last" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1803-1805">source</a><a href="#method.last" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.last" class="fn">last</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;I::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;</h4></section></summary><div class='docblock'>Consumes the iterator, returning the last element. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.last">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.next_chunk" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#148-152">source</a><a href="#method.next_chunk" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.next_chunk" class="fn">next_chunk</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>&gt;(
&amp;mut self
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;[Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">N</a>], <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/array/iter/struct.IntoIter.html" title="struct core::array::iter::IntoIter">IntoIter</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, N&gt;&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_next_chunk</code>)</span></div></span><div class='docblock'>Advances the iterator and returns an array containing the next <code>N</code> values. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.next_chunk">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.count" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#264-266">source</a></span><a href="#method.count" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.count" class="fn">count</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Consumes the iterator, counting the number of iterations and returning it. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.count">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.advance_by" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#344">source</a><a href="#method.advance_by" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.advance_by" class="fn">advance_by</a>(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/num/nonzero/struct.NonZeroUsize.html" title="struct core::num::nonzero::NonZeroUsize">NonZeroUsize</a>&gt;</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_advance_by</code>)</span></div></span><div class='docblock'>Advances the iterator by <code>n</code> elements. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.advance_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.step_by" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.28.0">1.28.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#449-451">source</a></span><a href="#method.step_by" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.step_by" class="fn">step_by</a>(self, step: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/step_by/struct.StepBy.html" title="struct core::iter::adapters::step_by::StepBy">StepBy</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Creates an iterator starting at the same point, but stepping by
the given amount at each iteration. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.step_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.chain" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#521-524">source</a></span><a href="#method.chain" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.chain" class="fn">chain</a>&lt;U&gt;(self, other: U) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/chain/struct.Chain.html" title="struct core::iter::adapters::chain::Chain">Chain</a>&lt;Self, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;,</div></h4></section></summary><div class='docblock'>Takes two iterators and creates a new iterator over both in sequence. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.chain">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.zip" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#640-643">source</a></span><a href="#method.zip" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.zip" class="fn">zip</a>&lt;U&gt;(self, other: U) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/zip/struct.Zip.html" title="struct core::iter::adapters::zip::Zip">Zip</a>&lt;Self, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,</div></h4></section></summary><div class='docblock'>Zips up two iterators into a single iterator of pairs. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.zip">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.intersperse_with" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#742-745">source</a><a href="#method.intersperse_with" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.intersperse_with" class="fn">intersperse_with</a>&lt;G&gt;(self, separator: G) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/intersperse/struct.IntersperseWith.html" title="struct core::iter::adapters::intersperse::IntersperseWith">IntersperseWith</a>&lt;Self, G&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
G: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>() -&gt; Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_intersperse</code>)</span></div></span><div class='docblock'>Creates a new iterator which places an item generated by <code>separator</code>
between adjacent items of the original iterator. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.intersperse_with">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#802-805">source</a></span><a href="#method.map" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.map" class="fn">map</a>&lt;B, F&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/map/struct.Map.html" title="struct core::iter::adapters::map::Map">Map</a>&lt;Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; B,</div></h4></section></summary><div class='docblock'>Takes a closure and creates an iterator which calls that closure on each
element. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.map">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.for_each" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#848-851">source</a></span><a href="#method.for_each" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.for_each" class="fn">for_each</a>&lt;F&gt;(self, f: F)<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>),</div></h4></section></summary><div class='docblock'>Calls a closure on each element of an iterator. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.for_each">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.filter" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#924-927">source</a></span><a href="#method.filter" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.filter" class="fn">filter</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/filter/struct.Filter.html" title="struct core::iter::adapters::filter::Filter">Filter</a>&lt;Self, P&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Creates an iterator which uses a closure to determine if an element
should be yielded. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.filter">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.filter_map" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#970-973">source</a></span><a href="#method.filter_map" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.filter_map" class="fn">filter_map</a>&lt;B, F&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/filter_map/struct.FilterMap.html" title="struct core::iter::adapters::filter_map::FilterMap">FilterMap</a>&lt;Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;B&gt;,</div></h4></section></summary><div class='docblock'>Creates an iterator that both filters and maps. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.filter_map">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.enumerate" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1017-1019">source</a></span><a href="#method.enumerate" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.enumerate" class="fn">enumerate</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/enumerate/struct.Enumerate.html" title="struct core::iter::adapters::enumerate::Enumerate">Enumerate</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Creates an iterator which gives the current iteration count as well as
the next value. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.enumerate">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.peekable" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1089-1091">source</a></span><a href="#method.peekable" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.peekable" class="fn">peekable</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/peekable/struct.Peekable.html" title="struct core::iter::adapters::peekable::Peekable">Peekable</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Creates an iterator which can use the <a href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/peekable/struct.Peekable.html#method.peek" title="method core::iter::adapters::peekable::Peekable::peek"><code>peek</code></a> and <a href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/peekable/struct.Peekable.html#method.peek_mut" title="method core::iter::adapters::peekable::Peekable::peek_mut"><code>peek_mut</code></a> methods
to look at the next element of the iterator without consuming it. See
their documentation for more information. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.peekable">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.skip_while" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1155-1158">source</a></span><a href="#method.skip_while" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.skip_while" class="fn">skip_while</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/skip_while/struct.SkipWhile.html" title="struct core::iter::adapters::skip_while::SkipWhile">SkipWhile</a>&lt;Self, P&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Creates an iterator that <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.skip" title="method core::iter::traits::iterator::Iterator::skip"><code>skip</code></a>s elements based on a predicate. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.skip_while">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.take_while" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1237-1240">source</a></span><a href="#method.take_while" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.take_while" class="fn">take_while</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/take_while/struct.TakeWhile.html" title="struct core::iter::adapters::take_while::TakeWhile">TakeWhile</a>&lt;Self, P&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Creates an iterator that yields elements based on a predicate. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.take_while">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map_while" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.57.0">1.57.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1326-1329">source</a></span><a href="#method.map_while" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.map_while" class="fn">map_while</a>&lt;B, P&gt;(self, predicate: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/map_while/struct.MapWhile.html" title="struct core::iter::adapters::map_while::MapWhile">MapWhile</a>&lt;Self, P&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;B&gt;,</div></h4></section></summary><div class='docblock'>Creates an iterator that both yields elements based on a predicate and maps. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.map_while">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.skip" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1358-1360">source</a></span><a href="#method.skip" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.skip" class="fn">skip</a>(self, n: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/skip/struct.Skip.html" title="struct core::iter::adapters::skip::Skip">Skip</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Creates an iterator that skips the first <code>n</code> elements. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.skip">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1412-1414">source</a></span><a href="#method.take" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.take" class="fn">take</a>(self, n: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/take/struct.Take.html" title="struct core::iter::adapters::take::Take">Take</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Creates an iterator that yields the first <code>n</code> elements, or fewer
if the underlying iterator ends sooner. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.take">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.scan" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1462-1465">source</a></span><a href="#method.scan" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.scan" class="fn">scan</a>&lt;St, B, F&gt;(self, initial_state: St, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/scan/struct.Scan.html" title="struct core::iter::adapters::scan::Scan">Scan</a>&lt;Self, St, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;mut St</a>, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;B&gt;,</div></h4></section></summary><div class='docblock'>An iterator adapter which, like <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.fold" title="method core::iter::traits::iterator::Iterator::fold"><code>fold</code></a>, holds internal state, but
unlike <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.fold" title="method core::iter::traits::iterator::Iterator::fold"><code>fold</code></a>, produces a new iterator. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.scan">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.flat_map" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1503-1507">source</a></span><a href="#method.flat_map" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.flat_map" class="fn">flat_map</a>&lt;U, F&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/flatten/struct.FlatMap.html" title="struct core::iter::adapters::flatten::FlatMap">FlatMap</a>&lt;Self, U, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; U,</div></h4></section></summary><div class='docblock'>Creates an iterator that works like map, but flattens nested structure. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.flat_map">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map_windows" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1745-1748">source</a><a href="#method.map_windows" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.map_windows" class="fn">map_windows</a>&lt;F, R, const N: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/map_windows/struct.MapWindows.html" title="struct core::iter::adapters::map_windows::MapWindows">MapWindows</a>&lt;Self, F, N&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;[Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">N</a>]) -&gt; R,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_map_windows</code>)</span></div></span><div class='docblock'>Calls the given function <code>f</code> for each contiguous window of size <code>N</code> over
<code>self</code> and returns an iterator over the outputs of <code>f</code>. Like <a href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html#method.windows" title="method slice::windows"><code>slice::windows()</code></a>,
the windows during mapping overlap as well. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.map_windows">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.fuse" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1814-1816">source</a></span><a href="#method.fuse" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.fuse" class="fn">fuse</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/fuse/struct.Fuse.html" title="struct core::iter::adapters::fuse::Fuse">Fuse</a>&lt;Self&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Creates an iterator which ends after the first <a href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html#variant.None" title="variant core::option::Option::None"><code>None</code></a>. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.fuse">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.inspect" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1899-1902">source</a></span><a href="#method.inspect" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.inspect" class="fn">inspect</a>&lt;F&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/inspect/struct.Inspect.html" title="struct core::iter::adapters::inspect::Inspect">Inspect</a>&lt;Self, F&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>),</div></h4></section></summary><div class='docblock'>Does something with each element of an iterator, passing the value on. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.inspect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.by_ref" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#1930-1932">source</a></span><a href="#method.by_ref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.by_ref" class="fn">by_ref</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;mut Self</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Borrows an iterator, rather than consuming it. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.by_ref">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.collect" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2050-2052">source</a></span><a href="#method.collect" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.collect" class="fn">collect</a>&lt;B&gt;(self) -&gt; B<div class="where">where
B: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.FromIterator.html" title="trait core::iter::traits::collect::FromIterator">FromIterator</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Transforms an iterator into a collection. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.collect">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.collect_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2203-2205">source</a><a href="#method.collect_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.collect_into" class="fn">collect_into</a>&lt;E&gt;(self, collection: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;mut E</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;mut E</a><div class="where">where
E: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_collect_into</code>)</span></div></span><div class='docblock'>Collects all the items from an iterator into a collection. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.collect_into">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.partition" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2238-2242">source</a></span><a href="#method.partition" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.partition" class="fn">partition</a>&lt;B, F&gt;(self, f: F) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.tuple.html">(B, B)</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
B: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Consumes an iterator, creating two collections from it. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.partition">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_partitioned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2359-2362">source</a><a href="#method.is_partitioned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.is_partitioned" class="fn">is_partitioned</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_is_partitioned</code>)</span></div></span><div class='docblock'>Checks if the elements of this iterator are partitioned according to the given predicate,
such that all those that return <code>true</code> precede all those that return <code>false</code>. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.is_partitioned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_fold" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.27.0">1.27.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2454-2458">source</a></span><a href="#method.try_fold" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.try_fold" class="fn">try_fold</a>&lt;B, F, R&gt;(&amp;mut self, init: B, f: F) -&gt; R<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(B, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; R,
R: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>&lt;Output = B&gt;,</div></h4></section></summary><div class='docblock'>An iterator method that applies a function as long as it returns
successfully, producing a single, final value. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.try_fold">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_for_each" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.27.0">1.27.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2513-2517">source</a></span><a href="#method.try_for_each" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.try_for_each" class="fn">try_for_each</a>&lt;F, R&gt;(&amp;mut self, f: F) -&gt; R<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; R,
R: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>&lt;Output = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.unit.html">()</a>&gt;,</div></h4></section></summary><div class='docblock'>An iterator method that applies a fallible function to each item in the
iterator, stopping at the first error and returning that error. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.try_for_each">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.fold" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2633-2636">source</a></span><a href="#method.fold" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.fold" class="fn">fold</a>&lt;B, F&gt;(self, init: B, f: F) -&gt; B<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(B, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; B,</div></h4></section></summary><div class='docblock'>Folds every element into an accumulator by applying an operation,
returning the final result. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.fold">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.reduce" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.51.0">1.51.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2671-2674">source</a></span><a href="#method.reduce" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.reduce" class="fn">reduce</a>&lt;F&gt;(self, f: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>,</div></h4></section></summary><div class='docblock'>Reduces the elements to a single one, by repeatedly applying a reducing
operation. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.reduce">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_reduce" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2743-2748">source</a><a href="#method.try_reduce" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.try_reduce" class="fn">try_reduce</a>&lt;F, R&gt;(
&amp;mut self,
f: F
) -&gt; &lt;&lt;R as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html#associatedtype.Residual" title="type core::ops::try_trait::Try::Residual">Residual</a> as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Residual.html" title="trait core::ops::try_trait::Residual">Residual</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&lt;R as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html#associatedtype.Output" title="type core::ops::try_trait::Try::Output">Output</a>&gt;&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Residual.html#associatedtype.TryType" title="type core::ops::try_trait::Residual::TryType">TryType</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; R,
R: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>&lt;Output = Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;,
&lt;R as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html#associatedtype.Residual" title="type core::ops::try_trait::Try::Residual">Residual</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Residual.html" title="trait core::ops::try_trait::Residual">Residual</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;&gt;,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iterator_try_reduce</code>)</span></div></span><div class='docblock'>Reduces the elements to a single one by repeatedly applying a reducing operation. If the
closure returns a failure, the failure is propagated back to the caller immediately. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.try_reduce">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.all" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2801-2804">source</a></span><a href="#method.all" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.all" class="fn">all</a>&lt;F&gt;(&amp;mut self, f: F) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Tests if every element of the iterator matches a predicate. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.all">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.any" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2855-2858">source</a></span><a href="#method.any" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.any" class="fn">any</a>&lt;F&gt;(&amp;mut self, f: F) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Tests if any element of the iterator matches a predicate. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.any">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.find" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2919-2922">source</a></span><a href="#method.find" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.find" class="fn">find</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Searches for an element of an iterator that satisfies a predicate. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.find">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.find_map" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#2951-2954">source</a></span><a href="#method.find_map" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.find_map" class="fn">find_map</a>&lt;B, F&gt;(&amp;mut self, f: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;B&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;B&gt;,</div></h4></section></summary><div class='docblock'>Applies function to the elements of iterator and returns
the first non-none result. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.find_map">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.try_find" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3008-3013">source</a><a href="#method.try_find" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.try_find" class="fn">try_find</a>&lt;F, R&gt;(
&amp;mut self,
f: F
) -&gt; &lt;&lt;R as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html#associatedtype.Residual" title="type core::ops::try_trait::Try::Residual">Residual</a> as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Residual.html" title="trait core::ops::try_trait::Residual">Residual</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Residual.html#associatedtype.TryType" title="type core::ops::try_trait::Residual::TryType">TryType</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; R,
R: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>&lt;Output = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>&gt;,
&lt;R as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html" title="trait core::ops::try_trait::Try">Try</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Try.html#associatedtype.Residual" title="type core::ops::try_trait::Try::Residual">Residual</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/try_trait/trait.Residual.html" title="trait core::ops::try_trait::Residual">Residual</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;&gt;,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>try_find</code>)</span></div></span><div class='docblock'>Applies function to the elements of iterator and returns
the first true result or the first error. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.try_find">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.position" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3091-3094">source</a></span><a href="#method.position" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.position" class="fn">position</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Searches for an element in an iterator, returning its index. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.position">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max_by_key" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.6.0">1.6.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3263-3266">source</a></span><a href="#method.max_by_key" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.max_by_key" class="fn">max_by_key</a>&lt;B, F&gt;(self, f: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;<div class="where">where
B: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; B,</div></h4></section></summary><div class='docblock'>Returns the element that gives the maximum value from the
specified function. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.max_by_key">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max_by" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.15.0">1.15.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3297-3300">source</a></span><a href="#method.max_by" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.max_by" class="fn">max_by</a>&lt;F&gt;(self, compare: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,</div></h4></section></summary><div class='docblock'>Returns the element that gives the maximum value with respect to the
specified comparison function. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.max_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min_by_key" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.6.0">1.6.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3325-3328">source</a></span><a href="#method.min_by_key" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.min_by_key" class="fn">min_by_key</a>&lt;B, F&gt;(self, f: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;<div class="where">where
B: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; B,</div></h4></section></summary><div class='docblock'>Returns the element that gives the minimum value from the
specified function. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.min_by_key">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min_by" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.15.0">1.15.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3359-3362">source</a></span><a href="#method.min_by" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.min_by" class="fn">min_by</a>&lt;F&gt;(self, compare: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,</div></h4></section></summary><div class='docblock'>Returns the element that gives the minimum value with respect to the
specified comparison function. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.min_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.unzip" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3436-3440">source</a></span><a href="#method.unzip" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.unzip" class="fn">unzip</a>&lt;A, B, FromA, FromB&gt;(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.tuple.html">(FromA, FromB)</a><div class="where">where
FromA: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a>&lt;A&gt;,
FromB: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a>&lt;B&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.tuple.html">(A, B)</a>&gt;,</div></h4></section></summary><div class='docblock'>Converts an iterator of pairs into a pair of containers. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.unzip">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.copied" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.36.0">1.36.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3469-3472">source</a></span><a href="#method.copied" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.copied" class="fn">copied</a>&lt;'a, T&gt;(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/copied/struct.Copied.html" title="struct core::iter::adapters::copied::Copied">Copied</a>&lt;Self&gt;<div class="where">where
T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;'a T</a>&gt;,</div></h4></section></summary><div class='docblock'>Creates an iterator which copies all of its elements. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.copied">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cloned" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3517-3520">source</a></span><a href="#method.cloned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.cloned" class="fn">cloned</a>&lt;'a, T&gt;(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/cloned/struct.Cloned.html" title="struct core::iter::adapters::cloned::Cloned">Cloned</a>&lt;Self&gt;<div class="where">where
T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;'a T</a>&gt;,</div></h4></section></summary><div class='docblock'>Creates an iterator which <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" title="method core::clone::Clone::clone"><code>clone</code></a>s all of its elements. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.cloned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.array_chunks" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3596-3598">source</a><a href="#method.array_chunks" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.array_chunks" class="fn">array_chunks</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>&gt;(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/iter/adapters/array_chunks/struct.ArrayChunks.html" title="struct core::iter::adapters::array_chunks::ArrayChunks">ArrayChunks</a>&lt;Self, N&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_array_chunks</code>)</span></div></span><div class='docblock'>Returns an iterator over <code>N</code> elements of the iterator at a time. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.array_chunks">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sum" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.11.0">1.11.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3630-3633">source</a></span><a href="#method.sum" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.sum" class="fn">sum</a>&lt;S&gt;(self) -&gt; S<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
S: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/accum/trait.Sum.html" title="trait core::iter::traits::accum::Sum">Sum</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;,</div></h4></section></summary><div class='docblock'>Sums the elements of an iterator. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.sum">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.product" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.11.0">1.11.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3663-3666">source</a></span><a href="#method.product" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.product" class="fn">product</a>&lt;P&gt;(self) -&gt; P<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
P: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/accum/trait.Product.html" title="trait core::iter::traits::accum::Product">Product</a>&lt;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>&gt;,</div></h4></section></summary><div class='docblock'>Iterates over the entire iterator, multiplying all the elements <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.product">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cmp_by" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3715-3719">source</a><a href="#method.cmp_by" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.cmp_by" class="fn">cmp_by</a>&lt;I, F&gt;(self, other: I, cmp: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, &lt;I as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_order_by</code>)</span></div></span><div class='docblock'><a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#lexicographical-comparison" title="trait core::cmp::Ord">Lexicographically</a> compares the elements of this <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> with those
of another with respect to the specified comparison function. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.cmp_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.partial_cmp-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.5.0">1.5.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3772-3776">source</a></span><a href="#method.partial_cmp-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.partial_cmp" class="fn">partial_cmp</a>&lt;I&gt;(self, other: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,
Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'><a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#lexicographical-comparison" title="trait core::cmp::Ord">Lexicographically</a> compares the <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd"><code>PartialOrd</code></a> elements of
this <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> with those of another. The comparison works like short-circuit
evaluation, returning a result without comparing the remaining elements.
As soon as an order can be determined, the evaluation stops and a result is returned. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.partial_cmp_by" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3811-3815">source</a><a href="#method.partial_cmp_by" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.partial_cmp_by" class="fn">partial_cmp_by</a>&lt;I, F&gt;(self, other: I, partial_cmp: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, &lt;I as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_order_by</code>)</span></div></span><div class='docblock'><a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#lexicographical-comparison" title="trait core::cmp::Ord">Lexicographically</a> compares the elements of this <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> with those
of another with respect to the specified comparison function. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.partial_cmp_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.eq-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.5.0">1.5.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3845-3849">source</a></span><a href="#method.eq-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.eq" class="fn">eq</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,
Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Determines if the elements of this <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> are equal to those of
another. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.eq">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.eq_by" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3871-3875">source</a><a href="#method.eq_by" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.eq_by" class="fn">eq_by</a>&lt;I, F&gt;(self, other: I, eq: F) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, &lt;I as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>iter_order_by</code>)</span></div></span><div class='docblock'>Determines if the elements of this <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> are equal to those of
another with respect to the specified equality function. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.eq_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ne-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.5.0">1.5.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3904-3908">source</a></span><a href="#method.ne-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.ne" class="fn">ne</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,
Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Determines if the elements of this <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> are not equal to those of
another. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.ne">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.5.0">1.5.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3926-3930">source</a></span><a href="#method.lt-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.lt" class="fn">lt</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,
Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Determines if the elements of this <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> are <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#lexicographical-comparison" title="trait core::cmp::Ord">lexicographically</a>
less than those of another. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.5.0">1.5.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3948-3952">source</a></span><a href="#method.le-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.le" class="fn">le</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,
Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Determines if the elements of this <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> are <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#lexicographical-comparison" title="trait core::cmp::Ord">lexicographically</a>
less or equal to those of another. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.5.0">1.5.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3970-3974">source</a></span><a href="#method.gt-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.gt" class="fn">gt</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,
Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Determines if the elements of this <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> are <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#lexicographical-comparison" title="trait core::cmp::Ord">lexicographically</a>
greater than those of another. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.gt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge-1" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.5.0">1.5.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#3992-3996">source</a></span><a href="#method.ge-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.ge" class="fn">ge</a>&lt;I&gt;(self, other: I) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a><div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,
Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::collect::IntoIterator::Item">Item</a>&gt;,
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Determines if the elements of this <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator"><code>Iterator</code></a> are <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#lexicographical-comparison" title="trait core::cmp::Ord">lexicographically</a>
greater than or equal to those of another. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.ge">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_sorted_by" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#4053-4056">source</a><a href="#method.is_sorted_by" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by" class="fn">is_sorted_by</a>&lt;F&gt;(self, compare: F) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>, &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span><div class='docblock'>Checks if the elements of this iterator are sorted using the given comparator function. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_sorted_by_key" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/iterator.rs.html#4100-4104">source</a><a href="#method.is_sorted_by_key" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key" class="fn">is_sorted_by_key</a>&lt;F, K&gt;(self, f: F) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a>) -&gt; K,
K: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span><div class='docblock'>Checks if the elements of this iterator are sorted using the given key extraction
function. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#method.is_sorted_by_key">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1314-1319">source</a><a href="#impl-Ord-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1316-1318">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/1.76.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/cmp.rs.html#829-831">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -&gt; Self<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/cmp.rs.html#849-851">source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#method.min" class="fn">min</a>(self, other: Self) -&gt; Self<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/cmp.rs.html#874-877">source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#method.clamp" class="fn">clamp</a>(self, min: Self, max: Self) -&gt; Self<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1280-1289">source</a><a href="#impl-PartialEq-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1282-1284">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1286-1288">source</a><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1291-1312">source</a><a href="#impl-PartialOrd-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1293-1295">source</a><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1297-1299">source</a><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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/1.76.0/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1301-1303">source</a><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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/1.76.0/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1305-1307">source</a><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html#method.ge" class="fn">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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/1.76.0/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1309-1311">source</a><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialOrd.html#method.gt" class="fn">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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/1.76.0/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Pointer-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1758-1766">source</a><a href="#impl-Pointer-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Pointer.html" title="trait core::fmt::Pointer">Pointer</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-2" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1760-1765">source</a><a href="#method.fmt-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Pointer.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.76.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3CBox%3C%5BT%5D,+A%3E%3E-for-Box%3C%5BT;+N%5D,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1537-1558">source</a><a href="#impl-TryFrom%3CBox%3C%5BT%5D,+A%3E%3E-for-Box%3C%5BT;+N%5D,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>, const N: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt;&gt; for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">[T; N]</a>, A&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1550-1557">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(boxed_slice: <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to convert a <code>Box&lt;[T]&gt;</code> into a <code>Box&lt;[T; N]&gt;</code>.</p>
<p>The conversion occurs in-place and does not require a
new memory allocation.</p>
<h5 id="errors"><a href="#errors">Errors</a></h5>
<p>Returns the old <code>Box&lt;[T]&gt;</code> in the <code>Err</code> variant if
<code>boxed_slice.len()</code> does not equal <code>N</code>.</p>
</div></details><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A&gt;</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details></div></details><section id="impl-Eq-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1321">source</a><a href="#impl-Eq-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;</h3></section><section id="impl-FusedIterator-for-Box%3CI,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1845">source</a><a href="#impl-FusedIterator-for-Box%3CI,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/marker/trait.FusedIterator.html" title="trait core::iter::traits::marker::FusedIterator">FusedIterator</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/marker/trait.FusedIterator.html" title="trait core::iter::traits::marker::FusedIterator">FusedIterator</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;I, A&gt;</h3></section><section id="impl-Send-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#180-185">source</a><a href="#impl-Send-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
A: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h3></section><section id="impl-Sync-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#189-194">source</a><a href="#impl-Sync-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
A: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h3></section><section id="impl-Unpin-for-Box%3CT,+A%3E" class="impl"><a class="src rightside" href="../../src/allocator_api2/stable/boxed.rs.html#1925">source</a><a href="#impl-Unpin-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;<div class="where">where
A: 'static + <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>,</div></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Box%3CT,+A%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;<div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-UnwindSafe-for-Box%3CT,+A%3E" class="impl"><a href="#impl-UnwindSafe-for-Box%3CT,+A%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, A&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a>&lt;T, A&gt;<div class="where">where
A: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3C!%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#780">source</a><a href="#impl-From%3C!%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.never.html">!</a>&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-11" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#781">source</a><a href="#method.from-11" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.never.html">!</a>) -&gt; T</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-10" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from-10" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoFuture-for-F" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/future/into_future.rs.html#133">source</a><a href="#impl-IntoFuture-for-F" class="anchor">§</a><h3 class="code-header">impl&lt;F&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html" title="trait core::future::into_future::IntoFuture">IntoFuture</a> for F<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-1" class="associatedtype trait-impl"><a href="#associatedtype.Output-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html#associatedtype.Output" class="associatedtype">Output</a> = &lt;F as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output" title="type core::future::future::Future::Output">Output</a></h4></section></summary><div class='docblock'>The output that the future will produce on completion.</div></details><details class="toggle" open><summary><section id="associatedtype.IntoFuture" class="associatedtype trait-impl"><a href="#associatedtype.IntoFuture" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html#associatedtype.IntoFuture" class="associatedtype">IntoFuture</a> = F</h4></section></summary><div class='docblock'>Which kind of future are we turning this into?</div></details><details class="toggle method-toggle" open><summary><section id="method.into_future" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/future/into_future.rs.html#137">source</a><a href="#method.into_future" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html#tymethod.into_future" class="fn">into_future</a>(self) -&gt; &lt;F as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html" title="trait core::future::into_future::IntoFuture">IntoFuture</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html#associatedtype.IntoFuture" title="type core::future::into_future::IntoFuture::IntoFuture">IntoFuture</a></h4></section></summary><div class='docblock'>Creates a future from a value. <a href="https://doc.rust-lang.org/1.76.0/core/future/into_future/trait.IntoFuture.html#tymethod.into_future">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoIterator-for-I" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/collect.rs.html#273">source</a><a href="#impl-IntoIterator-for-I" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> for I<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item-1" class="associatedtype trait-impl"><a href="#associatedtype.Item-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" class="associatedtype">Item</a> = &lt;I as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::traits::iterator::Iterator::Item">Item</a></h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle" open><summary><section id="associatedtype.IntoIter" class="associatedtype trait-impl"><a href="#associatedtype.IntoIter" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" class="associatedtype">IntoIter</a> = I</h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details><details class="toggle method-toggle" open><summary><section id="method.into_iter" class="method trait-impl"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/90603" title="Tracking issue for const_intoiterator_identity">unstable</a></span> · <a class="src" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/collect.rs.html#278">source</a></span><a href="#method.into_iter" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter" class="fn">into_iter</a>(self) -&gt; I</h4></section></summary><div class='docblock'>Creates an iterator from a value. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToString-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/string.rs.html#2600">source</a><a href="#impl-ToString-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.to_string" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/string.rs.html#2606">source</a><a href="#method.to_string" class="anchor">§</a><h4 class="code-header">default fn <a href="https://doc.rust-lang.org/1.76.0/alloc/string/trait.ToString.html#tymethod.to_string" class="fn">to_string</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class='docblock'>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/1.76.0/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div><script type="text/json" id="notable-traits-data">{"Box<CStr>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;I: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>, A: <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = I::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" title=\"type core::iter::traits::iterator::Iterator::Item\">Item</a>;</div><div class=\"where\">impl&lt;F: ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>, A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;F, A&gt;<div class=\"where\">where\n A: 'static + <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = F::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" title=\"type core::future::future::Future::Output\">Output</a>;</div>","Box<MaybeUninit<T>, A>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;I: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>, A: <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = I::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" title=\"type core::iter::traits::iterator::Iterator::Item\">Item</a>;</div><div class=\"where\">impl&lt;F: ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>, A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;F, A&gt;<div class=\"where\">where\n A: 'static + <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = F::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" title=\"type core::future::future::Future::Output\">Output</a>;</div>","Box<MaybeUninit<T>>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;I: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>, A: <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = I::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" title=\"type core::iter::traits::iterator::Iterator::Item\">Item</a>;</div><div class=\"where\">impl&lt;F: ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>, A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;F, A&gt;<div class=\"where\">where\n A: 'static + <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = F::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" title=\"type core::future::future::Future::Output\">Output</a>;</div>","Box<T, A>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;I: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>, A: <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = I::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" title=\"type core::iter::traits::iterator::Iterator::Item\">Item</a>;</div><div class=\"where\">impl&lt;F: ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>, A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;F, A&gt;<div class=\"where\">where\n A: 'static + <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = F::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" title=\"type core::future::future::Future::Output\">Output</a>;</div>","Box<[MaybeUninit<T>], A>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;I: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>, A: <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = I::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" title=\"type core::iter::traits::iterator::Iterator::Item\">Item</a>;</div><div class=\"where\">impl&lt;F: ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>, A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;F, A&gt;<div class=\"where\">where\n A: 'static + <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = F::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" title=\"type core::future::future::Future::Output\">Output</a>;</div>","Box<[MaybeUninit<T>]>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;I: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>, A: <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = I::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" title=\"type core::iter::traits::iterator::Iterator::Item\">Item</a>;</div><div class=\"where\">impl&lt;F: ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>, A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;F, A&gt;<div class=\"where\">where\n A: 'static + <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = F::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" title=\"type core::future::future::Future::Output\">Output</a>;</div>","Box<[T], A>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;I: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>, A: <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = I::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" title=\"type core::iter::traits::iterator::Iterator::Item\">Item</a>;</div><div class=\"where\">impl&lt;F: ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>, A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;F, A&gt;<div class=\"where\">where\n A: 'static + <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = F::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" title=\"type core::future::future::Future::Output\">Output</a>;</div>","Box<[T]>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;I: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>, A: <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = I::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" title=\"type core::iter::traits::iterator::Iterator::Item\">Item</a>;</div><div class=\"where\">impl&lt;F: ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>, A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;F, A&gt;<div class=\"where\">where\n A: 'static + <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = F::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" title=\"type core::future::future::Future::Output\">Output</a>;</div>","Box<str, A>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;I: <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> + ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a>, A: <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;I, A&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = I::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" title=\"type core::iter::traits::iterator::Iterator::Item\">Item</a>;</div><div class=\"where\">impl&lt;F: ?<a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html\" title=\"trait core::marker::Sized\">Sized</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> + <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>, A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html\" title=\"trait core::future::future::Future\">Future</a> for <a class=\"struct\" href=\"struct.Box.html\" title=\"struct allocator_api2::boxed::Box\">Box</a>&lt;F, A&gt;<div class=\"where\">where\n A: 'static + <a class=\"trait\" href=\"../alloc/trait.Allocator.html\" title=\"trait allocator_api2::alloc::Allocator\">Allocator</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" class=\"associatedtype\">Output</a> = F::<a class=\"associatedtype\" href=\"https://doc.rust-lang.org/1.76.0/core/future/future/trait.Future.html#associatedtype.Output\" title=\"type core::future::future::Future::Output\">Output</a>;</div>"}</script></section></div></main></body></html>