|
|
<!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">☰</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<T></a></li><li><a href="#impl-AsRef%3CT%3E-for-Box%3CT,+A%3E">AsRef<T></a></li><li><a href="#impl-Borrow%3CT%3E-for-Box%3CT,+A%3E">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Box%3CT,+A%3E">BorrowMut<T></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<Box<str, A>></a></li><li><a href="#impl-From%3C%26CStr%3E-for-Box%3CCStr%3E">From<&CStr></a></li><li><a href="#impl-From%3C%26%5BT%5D%3E-for-Box%3C%5BT%5D,+A%3E">From<&[T]></a></li><li><a href="#impl-From%3C%26str%3E-for-Box%3Cstr,+A%3E">From<&str></a></li><li><a href="#impl-From%3CBox%3CT,+A%3E%3E-for-Pin%3CBox%3CT,+A%3E%3E">From<Box<T, A>></a></li><li><a href="#impl-From%3CBox%3C%5BT;+N%5D,+A%3E%3E-for-Vec%3CT,+A%3E">From<Box<[T; N], A>></a></li><li><a href="#impl-From%3CBox%3C%5BT%5D,+A%3E%3E-for-Vec%3CT,+A%3E">From<Box<[T], A>></a></li><li><a href="#impl-From%3CBox%3Cstr,+A%3E%3E-for-Box%3C%5Bu8%5D,+A%3E">From<Box<str, A>></a></li><li><a href="#impl-From%3CT%3E-for-Box%3CT%3E">From<T></a></li><li><a href="#impl-From%3CVec%3CT,+A%3E%3E-for-Box%3C%5BT%5D,+A%3E">From<Vec<T, A>></a></li><li><a href="#impl-From%3C%5BT;+N%5D%3E-for-Box%3C%5BT%5D%3E">From<[T; N]></a></li><li><a href="#impl-FromIterator%3CI%3E-for-Box%3C%5BI%5D%3E">FromIterator<I></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<Box<[T], A>></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<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-From%3C!%3E-for-T">From<!></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></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<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></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>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Box<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>>(<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<T> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T></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) -> Self</h4></section></summary><div class="docblock"><p>Allocates memory on the heap and then places <code>x</code> into it.</p>
|
|
|
<p>This doesn’t 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>() -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<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><T>> <a href="#" class="tooltip" data-notable-ty="Box<MaybeUninit<T>>">ⓘ</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::<u32>::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>() -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<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><T>> <a href="#" class="tooltip" data-notable-ty="Box<MaybeUninit<T>>">ⓘ</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::<u32>::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) -> <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T>></h4></section></summary><div class="docblock"><p>Constructs a new <code>Pin<Box<T>></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<T></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) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</a>></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 doesn’t 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>() -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<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><T>>, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</a>></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::<u32>::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>() -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<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><T>>, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</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 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::<u32>::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<T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A></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) -> 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 doesn’t 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) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</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>Allocates memory in the given allocator then places <code>x</code> into it,
|
|
|
returning an error if the allocation fails</p>
|
|
|
<p>This doesn’t 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) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<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><T>, A> <a href="#" class="tooltip" data-notable-ty="Box<MaybeUninit<T>, A>">ⓘ</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::<u32, <span class="kw">_</span>>::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) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<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><T>, A>, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</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,
|
|
|
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::<u32, <span class="kw">_</span>>::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) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<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><T>, A> <a href="#" class="tooltip" data-notable-ty="Box<MaybeUninit<T>, A>">ⓘ</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::<u32, <span class="kw">_</span>>::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) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<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><T>, A>, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</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,
|
|
|
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::<u32, <span class="kw">_</span>>::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) -> <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><Self><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<Box<T, A>></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<T, A></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) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A> <a href="#" class="tooltip" data-notable-ty="Box<[T], A>">ⓘ</a></h4></section></summary><div class="docblock"><p>Converts a <code>Box<T></code> into a <code>Box<[T]></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) -> 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<T> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>></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>) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><[<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><T>]> <a href="#" class="tooltip" data-notable-ty="Box<[MaybeUninit<T>]>">ⓘ</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::<[u32]>::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>) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><[<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><T>]> <a href="#" class="tooltip" data-notable-ty="Box<[MaybeUninit<T>]>">ⓘ</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::<[u32]>::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>
|
|
|
) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><[<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><T>]>, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</a>></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::<[u32]>::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>
|
|
|
) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><[<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><T>]>, <a class="struct" href="../alloc/struct.AllocError.html" title="struct allocator_api2::alloc::AllocError">AllocError</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. 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::<[u32]>::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<T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A></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) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><[<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><T>], A> <a href="#" class="tooltip" data-notable-ty="Box<[MaybeUninit<T>], A>">ⓘ</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::<[u32], <span class="kw">_</span>>::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) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><[<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><T>], A> <a href="#" class="tooltip" data-notable-ty="Box<[MaybeUninit<T>], A>">ⓘ</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::<[u32], <span class="kw">_</span>>::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) -> <a class="struct" href="../vec/struct.Vec.html" title="struct allocator_api2::vec::Vec">Vec</a><T, 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></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<T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<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><T>, A></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) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A> <a href="#" class="tooltip" data-notable-ty="Box<T, A>">ⓘ</a></h4></section></summary><div class="docblock"><p>Converts to <code>Box<T, A></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::<u32>::new_uninit();
|
|
|
|
|
|
<span class="kw">let </span>five: Box<u32> = <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) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A> <a href="#" class="tooltip" data-notable-ty="Box<T, A>">ⓘ</a></h4></section></summary><div class="docblock"><p>Writes the value and converts to <code>Box<T, A></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::<[usize; <span class="number">1024</span>]>::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<T, A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><[<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><T>], A></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) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A> <a href="#" class="tooltip" data-notable-ty="Box<[T], A>">ⓘ</a></h4></section></summary><div class="docblock"><p>Converts to <code>Box<[T], A></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::<[u32]>::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<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="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T></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>) -> 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::<i32>()) <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<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="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A></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) -> 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::<i32>())<span class="question-mark">?</span>.as_ptr().cast::<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_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) -> <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::<String>());
|
|
|
}</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) -> (<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::<String>());
|
|
|
}</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) -> (<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><T>, 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">&Self</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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(&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) -> <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><Self><div class="where">where
|
|
|
A: 'static,</div></h4></section></summary><div class="docblock"><p>Converts a <code>Box<T></code> into a <code>Pin<Box<T>></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<T></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>It’s not recommended that crates add an impl like <code>From<Box<T>> for Pin<T></code>,
|
|
|
as it’ll 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<Box<()>> <span class="kw">for </span>Pin<Foo> {
|
|
|
<span class="kw">fn </span>from(<span class="kw">_</span>: Box<()>) -> Pin<Foo> {
|
|
|
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<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>> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">[T; N]</a>, A></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) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A> <a href="#" class="tooltip" data-notable-ty="Box<[T], A>">ⓘ</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) -> <a class="struct" href="../vec/struct.Vec.html" title="struct allocator_api2::vec::Vec">Vec</a><T, 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></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<A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><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></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><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>>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A>, Self></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<<span class="kw">dyn </span>Any>) {
|
|
|
<span class="kw">if let </span><span class="prelude-val">Ok</span>(string) = value.downcast::<String>() {
|
|
|
<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><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>>(self) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A> <a href="#" class="tooltip" data-notable-ty="Box<T, A>">ⓘ</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<<span class="kw">dyn </span>Any> = 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::<usize>(), <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<A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><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></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><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>>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A>, Self></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<<span class="kw">dyn </span>Any + Send>) {
|
|
|
<span class="kw">if let </span><span class="prelude-val">Ok</span>(string) = value.downcast::<String>() {
|
|
|
<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><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>>(self) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A> <a href="#" class="tooltip" data-notable-ty="Box<T, A>">ⓘ</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<<span class="kw">dyn </span>Any + Send> = 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::<usize>(), <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<A: <a class="trait" href="../alloc/trait.Allocator.html" title="trait allocator_api2::alloc::Allocator">Allocator</a>> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><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></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><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>>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A>, Self></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<<span class="kw">dyn </span>Any + Send + Sync>) {
|
|
|
<span class="kw">if let </span><span class="prelude-val">Ok</span>(string) = value.downcast::<String>() {
|
|
|
<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><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>>(self) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A> <a href="#" class="tooltip" data-notable-ty="Box<T, A>">ⓘ</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<<span class="kw">dyn </span>Any + Send + Sync> = 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::<usize>(), <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<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="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a><T> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A></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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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<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="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><T> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A></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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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<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="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A></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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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<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="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A></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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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<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>> <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><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A></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>(&self) -> 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>(&mut self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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><<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>></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>(&self) -> 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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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<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>> <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><T, A></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>(&self) -> Self</h4></section></summary><div class="docblock"><p>Returns a new box with a <code>clone()</code> of this box’s 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">&*</span>x <span class="kw">as </span><span class="kw-2">*const </span>i32, <span class="kw-2">&*</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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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">&*</span>y;
|
|
|
|
|
|
y.clone_from(<span class="kw-2">&</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">&*</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><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>></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>(&self) -> 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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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<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>> <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><T, A></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>(&self, f: &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><'_>) -> <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<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>> <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><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A></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>() -> 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<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>> <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><T></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>() -> Self</h4></section></summary><div class="docblock"><p>Creates a <code>Box<T></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<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>> <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><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A></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>() -> 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<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="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><T, A></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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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<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="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><T, A></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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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<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>> <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><T, A></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>(&self, f: &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><'_>) -> <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<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>> <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><I, A></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>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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>></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>(&mut self, n: <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><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>></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>(&mut self, n: <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/result/enum.Result.html" title="enum core::result::Result">Result</a><<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>></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><B, F, R>(&mut self, init: B, f: F) -> 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>) -> 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><Output = B>,</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><B, F>(self, init: B, f: F) -> 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>) -> B,</div></h4></section></summary><div class='docblock'>An iterator method that reduces the iterator’s 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><P>(&mut self, predicate: P) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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 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>) -> <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<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="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><T, A></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>(&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<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>> <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><I, A></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>(&self) -> <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>(&self) -> <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<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/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A>> 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><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><Item = <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A>>>(&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>(&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>(&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<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>> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><&<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A></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: &<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A> <a href="#" class="tooltip" data-notable-ty="Box<[T], A>">ⓘ</a></h4></section></summary><div class="docblock"><p>Converts a <code>&[T]</code> into a <code>Box<[T]></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 &[u8] which will be used to create a Box<[u8]>
|
|
|
</span><span class="kw">let </span>slice: <span class="kw-2">&</span>[u8] = <span class="kw-2">&</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<[u8]> = 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><&<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>> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<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>></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: &<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>) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<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>> <a href="#" class="tooltip" data-notable-ty="Box<CStr>">ⓘ</a></h4></section></summary><div class="docblock"><p>Converts a <code>&CStr</code> into a <code>Box<CStr></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<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>> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><&<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A></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: &<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A> <a href="#" class="tooltip" data-notable-ty="Box<str, A>">ⓘ</a></h4></section></summary><div class="docblock"><p>Converts a <code>&str</code> into a <code>Box<str></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<str> = 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<T, const N: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">[T; N]</a>> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>></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>) -> <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>> <a href="#" class="tooltip" data-notable-ty="Box<[T]>">ⓘ</a></h4></section></summary><div class="docblock"><p>Converts a <code>[T; N]</code> into a <code>Box<[T]></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<[u8]> = 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<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/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A>> for <a class="struct" href="../vec/struct.Vec.html" title="struct allocator_api2::vec::Vec">Vec</a><T, A></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><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A>) -> 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<[i32]> = <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<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>> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">[T; N]</a>, A>> for <a class="struct" href="../vec/struct.Vec.html" title="struct allocator_api2::vec::Vec">Vec</a><T, A></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><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">[T; N]</a>, A>) -> 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<[i32; <span class="number">3</span>]> = 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<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="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A>> 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><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A>><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><T, A>) -> Self</h4></section></summary><div class="docblock"><p>Converts a <code>Box<T></code> into a <code>Pin<Box<T>></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><Pin<Box<T>>>::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<T></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<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/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A>> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><[<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.u8.html">u8</a>], A></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><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.str.html">str</a>, A>) -> Self</h4></section></summary><div class="docblock"><p>Converts a <code>Box<str></code> into a <code>Box<[u8]></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<str> which will be used to create a Box<[u8]>
|
|
|
</span><span class="kw">let </span>boxed: Box<str> = Box::from(<span class="string">"hello"</span>);
|
|
|
<span class="kw">let </span>boxed_str: Box<[u8]> = Box::from(boxed);
|
|
|
|
|
|
<span class="comment">// create a &[u8] which will be used to create a Box<[u8]>
|
|
|
</span><span class="kw">let </span>slice: <span class="kw-2">&</span>[u8] = <span class="kw-2">&</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<T> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T></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) -> Self</h4></section></summary><div class="docblock"><p>Converts a <code>T</code> into a <code>Box<T></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<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/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../vec/struct.Vec.html" title="struct allocator_api2::vec::Vec">Vec</a><T, A>> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A></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><T, A>) -> 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<I> <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><I> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[I]</a>></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><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><Item = I>>(iter: T) -> 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<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> <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><F, A><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> = <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>>::<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><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&mut Self</a>>, cx: &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><'_>) -> <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><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>></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<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>> <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><T, A></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><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, state: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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><H>(data: &<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">&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<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>> <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><T, A></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>(&self) -> <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>(&mut self, bytes: &[<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>(&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>(&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>(&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>(&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>(&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>(&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>(&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>(&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>(&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>(&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>(&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>(&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>(&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>(&mut self, s: &<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<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>> <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><I, A></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> = <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>>::<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>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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>></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>(&self) -> (<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><<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 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>(&mut self, n: <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><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>></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) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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>></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><const N: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>>(
|
|
|
&mut self
|
|
|
) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</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="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><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>><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) -> <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>(&mut self, n: <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/result/enum.Result.html" title="enum core::result::Result">Result</a><<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>></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>) -> <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><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'>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><U>(self, other: U) -> <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><Self, <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>>::<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>><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><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>>,</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><U>(self, other: U) -> <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><Self, <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>>::<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>><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><G>(self, separator: G) -> <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><Self, G><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>() -> 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><B, F>(self, f: F) -> <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><Self, 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>) -> 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><F>(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><P>(self, predicate: P) -> <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><Self, 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/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>) -> <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><B, F>(self, f: F) -> <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><Self, 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>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><B>,</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) -> <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><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'>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) -> <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><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'>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><P>(self, predicate: P) -> <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><Self, 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/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>) -> <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><P>(self, predicate: P) -> <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><Self, 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/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>) -> <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><B, P>(self, predicate: P) -> <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><Self, 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/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>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><B>,</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>) -> <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><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'>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>) -> <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><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'>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><St, B, F>(self, initial_state: St, f: F) -> <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><Self, St, 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>(<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><B>,</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><U, F>(self, f: F) -> <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><Self, U, 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>,
|
|
|
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>) -> 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><F, R, const N: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>>(self, f: F) -> <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><Self, F, N><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>; <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">N</a>]) -> 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) -> <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><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'>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><F>(self, f: F) -> <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><Self, 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'>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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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><B>(self) -> 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><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="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><E>(self, collection: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&mut E</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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><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="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><B, F>(self, f: F) -> <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><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>>,
|
|
|
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>) -> <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><P>(self, predicate: P) -> <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>) -> <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><B, F, R>(&mut self, init: B, f: F) -> 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>) -> 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><Output = B>,</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><F, R>(&mut self, f: F) -> 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>) -> 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><Output = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.unit.html">()</a>>,</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><B, F>(self, init: B, f: F) -> 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>) -> 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><F>(self, f: F) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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 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>) -> 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><F, R>(
|
|
|
&mut self,
|
|
|
f: F
|
|
|
) -> <<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>>::<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><<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<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>>::<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>>>>::<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>) -> 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><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>>,
|
|
|
<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>>::<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><<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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><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><F>(&mut self, f: F) -> <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>) -> <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><F>(&mut self, f: F) -> <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>) -> <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><P>(&mut self, predicate: P) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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 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>) -> <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><B, F>(&mut self, f: F) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><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>(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="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><B>,</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><F, R>(
|
|
|
&mut self,
|
|
|
f: F
|
|
|
) -> <<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>>::<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><<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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="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>) -> 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><Output = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.bool.html">bool</a>>,
|
|
|
<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>>::<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><<a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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><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><P>(&mut self, predicate: P) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<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>,
|
|
|
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>) -> <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><B, F>(self, f: F) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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 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>(&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>) -> 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><F>(self, compare: F) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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 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>) -> <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><B, F>(self, f: F) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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 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>(&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>) -> 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><F>(self, compare: F) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</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 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>) -> <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><A, B, FromA, FromB>(self) -> <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><A>,
|
|
|
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><B>,
|
|
|
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><Item = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.tuple.html">(A, B)</a>>,</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><'a, T>(self) -> <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><Self><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><Item = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&'a T</a>>,</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><'a, T>(self) -> <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><Self><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><Item = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&'a T</a>>,</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><const N: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.usize.html">usize</a>>(self) -> <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><Self, N><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><S>(self) -> 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><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'>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><P>(self) -> 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><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'>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><I, F>(self, other: I, cmp: F) -> <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>, <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>>::<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>) -> <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><I>(self, other: I) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<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
|
|
|
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><<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>>::<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>>,
|
|
|
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><I, F>(self, other: I, partial_cmp: F) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<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>, <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>>::<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>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<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.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><I>(self, other: I) -> <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><<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>>::<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>>,
|
|
|
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><I, F>(self, other: I, eq: F) -> <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>, <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>>::<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>) -> <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><I>(self, other: I) -> <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><<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>>::<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>>,
|
|
|
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><I>(self, other: I) -> <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><<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>>::<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>>,
|
|
|
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><I>(self, other: I) -> <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><<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>>::<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>>,
|
|
|
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><I>(self, other: I) -> <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><<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>>::<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>>,
|
|
|
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><I>(self, other: I) -> <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><<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>>::<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>>,
|
|
|
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><F>(self, compare: F) -> <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>, &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="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<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>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><F, K>(self, f: F) -> <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>) -> 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<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>> <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><T, A></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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&Self</a>) -> <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) -> 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) -> 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) -> 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<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>> <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><T, A></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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&Self</a>) -> <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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&Self</a>) -> <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<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>> <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><T, A></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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&Self</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><<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 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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&Self</a>) -> <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><</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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&Self</a>) -> <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><=</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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&Self</a>) -> <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>>=</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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&Self</a>) -> <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>></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<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="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><T, A></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>(&self, f: &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><'_>) -> <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<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>> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><<a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A>> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.array.html">[T; N]</a>, A></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><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><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>></h4></section></summary><div class="docblock"><p>Attempts to convert a <code>Box<[T]></code> into a <code>Box<[T; N]></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<[T]></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><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.slice.html">[T]</a>, A></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<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>> <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><T, A></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<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>> <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><I, A></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<T, 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> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A><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<T, 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> for <a class="struct" href="struct.Box.html" title="struct allocator_api2::boxed::Box">Box</a><T, A><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<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="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><T, A><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<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="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><T, A><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<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="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><T, A><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<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> 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>(&self) -> <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<T> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> 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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> 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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.never.html">!</a>> 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>) -> 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<T> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> 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) -> 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<T, 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><U> 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><T>,</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) -> 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><T> 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<F> <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> = <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>>::<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) -> <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>>::<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<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> 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> = <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>>::<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) -> 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<T> <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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/core/primitive.reference.html">&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<T> <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>(&self) -> <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<T, 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><U> 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><T>,</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) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <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><U>>::<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'>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<T, U> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> 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><T>,</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> = <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><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <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><T>>::<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'>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><I, A></code></h3><pre><code><div class=\"where\">impl<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>> <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><I, A></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<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> <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><F, A><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><I, A></code></h3><pre><code><div class=\"where\">impl<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>> <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><I, A></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<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> <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><F, A><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><I, A></code></h3><pre><code><div class=\"where\">impl<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>> <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><I, A></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<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> <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><F, A><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><I, A></code></h3><pre><code><div class=\"where\">impl<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>> <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><I, A></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<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> <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><F, A><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><I, A></code></h3><pre><code><div class=\"where\">impl<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>> <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><I, A></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<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> <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><F, A><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><I, A></code></h3><pre><code><div class=\"where\">impl<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>> <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><I, A></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<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> <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><F, A><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><I, A></code></h3><pre><code><div class=\"where\">impl<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>> <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><I, A></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<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> <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><F, A><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><I, A></code></h3><pre><code><div class=\"where\">impl<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>> <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><I, A></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<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> <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><F, A><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><I, A></code></h3><pre><code><div class=\"where\">impl<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>> <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><I, A></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<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> <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><F, A><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> |