blob: b5ef1f099562eebede37c702882bd6743cb56b7c [file] [log] [blame]
<!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 single-threaded task pool for polling futures to completion."><meta name="keywords" content="rust, rustlang, rust-lang, LocalPool"><title>LocalPool in futures::executor - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../normalize.css"><link rel="stylesheet" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../ayu.css" disabled><link rel="stylesheet" href="../../dark.css" disabled><link rel="stylesheet" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../main.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../futures/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../futures/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">LocalPool</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.new">new</a></li><li><a href="#method.run">run</a></li><li><a href="#method.run_until">run_until</a></li><li><a href="#method.run_until_stalled">run_until_stalled</a></li><li><a href="#method.spawner">spawner</a></li><li><a href="#method.try_run_one">try_run_one</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Debug-for-LocalPool">Debug</a></li><li><a href="#impl-Default-for-LocalPool">Default</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-LocalPool">!RefUnwindSafe</a></li><li><a href="#impl-Send-for-LocalPool">!Send</a></li><li><a href="#impl-Sync-for-LocalPool">!Sync</a></li><li><a href="#impl-Unpin-for-LocalPool">Unpin</a></li><li><a href="#impl-UnwindSafe-for-LocalPool">!UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-LocalPool">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-LocalPool">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-LocalPool">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-LocalPool">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-LocalPool">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-LocalPool">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-LocalPool">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In futures::executor</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../index.html">futures</a>::<wbr><a href="index.html">executor</a>::<wbr><a class="struct" href="#">LocalPool</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/futures_executor/local_pool.rs.html#31">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct LocalPool { /* private fields */ }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A single-threaded task pool for polling futures to completion.</p>
<p>This executor allows you to multiplex any number of tasks onto a single
thread. It’s appropriate to poll strictly I/O-bound futures that do very
little work in between I/O actions.</p>
<p>To get a handle to the pool that implements
<a href="../task/trait.Spawn.html"><code>Spawn</code></a>, use the
<a href="struct.LocalPool.html#method.spawner"><code>spawner()</code></a> method. Because the executor is
single-threaded, it supports a special form of task spawning for non-<code>Send</code>
futures, via <a href="../task/trait.LocalSpawn.html#tymethod.spawn_local_obj"><code>spawn_local_obj</code></a>.</p>
</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-LocalPool" class="impl has-srclink"><a class="srclink rightside" href="../../src/futures_executor/local_pool.rs.html#110">source</a><a href="#impl-LocalPool" class="anchor"></a><h3 class="code-header">impl <a class="struct" href="struct.LocalPool.html" title="struct futures::executor::LocalPool">LocalPool</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.new" class="method has-srclink"><a class="srclink rightside" href="../../src/futures_executor/local_pool.rs.html#112">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fnname">new</a>() -&gt; <a class="struct" href="struct.LocalPool.html" title="struct futures::executor::LocalPool">LocalPool</a></h4></section></summary><div class="docblock"><p>Create a new, empty pool of tasks.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.spawner" class="method has-srclink"><a class="srclink rightside" href="../../src/futures_executor/local_pool.rs.html#117">source</a><h4 class="code-header">pub fn <a href="#method.spawner" class="fnname">spawner</a>(&amp;self) -&gt; <a class="struct" href="struct.LocalSpawner.html" title="struct futures::executor::LocalSpawner">LocalSpawner</a></h4></section></summary><div class="docblock"><p>Get a clonable handle to the pool as a <a href="../task/trait.Spawn.html" title="Spawn"><code>Spawn</code></a>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.run" class="method has-srclink"><a class="srclink rightside" href="../../src/futures_executor/local_pool.rs.html#136">source</a><h4 class="code-header">pub fn <a href="#method.run" class="fnname">run</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Run all tasks in the pool to completion.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>futures::executor::LocalPool;
<span class="kw">let </span><span class="kw-2">mut </span>pool = LocalPool::new();
<span class="comment">// ... spawn some initial tasks using `spawn.spawn()` or `spawn.spawn_local()`
// run *all* tasks in the pool to completion, including any newly-spawned ones.
</span>pool.run();</code></pre></div>
<p>The function will block the calling thread until <em>all</em> tasks in the pool
are complete, including any spawned while running existing tasks.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.run_until" class="method has-srclink"><a class="srclink rightside" href="../../src/futures_executor/local_pool.rs.html#157">source</a><h4 class="code-header">pub fn <a href="#method.run_until" class="fnname">run_until</a>&lt;F&gt;(&amp;mut self, future: F) -&gt; &lt;F as <a class="trait" href="../future/trait.Future.html" title="trait futures::future::Future">Future</a>&gt;::<a class="associatedtype" href="../future/trait.Future.html#associatedtype.Output" title="type futures::future::Future::Output">Output</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="../future/trait.Future.html" title="trait futures::future::Future">Future</a>,</span></h4></section></summary><div class="docblock"><p>Runs all the tasks in the pool until the given future completes.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>futures::executor::LocalPool;
<span class="kw">let </span><span class="kw-2">mut </span>pool = LocalPool::new();
<span class="comment">// run tasks in the pool until `my_app` completes
</span>pool.run_until(my_app);</code></pre></div>
<p>The function will block the calling thread <em>only</em> until the future <code>f</code>
completes; there may still be incomplete tasks in the pool, which will
be inert after the call completes, but can continue with further use of
one of the pool’s run or poll methods. While the function is running,
however, all tasks in the pool will try to make progress.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_run_one" class="method has-srclink"><a class="srclink rightside" href="../../src/futures_executor/local_pool.rs.html#202">source</a><h4 class="code-header">pub fn <a href="#method.try_run_one" class="fnname">try_run_one</a>(&amp;mut self) -&gt; bool</h4></section></summary><div class="docblock"><p>Runs all tasks and returns after completing one future or until no more progress
can be made. Returns <code>true</code> if one future was completed, <code>false</code> otherwise.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>futures::executor::LocalPool;
<span class="kw">use </span>futures::task::LocalSpawnExt;
<span class="kw">use </span>futures::future::{ready, pending};
<span class="kw">let </span><span class="kw-2">mut </span>pool = LocalPool::new();
<span class="kw">let </span>spawner = pool.spawner();
spawner.spawn_local(ready(())).unwrap();
spawner.spawn_local(ready(())).unwrap();
spawner.spawn_local(pending()).unwrap();
<span class="comment">// Run the two ready tasks and return true for them.
</span>pool.try_run_one(); <span class="comment">// returns true after completing one of the ready futures
</span>pool.try_run_one(); <span class="comment">// returns true after completing the other ready future
// the remaining task can not be completed
</span><span class="macro">assert!</span>(!pool.try_run_one()); <span class="comment">// returns false</span></code></pre></div>
<p>This function will not block the calling thread and will return the moment
that there are no tasks left for which progress can be made or after exactly one
task was completed; Remaining incomplete tasks in the pool can continue with
further use of one of the pool’s run or poll methods.
Though only one task will be completed, progress may be made on multiple tasks.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.run_until_stalled" class="method has-srclink"><a class="srclink rightside" href="../../src/futures_executor/local_pool.rs.html#253">source</a><h4 class="code-header">pub fn <a href="#method.run_until_stalled" class="fnname">run_until_stalled</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Runs all tasks in the pool and returns if no more progress can be made
on any task.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>futures::executor::LocalPool;
<span class="kw">use </span>futures::task::LocalSpawnExt;
<span class="kw">use </span>futures::future::{ready, pending};
<span class="kw">let </span><span class="kw-2">mut </span>pool = LocalPool::new();
<span class="kw">let </span>spawner = pool.spawner();
spawner.spawn_local(ready(())).unwrap();
spawner.spawn_local(ready(())).unwrap();
spawner.spawn_local(pending()).unwrap();
<span class="comment">// Runs the two ready task and returns.
// The empty task remains in the pool.
</span>pool.run_until_stalled();</code></pre></div>
<p>This function will not block the calling thread and will return the moment
that there are no tasks left for which progress can be made;
remaining incomplete tasks in the pool can continue with further use of one
of the pool’s run or poll methods. While the function is running, all tasks
in the pool will try to make progress.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-LocalPool" class="impl has-srclink"><a class="srclink rightside" href="../../src/futures_executor/local_pool.rs.html#30">source</a><a href="#impl-Debug-for-LocalPool" class="anchor"></a><h3 class="code-header">impl Debug for <a class="struct" href="struct.LocalPool.html" title="struct futures::executor::LocalPool">LocalPool</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/futures_executor/local_pool.rs.html#30">source</a><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt</a>(&amp;self, f: &amp;mut Formatter&lt;'_&gt;) -&gt; Result&lt;(), Error&gt;</h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Default-for-LocalPool" class="impl has-srclink"><a class="srclink rightside" href="../../src/futures_executor/local_pool.rs.html#303">source</a><a href="#impl-Default-for-LocalPool" class="anchor"></a><h3 class="code-header">impl Default for <a class="struct" href="struct.LocalPool.html" title="struct futures::executor::LocalPool">LocalPool</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.default" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/futures_executor/local_pool.rs.html#304">source</a><a href="#method.default" class="anchor"></a><h4 class="code-header">fn <a class="fnname">default</a>() -&gt; <a class="struct" href="struct.LocalPool.html" title="struct futures::executor::LocalPool">LocalPool</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a>Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-LocalPool" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-LocalPool" class="anchor"></a><h3 class="code-header">impl !RefUnwindSafe for <a class="struct" href="struct.LocalPool.html" title="struct futures::executor::LocalPool">LocalPool</a></h3></section><section id="impl-Send-for-LocalPool" class="impl has-srclink"><a href="#impl-Send-for-LocalPool" class="anchor"></a><h3 class="code-header">impl !Send for <a class="struct" href="struct.LocalPool.html" title="struct futures::executor::LocalPool">LocalPool</a></h3></section><section id="impl-Sync-for-LocalPool" class="impl has-srclink"><a href="#impl-Sync-for-LocalPool" class="anchor"></a><h3 class="code-header">impl !Sync for <a class="struct" href="struct.LocalPool.html" title="struct futures::executor::LocalPool">LocalPool</a></h3></section><section id="impl-Unpin-for-LocalPool" class="impl has-srclink"><a href="#impl-Unpin-for-LocalPool" class="anchor"></a><h3 class="code-header">impl Unpin for <a class="struct" href="struct.LocalPool.html" title="struct futures::executor::LocalPool">LocalPool</a></h3></section><section id="impl-UnwindSafe-for-LocalPool" class="impl has-srclink"><a href="#impl-UnwindSafe-for-LocalPool" class="anchor"></a><h3 class="code-header">impl !UnwindSafe for <a class="struct" href="struct.LocalPool.html" title="struct futures::executor::LocalPool">LocalPool</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-LocalPool" class="impl has-srclink"><a href="#impl-Any-for-LocalPool" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Any for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?Sized,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a class="fnname">type_id</a>(&amp;self) -&gt; TypeId</h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-LocalPool" class="impl has-srclink"><a href="#impl-Borrow%3CT%3E-for-LocalPool" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Borrow&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?Sized,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a class="fnname">borrow</a>(&amp;self) -&gt; &amp;T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-LocalPool" class="impl has-srclink"><a href="#impl-BorrowMut%3CT%3E-for-LocalPool" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; BorrowMut&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?Sized,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">borrow_mut</a>(&amp;mut self) -&gt; &amp;mut T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-LocalPool" class="impl has-srclink"><a href="#impl-From%3CT%3E-for-LocalPool" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; From&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a class="fnname">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-LocalPool" class="impl has-srclink"><a href="#impl-Into%3CU%3E-for-LocalPool" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; Into&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: From&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span><a href="#method.into" class="anchor"></a><h4 class="code-header">fn <a class="fnname">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code>[From]&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-LocalPool" class="impl has-srclink"><a href="#impl-TryFrom%3CU%3E-for-LocalPool" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; TryFrom&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: Into&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Error</a> = Infallible</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span><a href="#method.try_from" class="anchor"></a><h4 class="code-header">fn <a class="fnname">try_from</a>(value: U) -&gt; Result&lt;T, &lt;T as TryFrom&lt;U&gt;&gt;::Error&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-LocalPool" class="impl has-srclink"><a href="#impl-TryInto%3CU%3E-for-LocalPool" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; TryInto&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: TryFrom&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Error</a> = &lt;U as TryFrom&lt;T&gt;&gt;::Error</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span><a href="#method.try_into" class="anchor"></a><h4 class="code-header">fn <a class="fnname">try_into</a>(self) -&gt; Result&lt;U, &lt;U as TryFrom&lt;T&gt;&gt;::Error&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="futures" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html>