<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `ThreadPool` struct in crate `rayon`."><metaname="keywords"content="rust, rustlang, rust-lang, ThreadPool"><title>rayon::ThreadPool - Rust</title><linkrel="stylesheet"type="text/css"href="../normalize.css"><linkrel="stylesheet"type="text/css"href="../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../dark.css"><linkrel="stylesheet"type="text/css"href="../light.css"id="themeStyle"><scriptsrc="../storage.js"></script><noscript><linkrel="stylesheet"href="../noscript.css"></noscript><linkrel="shortcut icon"href="../favicon.ico"><styletype="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><bodyclass="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu">☰</div><ahref='../rayon/index.html'><divclass='logo-container'><imgsrc='../rust-logo.png'alt='logo'></div></a><pclass='location'>Struct ThreadPool</p><divclass="sidebar-elems"><divclass="block items"><aclass="sidebar-title"href="#methods">Methods</a><divclass="sidebar-links"><ahref="#method.current_num_threads">current_num_threads</a><ahref="#method.current_thread_has_pending_tasks">current_thread_has_pending_tasks</a><ahref="#method.current_thread_index">current_thread_index</a><ahref="#method.install">install</a><ahref="#method.join">join</a><ahref="#method.new">new</a><ahref="#method.scope">scope</a><ahref="#method.scope_fifo">scope_fifo</a><ahref="#method.spawn">spawn</a><ahref="#method.spawn_fifo">spawn_fifo</a></div><aclass="sidebar-title"href="#implementations">Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-Debug">Debug</a><ahref="#impl-Drop">Drop</a></div><aclass="sidebar-title"href="#synthetic-implementations">Auto Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-RefUnwindSafe">!RefUnwindSafe</a><ahref="#impl-Send">Send</a><ahref="#impl-Sync">Sync</a><ahref="#impl-Unpin">Unpin</a><ahref="#impl-UnwindSafe">!UnwindSafe</a></div><aclass="sidebar-title"href="#blanket-implementations">Blanket Implementations</a><divclass="sidebar-links"><ahref="#impl-Any">Any</a><ahref="#impl-Borrow%3CT%3E">Borrow<T></a><ahref="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><ahref="#impl-From%3CT%3E">From<T></a><ahref="#impl-Into%3CU%3E">Into<U></a><ahref="#impl-TryFrom%3CU%3E">TryFrom<U></a><ahref="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><pclass='location'><ahref='index.html'>rayon</a></p><script>window.sidebarCurrent={name:'ThreadPool',ty:'struct',relpath:''};</script><scriptdefersrc="sidebar-items.js"></script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"><imgsrc="../brush.svg"width="18"alt="Pick another theme!"></button><divid="theme-choices"></div></div><scriptsrc="../theme.js"></script><navclass="sub"><formclass="search-form js-only"><divclass="search-container"><div><selectid="crate-search"><optionvalue="All crates">All crates</option></select><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"></div><aid="settings-menu"href="../settings.html"><imgsrc="../wheel.svg"width="18"alt="Change settings"></a></div></form></nav><sectionid="main"class="content"><h1class='fqn'><spanclass='out-of-band'><spanid='render-detail'><aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass='inner'>−</span>]</a></span><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#52-54'title='goto source code'>[src]</a></span><spanclass='in-band'>Struct <ahref='index.html'>rayon</a>::<wbr><acla
<p>Use a <ahref="struct.ThreadPoolBuilder.html"><code>ThreadPoolBuilder</code></a> to specify the number and/or names of threads
in the pool. After calling <ahref="struct.ThreadPoolBuilder.html#method.build"><code>ThreadPoolBuilder::build()</code></a>, you can then
execute functions explicitly within this <ahref="struct.ThreadPool.html"><code>ThreadPool</code></a> using
<ahref="struct.ThreadPool.html#method.install"><code>ThreadPool::install()</code></a>. By contrast, top level rayon functions
(like <code>join()</code>) will execute implicitly within the current thread-pool.</p>
<h2id="creating-a-threadpool"class="section-header"><ahref="#creating-a-threadpool">Creating a ThreadPool</a></h2>
</div></div><divclass='docblock'><p>Deprecated in favor of <code>ThreadPoolBuilder::build</code>.</p>
</div><h4id='method.install'class="method"><codeid='install.v'>pub fn <ahref='#method.install'class='fnname'>install</a><OP, R>(&self, op: OP) -> R <spanclass="where fmt-newline">where<br> OP: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html"title="trait core::ops::function::FnOnce">FnOnce</a>() -> R + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a>,<br> R: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a>, </span></code><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#127-133'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Executes <code>op</code> within the threadpool. Any attempts to use
<code>join</code>, <code>scope</code>, or parallel iterators will then operate
</div><h4id='method.current_num_threads'class="method"><codeid='current_num_threads.v'>pub fn <ahref='#method.current_num_threads'class='fnname'>current_num_threads</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#147-149'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Returns the (current) number of threads in the thread pool.</p>
<p>Note that unless this thread-pool was created with a
<ahref="struct.ThreadPoolBuilder.html"><code>ThreadPoolBuilder</code></a> that specifies the number of threads,
then this number may vary over time in future versions (see <ahref="struct.ThreadPoolBuilder.html#method.num_threads">the
<code>num_threads()</code> method for details</a>).</p>
</div><h4id='method.current_thread_index'class="method"><codeid='current_thread_index.v'>pub fn <ahref='#method.current_thread_index'class='fnname'>current_thread_index</a>(&self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>></code><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#172-175'title='goto source code'>[src]</a></h4><divclass='docblock'><p>If called from a Rayon worker thread in this thread-pool,
returns the index of that thread; if not called from a Rayon
thread, or called from a Rayon thread that belongs to a
different thread-pool, returns <code>None</code>.</p>
<p>The index for a given thread will not change over the thread's
lifetime. However, multiple threads may share the same index if
<p>Currently, every thread-pool (including the global
thread-pool) has a fixed number of threads, but this may
change in future Rayon versions (see <ahref="struct.ThreadPoolBuilder.html#method.num_threads">the <code>num_threads()</code> method
for details</a>). In that case, the index for a
thread would not change during its lifetime, but thread
indices may wind up being reused if threads are terminated and
restarted.</p>
</div><h4id='method.current_thread_has_pending_tasks'class="method"><codeid='current_thread_has_pending_tasks.v'>pub fn <ahref='#method.current_thread_has_pending_tasks'class='fnname'>current_thread_has_pending_tasks</a>(&self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>></code><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#199-202'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Returns true if the current worker thread currently has "local
tasks" pending. This can be useful as part of a heuristic for
deciding whether to spawn a new task or execute code on the
current thread, particularly in breadth-first
schedulers. However, keep in mind that this is an inherently
racy check, as other worker threads may be actively "stealing"
tasks from our local deque.</p>
<p><strong>Background:</strong> Rayon's uses a <ahref="https://en.wikipedia.org/wiki/Work_stealing">work-stealing</a> scheduler. The
key idea is that each thread has its own <ahref="https://en.wikipedia.org/wiki/Double-ended_queue">deque</a> of
tasks. Whenever a new task is spawned -- whether through
<code>join()</code>, <code>Scope::spawn()</code>, or some other means -- that new
task is pushed onto the thread's <em>local</em> deque. Worker threads
have a preference for executing their own tasks; if however
they run out of tasks, they will go try to "steal" tasks from
other threads. This function therefore has an inherent race
with other active worker threads, which may be removing items
from the local deque.</p>
</div><h4id='method.join'class="method"><codeid='join.v'>pub fn <ahref='#method.join'class='fnname'>join</a><A, B, RA, RB>(&self, oper_a: A, oper_b: B) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>RA, RB<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a><spanclass="where fmt-newline">where<br> A: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html"title="trait core::ops::function::FnOnce">FnOnce</a>() -> RA + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a>,<br> B: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html"title="trait core::ops::function::FnOnce">FnOnce</a>() -> RB + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a>,<br> RA: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a>,<br> RB: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a>, </span></code><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#207-215'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Execute <code>oper_a</code> and <code>oper_b</code> in the thread-pool and return
the results. Equivalent to <code>self.install(|| join(oper_a, oper_b))</code>.</p>
</div><h4id='method.scope'class="method"><codeid='scope.v'>pub fn <ahref='#method.scope'class='fnname'>scope</a><'scope, OP, R>(&self, op: OP) -> R <spanclass="where fmt-newline">where<br> OP: for<'s><aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html"title="trait core::ops::function::FnOnce">FnOnce</a>(&'s <aclass="struct"href="../rayon/struct.Scope.html"title="struct rayon::Scope">Scope</a><'scope>) -> R + 'scope + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a>,<br> R: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a>, </span></code><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#223-229'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Creates a scope that executes within this thread-pool.
Equivalent to <code>self.install(|| scope(...))</code>.</p>
</div><h4id='method.spawn'class="method"><codeid='spawn.v'>pub fn <ahref='#method.spawn'class='fnname'>spawn</a><OP>(&self, op: OP) <spanclass="where fmt-newline">where<br> OP: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html"title="trait core::ops::function::FnOnce">FnOnce</a>() + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a> + 'static, </span></code><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#254-260'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Spawns an asynchronous task in this thread-pool. This task will
run in the implicit, global scope, which means that it may outlast
the current stack frame -- therefore, it cannot capture any references
onto the stack (you will likely need a <code>move</code> closure).</p>
<p>See also: <ahref="struct.Scope.html#method.spawn">the <code>spawn()</code> function defined on scopes</a>.</p>
</div><h4id='method.spawn_fifo'class="method"><codeid='spawn_fifo.v'>pub fn <ahref='#method.spawn_fifo'class='fnname'>spawn_fifo</a><OP>(&self, op: OP) <spanclass="where fmt-newline">where<br> OP: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html"title="trait core::ops::function::FnOnce">FnOnce</a>() + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a> + 'static, </span></code><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#270-276'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Spawns an asynchronous task in this thread-pool. This task will
run in the implicit, global scope, which means that it may outlast
the current stack frame -- therefore, it cannot capture any references
onto the stack (you will likely need a <code>move</code> closure).</p>
<p>See also: <ahref="struct.ScopeFifo.html#method.spawn_fifo">the <code>spawn_fifo()</code> function defined on scopes</a>.</p>
</div></div><h2id='implementations'class='small-section-header'>Trait Implementations<ahref='#implementations'class='anchor'></a></h2><divid='implementations-list'><h3id='impl-Debug'class='impl'><codeclass='in-band'>impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html"title="trait core::fmt::Debug">Debug</a> for <aclass="struct"href="../rayon/struct.ThreadPool.html"title="struct rayon::ThreadPool">ThreadPool</a></code><ahref='#impl-Debug'class='anchor'></a><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#285-292'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.fmt'class="method hidden"><codeid='fmt.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt'class='fnname'>fmt</a>(&self, fmt: &mut <aclass="struct"href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html"title="struct core::fmt::Formatter">Formatter</a>) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <aclass="struct"href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html"title="struct core::fmt::Error">Error</a>></code><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#286-291'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Formats the value using the given formatter. <ahref="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></div><h3id='impl-Drop'class='impl'><codeclass='in-band'>impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html"title="trait core::ops::drop::Drop">Drop</a> for <aclass="struct"href="../rayon/struct.ThreadPool.html"title="struct rayon::ThreadPool">ThreadPool</a></code><ahref='#impl-Drop'class='anchor'></a><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#279-283'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.drop'class="method hidden"><codeid='drop.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop'class='fnname'>drop</a>(&mut self)</code><aclass='srclink'href='../src/rayon_core/thread_pool/mod.rs.html#280-282'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Executes the destructor for this type. <ahref="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
</div></div></div><h2id='synthetic-implementations'class='small-section-header'>Auto Trait Implementations<ahref='#synthetic-implementations'class='anchor'></a></h2><divid='synthetic-implementations-list'><h3id='impl-Sync'class='impl'><codeclass='in-band'>impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html"title="trait core::marker::Sync">Sync</a> for <aclass="struct"href="../rayon/struct.ThreadPool.html"title="struct rayon::ThreadPool">ThreadPool</a></code><ahref='#impl-Sync'class='anchor'></a></h3><divclass='impl-items'></div><h3id='impl-Send'class='impl'><codeclass='in-band'>impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a> for <aclass="struct"href="../rayon/struct.ThreadPool.html"title="struct rayon::ThreadPool">ThreadPool</a></code><ahref='#impl-Send'class='anchor'></a></h3><divclass='impl-items'></div><h3id='impl-Unpin'class='impl'><codeclass='in-band'>impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a> for <aclass="struct"href="../rayon/struct.ThreadPool.html"title="struct rayon::ThreadPool">ThreadPool</a></code><ahref='#impl-Unpin'class='anchor'></a></h3><divclass='impl-items'></div><h3id='impl-RefUnwindSafe'class='impl'><codeclass='in-band'>impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html"title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <aclass="struct"href="../rayon/struct.ThreadPool.html"title="struct rayon::ThreadPool">ThreadPool</a></code><ahref='#impl-RefUnwindSafe'class='anchor'></a></h3><divclass='impl-items'></div><h3id='impl-UnwindSafe'class='impl'><codeclass='in-band'>impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html"title="trait std::panic::UnwindSafe">UnwindSafe</a> for <aclass="struct"href="../rayon/struct.ThreadPool.html"title="struct rayon::ThreadPool">ThreadPool</a></code><ahref='#impl-UnwindSafe'class='anchor'></a></h3><divclass='impl-items'></div></div><h2id='blanket-implementations'class='small-section-header'>Blanket Implementations<ahref='#blanket-implementations'class='anchor'></a></h2><divid='blanket-implementations-list'><h3id='impl-Into%3CU%3E'class='impl'><codeclass='in-band'>impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T>, </span></code><ahref='#impl-Into%3CU%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#543-548'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.into'class="method hidden"><codeid='into.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into'class='fnname'>into</a>(self) -> U</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#545-547'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id='impl-From%3CT%3E'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</code><ahref='#impl-From%3CT%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#552-554'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.from'class="method hidden"><codeid='from.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from'class='fnname'>from</a>(t: T) -> T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#553'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id='impl-TryFrom%3CU%3E'class='impl'><codeclass='in-band'>impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>, </span></code><ahref='#impl-TryFrom%3CU%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#571-577'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedtype.Error'class="type"><codeid='Error.t'>type <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error'class="type">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id='method.try_from'class="method hidden"><codeid='try_from.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from'class='fnname'>try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#574-576'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id='impl-TryInto%3CU%3E'class='impl'><codeclass='in-band'>impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><ahref='#impl-TryInto%3CU%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#559-566'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedtype.Error-1'class="type"><codeid='Error.t-1'>type <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error'class="type">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id='method.try_into'class="method hidden"><codeid='try_into.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into'class='fnname'>try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#563-565'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id='impl-BorrowMut%3CT%3E'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-BorrowMut%3CT%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.borrow_mut'class="method hidden"><codeid='borrow_mut.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut'class='fnname'>borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3id='impl-Borrow%3CT%3E'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-Borrow%3CT%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-215'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.borrow'class="method hidden"><codeid='borrow.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow'class='fnname'>borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3id='impl-Any'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html"title="trait core::any::Any">Any</a> for T <spanclass="where fmt-newline">where<br> T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-Any'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#100-102'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.type_id'class="method hidden"><codeid='type_id.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id'class='fnname'>type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#101'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div></div></section><sectionid="search"class="content hidden"></section><sectionclass="footer"></section><asideid="help"class="hidden"><div><h1class="hidden">Help</h1><divclass="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd>↑</kbd></dt><dd>Move up in search results</dd><dt><kbd>↓</kbd></dt><dd>Move down in search results</dd><dt><kbd>↹</kbd></dt><dd>Switch tab</dd><dt><kbd>⏎</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><divclass="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath="../";window.currentCrate="rayon";</script><scriptsrc="../aliases.js"></script><scriptsrc="../main.js"></script><scriptdefersrc="../search-index.js"></script></body></html>