blob: b276d6c5a160ba59cd33513dd2958e3ec9712dbb [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="API documentation for the Rust `Receiver` struct in crate `oneshot`."><meta name="keywords" content="rust, rustlang, rust-lang, Receiver"><title>Receiver in oneshot - 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="../oneshot/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="../oneshot/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Receiver</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.recv">recv</a></li><li><a href="#method.recv_deadline">recv_deadline</a></li><li><a href="#method.recv_ref">recv_ref</a></li><li><a href="#method.recv_timeout">recv_timeout</a></li><li><a href="#method.try_recv">try_recv</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Debug-for-Receiver%3CT%3E">Debug</a></li><li><a href="#impl-Drop-for-Receiver%3CT%3E">Drop</a></li><li><a href="#impl-Future-for-Receiver%3CT%3E">Future</a></li><li><a href="#impl-Send-for-Receiver%3CT%3E">Send</a></li><li><a href="#impl-Unpin-for-Receiver%3CT%3E">Unpin</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Receiver%3CT%3E">!RefUnwindSafe</a></li><li><a href="#impl-Sync-for-Receiver%3CT%3E">!Sync</a></li><li><a href="#impl-UnwindSafe-for-Receiver%3CT%3E">!UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Receiver%3CT%3E">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Receiver%3CT%3E">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Receiver%3CT%3E">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Receiver%3CT%3E">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Receiver%3CT%3E">Into&lt;U&gt;</a></li><li><a href="#impl-IntoFuture-for-Receiver%3CT%3E">IntoFuture</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Receiver%3CT%3E">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Receiver%3CT%3E">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In oneshot</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">oneshot</a>::<wbr><a class="struct" href="#">Receiver</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/oneshot/lib.rs.html#223-227">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 Receiver&lt;T&gt; { /* private fields */ }</code></pre></div><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-Receiver%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#370-819">source</a><a href="#impl-Receiver%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="struct.Receiver.html" title="struct oneshot::Receiver">Receiver</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_recv" class="method has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#384-406">source</a><h4 class="code-header">pub fn <a href="#method.try_recv" class="fnname">try_recv</a>(&amp;self) -&gt; Result&lt;T, <a class="enum" href="enum.TryRecvError.html" title="enum oneshot::TryRecvError">TryRecvError</a>&gt;</h4></section></summary><div class="docblock"><p>Checks if there is a message in the channel without blocking. Returns:</p>
<ul>
<li><code>Ok(message)</code> if there was a message in the channel.</li>
<li><code>Err(Empty)</code> if the <a href="struct.Sender.html" title="Sender"><code>Sender</code></a> is alive, but has not yet sent a message.</li>
<li><code>Err(Disconnected)</code> if the <a href="struct.Sender.html" title="Sender"><code>Sender</code></a> was dropped before sending anything or if the
message has already been extracted by a previous receive call.</li>
</ul>
<p>If a message is returned, the channel is disconnected and any subsequent receive operation
using this receiver will return an error.</p>
<p>This method is completely lock-free and wait-free. The only thing it does is an atomic
integer load of the channel state. And if there is a message in the channel it additionally
performs one atomic integer store and copies the message from the heap to the stack for
returning it.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.recv" class="method has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#426-559">source</a><h4 class="code-header">pub fn <a href="#method.recv" class="fnname">recv</a>(self) -&gt; Result&lt;T, <a class="struct" href="struct.RecvError.html" title="struct oneshot::RecvError">RecvError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to wait for a message from the <a href="struct.Sender.html" title="Sender"><code>Sender</code></a>, returning an error if the channel is
disconnected.</p>
<p>This method will always block the current thread if there is no data available and it is
still possible for the message to be sent. Once the message is sent to the corresponding
<a href="struct.Sender.html" title="Sender"><code>Sender</code></a>, then this receiver will wake up and return that message.</p>
<p>If the corresponding <a href="struct.Sender.html" title="Sender"><code>Sender</code></a> has disconnected (been dropped), or it disconnects while
this call is blocking, this call will wake up and return <code>Err</code> to indicate that the message
can never be received on this channel.</p>
<p>If a sent message has already been extracted from this channel this method will return an
error.</p>
<h5 id="panics"><a href="#panics">Panics</a></h5>
<p>Panics if called after this receiver has been polled asynchronously.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.recv_ref" class="method has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#572-597">source</a><h4 class="code-header">pub fn <a href="#method.recv_ref" class="fnname">recv_ref</a>(&amp;self) -&gt; Result&lt;T, <a class="struct" href="struct.RecvError.html" title="struct oneshot::RecvError">RecvError</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to wait for a message from the <a href="struct.Sender.html" title="Sender"><code>Sender</code></a>, returning an error if the channel is
disconnected. This is a non consuming version of <a href="struct.Receiver.html#method.recv" title="Receiver::recv"><code>Receiver::recv</code></a>, but with a bit
worse performance. Prefer <code>[</code>Receiver::recv<code>]</code> if your code allows consuming the receiver.</p>
<p>If a message is returned, the channel is disconnected and any subsequent receive operation
using this receiver will return an error.</p>
<h5 id="panics-1"><a href="#panics-1">Panics</a></h5>
<p>Panics if called after this receiver has been polled asynchronously.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.recv_timeout" class="method has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#615-620">source</a><h4 class="code-header">pub fn <a href="#method.recv_timeout" class="fnname">recv_timeout</a>(&amp;self, timeout: Duration) -&gt; Result&lt;T, <a class="enum" href="enum.RecvTimeoutError.html" title="enum oneshot::RecvTimeoutError">RecvTimeoutError</a>&gt;</h4></section></summary><div class="docblock"><p>Like <a href="struct.Receiver.html#method.recv" title="Receiver::recv"><code>Receiver::recv</code></a>, but will not block longer than <code>timeout</code>. Returns:</p>
<ul>
<li><code>Ok(message)</code> if there was a message in the channel before the timeout was reached.</li>
<li><code>Err(Timeout)</code> if no message arrived on the channel before the timeout was reached.</li>
<li><code>Err(Disconnected)</code> if the sender was dropped before sending anything or if the message
has already been extracted by a previous receive call.</li>
</ul>
<p>If a message is returned, the channel is disconnected and any subsequent receive operation
using this receiver will return an error.</p>
<p>If the supplied <code>timeout</code> is so large that Rust’s <code>Instant</code> type can’t represent this point
in the future this falls back to an indefinitely blocking receive operation.</p>
<h5 id="panics-2"><a href="#panics-2">Panics</a></h5>
<p>Panics if called after this receiver has been polled asynchronously.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.recv_deadline" class="method has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#635-730">source</a><h4 class="code-header">pub fn <a href="#method.recv_deadline" class="fnname">recv_deadline</a>(&amp;self, deadline: Instant) -&gt; Result&lt;T, <a class="enum" href="enum.RecvTimeoutError.html" title="enum oneshot::RecvTimeoutError">RecvTimeoutError</a>&gt;</h4></section></summary><div class="docblock"><p>Like <a href="struct.Receiver.html#method.recv" title="Receiver::recv"><code>Receiver::recv</code></a>, but will not block longer than until <code>deadline</code>. Returns:</p>
<ul>
<li><code>Ok(message)</code> if there was a message in the channel before the deadline was reached.</li>
<li><code>Err(Timeout)</code> if no message arrived on the channel before the deadline was reached.</li>
<li><code>Err(Disconnected)</code> if the sender was dropped before sending anything or if the message
has already been extracted by a previous receive call.</li>
</ul>
<p>If a message is returned, the channel is disconnected and any subsequent receive operation
using this receiver will return an error.</p>
<h5 id="panics-3"><a href="#panics-3">Panics</a></h5>
<p>Panics if called after this receiver has been polled asynchronously.</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-Receiver%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#222">source</a><a href="#impl-Debug-for-Receiver%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Debug&gt; Debug for <a class="struct" href="struct.Receiver.html" title="struct oneshot::Receiver">Receiver</a>&lt;T&gt;</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/oneshot/lib.rs.html#222">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</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-Drop-for-Receiver%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#915-947">source</a><a href="#impl-Drop-for-Receiver%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Drop for <a class="struct" href="struct.Receiver.html" title="struct oneshot::Receiver">Receiver</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#916-946">source</a><a href="#method.drop" class="anchor"></a><h4 class="code-header">fn <a class="fnname">drop</a>(&amp;mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Future-for-Receiver%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#822-913">source</a><a href="#impl-Future-for-Receiver%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Future for <a class="struct" href="struct.Receiver.html" title="struct oneshot::Receiver">Receiver</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = Result&lt;T, <a class="struct" href="struct.RecvError.html" title="struct oneshot::RecvError">RecvError</a>&gt;</h4></section></summary><div class='docblock'>The type of value produced on completion.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.poll" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#825-912">source</a><a href="#method.poll" class="anchor"></a><h4 class="code-header">fn <a class="fnname">poll</a>(self: Pin&lt;&amp;mut Self&gt;, cx: &amp;mut Context&lt;'_&gt;) -&gt; Poll&lt;Self::Output&gt;</h4></section></summary><div class='docblock'>Attempt to resolve the future to a final value, registering
the current task for wakeup if the value is not yet available. <a>Read more</a></div></details></div></details><section id="impl-Send-for-Receiver%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#230">source</a><a href="#impl-Send-for-Receiver%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Send&gt; Send for <a class="struct" href="struct.Receiver.html" title="struct oneshot::Receiver">Receiver</a>&lt;T&gt;</h3></section><section id="impl-Unpin-for-Receiver%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../src/oneshot/lib.rs.html#231">source</a><a href="#impl-Unpin-for-Receiver%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Unpin for <a class="struct" href="struct.Receiver.html" title="struct oneshot::Receiver">Receiver</a>&lt;T&gt;</h3></section></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-Receiver%3CT%3E" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Receiver%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; !RefUnwindSafe for <a class="struct" href="struct.Receiver.html" title="struct oneshot::Receiver">Receiver</a>&lt;T&gt;</h3></section><section id="impl-Sync-for-Receiver%3CT%3E" class="impl has-srclink"><a href="#impl-Sync-for-Receiver%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; !Sync for <a class="struct" href="struct.Receiver.html" title="struct oneshot::Receiver">Receiver</a>&lt;T&gt;</h3></section><section id="impl-UnwindSafe-for-Receiver%3CT%3E" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Receiver%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; !UnwindSafe for <a class="struct" href="struct.Receiver.html" title="struct oneshot::Receiver">Receiver</a>&lt;T&gt;</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-Receiver%3CT%3E" class="impl has-srclink"><a href="#impl-Any-for-Receiver%3CT%3E" 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-Receiver%3CT%3E" class="impl has-srclink"><a href="#impl-Borrow%3CT%3E-for-Receiver%3CT%3E" 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-Receiver%3CT%3E" class="impl has-srclink"><a href="#impl-BorrowMut%3CT%3E-for-Receiver%3CT%3E" 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-Receiver%3CT%3E" class="impl has-srclink"><a href="#impl-From%3CT%3E-for-Receiver%3CT%3E" 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-Receiver%3CT%3E" class="impl has-srclink"><a href="#impl-Into%3CU%3E-for-Receiver%3CT%3E" 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-IntoFuture-for-Receiver%3CT%3E" class="impl has-srclink"><a href="#impl-IntoFuture-for-Receiver%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;F&gt; IntoFuture for F<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: Future,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-1" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = &lt;F as Future&gt;::Output</h4></section></summary><div class='docblock'>The output that the future will produce on completion.</div></details><details class="rustdoc-toggle" open><summary><section id="associatedtype.IntoFuture" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.IntoFuture" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">IntoFuture</a> = F</h4></section></summary><div class='docblock'>Which kind of future are we turning this into?</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into_future" class="method trait-impl has-srclink"><a href="#method.into_future" class="anchor"></a><h4 class="code-header">fn <a class="fnname">into_future</a>(self) -&gt; &lt;F as IntoFuture&gt;::IntoFuture</h4></section></summary><div class='docblock'>Creates a future from a value. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Receiver%3CT%3E" class="impl has-srclink"><a href="#impl-TryFrom%3CU%3E-for-Receiver%3CT%3E" 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-Receiver%3CT%3E" class="impl has-srclink"><a href="#impl-TryInto%3CU%3E-for-Receiver%3CT%3E" 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="oneshot" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html>