<!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 `ReseedingRng` struct in crate `rand`."><metaname="keywords"content="rust, rustlang, rust-lang, ReseedingRng"><title>rand::rngs::adapter::ReseedingRng - 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="https://www.rust-lang.org/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='../../../rand/index.html'><divclass='logo-container'><imgsrc='https://www.rust-lang.org/logos/rust-logo-128x128-blk.png'alt='logo'></div></a><pclass='location'>Struct ReseedingRng</p><divclass="sidebar-elems"><divclass="block items"><aclass="sidebar-title"href="#methods">Methods</a><divclass="sidebar-links"><ahref="#method.new">new</a><ahref="#method.reseed">reseed</a></div><aclass="sidebar-title"href="#implementations">Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-Clone">Clone</a><ahref="#impl-CryptoRng">CryptoRng</a><ahref="#impl-Debug">Debug</a><ahref="#impl-RngCore">RngCore</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-Rng">Rng</a><ahref="#impl-ToOwned">ToOwned</a><ahref="#impl-TryFrom%3CU%3E">TryFrom<U></a><ahref="#impl-TryInto%3CU%3E">TryInto<U></a><ahref="#impl-VZip%3CV%3E">VZip<V></a></div></div><pclass='location'><ahref='../../index.html'>rand</a>::<wbr><ahref='../index.html'>rngs</a>::<wbr><ahref='index.html'>adapter</a></p><script>window.sidebarCurrent={name:'ReseedingRng',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/rand/rngs/adapter/reseeding.rs.html#79-81'title='goto source code'>[src]</a></span><spanclass='in-band'>Struct <ahref='.
ability to reseed it.</p>
<p><code>ReseedingRng</code> reseeds the underlying PRNG in the following cases:</p>
<ul>
<li>On a manual call to <ahref="../../../rand/rngs/adapter/struct.ReseedingRng.html#method.reseed"><code>reseed()</code></a>.</li>
<li>After <code>clone()</code>, the clone will be reseeded on first use.</li>
<li>After a process is forked, the RNG in the child process is reseeded within
the next few generated values, depending on the block size of the
underlying PRNG. For ChaCha and Hc128 this is a maximum of
15 <code>u32</code> values before reseeding.</li>
<li>After the PRNG has generated a configurable number of random bytes.</li>
</ul>
<h1id="when-should-reseeding-after-a-fixed-number-of-generated-bytes-be-used"class="section-header"><ahref="#when-should-reseeding-after-a-fixed-number-of-generated-bytes-be-used">When should reseeding after a fixed number of generated bytes be used?</a></h1>
<p>Reseeding after a fixed number of generated bytes is never strictly
<em>necessary</em>. Cryptographic PRNGs don't have a limited number of bytes they
can output, or at least not a limit reachable in any practical way. There is
no such thing as 'running out of entropy'.</p>
<p>Occasionally reseeding can be seen as some form of 'security in depth'. Even
if in the future a cryptographic weakness is found in the CSPRNG being used,
or a flaw in the implementation, occasionally reseeding should make
exploiting it much more difficult or even impossible.</p>
<p>Use <ahref="../../../rand/rngs/adapter/struct.ReseedingRng.html#method.new"><code>ReseedingRng::new</code></a> with a <code>threshold</code> of <code>0</code> to disable reseeding
<p>Although unlikely, reseeding the wrapped PRNG can fail. <code>ReseedingRng</code> will
never panic but try to handle the error intelligently through some
combination of retrying and delaying reseeding until later.
If handling the source error fails <code>ReseedingRng</code> will continue generating
data from the wrapped PRNG without reseeding.</p>
<p>Manually calling <ahref="../../../rand/rngs/adapter/struct.ReseedingRng.html#method.reseed"><code>reseed()</code></a> will not have this retry or delay logic, but
<spanclass="kw">use</span><spanclass="ident">rand_chacha</span>::<spanclass="ident">ChaCha20Core</span>; <spanclass="comment">// Internal part of ChaChaRng that</span>
</div><h4id='method.next_u64'class="method hidden"><codeid='next_u64.v'>fn <ahref='../../../rand/trait.RngCore.html#tymethod.next_u64'class='fnname'>next_u64</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></code><aclass='srclink'href='../../../src/rand/rngs/adapter/reseeding.rs.html#115-117'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Return the next random <code>u64</code>. <ahref="../../../rand/trait.RngCore.html#tymethod.next_u64">Read more</a></p>
</div><h4id='method.fill_bytes'class="method hidden"><codeid='fill_bytes.v'>fn <ahref='../../../rand/trait.RngCore.html#tymethod.fill_bytes'class='fnname'>fill_bytes</a>(&mut self, dest: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&mut [</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>)</code><aclass='srclink'href='../../../src/rand/rngs/adapter/reseeding.rs.html#119-121'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Fill <code>dest</code> with random data. <ahref="../../../rand/trait.RngCore.html#tymethod.fill_bytes">Read more</a></p>
</div><h4id='method.gen_range'class="method hidden"><codeid='gen_range.v'>fn <ahref='../../../rand/trait.Rng.html#method.gen_range'class='fnname'>gen_range</a><T: <aclass="trait"href="../../../rand/distributions/uniform/trait.SampleUniform.html"title="trait rand::distributions::uniform::SampleUniform">SampleUniform</a>, B1, B2>(&mut self, low: B1, high: B2) -> T <spanclass="where fmt-newline">where<br> B1: <aclass="trait"href="../../../rand/distributions/uniform/trait.SampleBorrow.html"title="trait rand::distributions::uniform::SampleBorrow">SampleBorrow</a><T> + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,<br> B2: <aclass="trait"href="../../../rand/distributions/uniform/trait.SampleBorrow.html"title="trait rand::distributions::uniform::SampleBorrow">SampleBorrow</a><T> + <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><aclass='srclink'href='../../../src/rand/lib.rs.html#213-219'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Generate a random value in the range [<code>low</code>, <code>high</code>), i.e. inclusive of <code>low</code> and exclusive of <code>high</code>. <ahref="../../../rand/trait.Rng.html#method.gen_range">Read more</a></p>
</div><h4id='method.sample'class="method hidden"><codeid='sample.v'>fn <ahref='../../../rand/trait.Rng.html#method.sample'class='fnname'>sample</a><T, D: <aclass="trait"href="../../../rand/distributions/trait.Distribution.html"title="trait rand::distributions::Distribution">Distribution</a><T>>(&mut self, distr: D) -> T</code><aclass='srclink'href='../../../src/rand/lib.rs.html#235-237'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Sample a new value, using the given distribution. <ahref="../../../rand/trait.Rng.html#method.sample">Read more</a></p>
</div><h4id='method.sample_iter'class="method hidden"><divclass="important-traits"><divclass='tooltip'>ⓘ<spanclass='tooltiptext'>Important traits for <aclass="struct"href="../../../rand/distributions/struct.DistIter.html"title="struct rand::distributions::DistIter">DistIter</a><D, R, T></span></div><divclass="content hidden"><h3class="important">Important traits for <aclass="struct"href="../../../rand/distributions/struct.DistIter.html"title="struct rand::distributions::DistIter">DistIter</a><D, R, T></h3><codeclass="content"><spanclass="where fmt-newline">impl<D, R, T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <aclass="struct"href="../../../rand/distributions/struct.DistIter.html"title="struct rand::distributions::DistIter">DistIter</a><D, R, T><spanclass="where fmt-newline">where<br> D: <aclass="trait"href="../../../rand/distributions/trait.Distribution.html"title="trait rand::distributions::Distribution">Distribution</a><T>,<br> R: <aclass="trait"href="../../../rand/trait.Rng.html"title="trait rand::Rng">Rng</a>, </span></span><spanclass="where fmt-newline"> type <ahref='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item'class="type">Item</a> = T;</span></code></div></div><codeid='sample_iter.v'>fn <ahref='../../../rand/trait.Rng.html#method.sample_iter'class='fnname'>sample_iter</a><T, D>(self, distr: D) -><aclass="struct"href="../../../rand/distributions/struct.DistIter.html"title="struct rand::distributions::DistIter">DistIter</a><D, Self, T><spanclass="where fmt-newline">where<br> D: <aclass="trait"href="../../../rand/distributions/trait.Distribution.html"title="trait rand::distributions::Distribution">Distribution</a><T>,<br> Self: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><aclass='srclink'href='../../../src/rand/lib.rs.html#272-275'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Create an iterator that generates values using the given distribution. <ahref="../../../rand/trait.Rng.html#method.sample_iter">Read more</a></p>
</div><h4id='method.fill'class="method hidden"><codeid='fill.v'>fn <ahref='../../../rand/trait.Rng.html#method.fill'class='fnname'>fill</a><T: <aclass="trait"href="../../../rand/trait.AsByteSliceMut.html"title="trait rand::AsByteSliceMut">AsByteSliceMut</a> + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>>(&mut self, dest: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><aclass='srclink'href='../../../src/rand/lib.rs.html#299-302'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Fill <code>dest</code> entirely with random bytes (uniform value distribution), where <code>dest</code> is any type supporting <ahref="../../../rand/trait.AsByteSliceMut.html"title="`AsByteSliceMut`"><code>AsByteSliceMut</code></a>, namely slices and arrays over primitive integer types (<code>i8</code>, <code>i16</code>, <code>u32</code>, etc.). <ahref="../../../rand/trait.Rng.html#method.fill">Read more</a></p>
</div><h4id='method.try_fill'class="method hidden"><codeid='try_fill.v'>fn <ahref='../../../rand/trait.Rng.html#method.try_fill'class='fnname'>try_fill</a><T: <aclass="trait"href="../../../rand/trait.AsByteSliceMut.html"title="trait rand::AsByteSliceMut">AsByteSliceMut</a> + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>>(<br> &mut self, <br> dest: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T<br>) -><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="../../../rand/struct.Error.html"title="struct rand::Error">Error</a>></code><aclass='srclink'href='../../../src/rand/lib.rs.html#331-335'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Fill <code>dest</code> entirely with random bytes (uniform value distribution), where <code>dest</code> is any type supporting <ahref="../../../rand/trait.AsByteSliceMut.html"title="`AsByteSliceMut`"><code>AsByteSliceMut</code></a>, namely slices and arrays over primitive integer types (<code>i8</code>, <code>i16</code>, <code>u32</code>, etc.). <ahref="../../../rand/trait.Rng.html#method.try_fill">Read more</a></p>
</div><h4id='method.gen_bool'class="method hidden"><codeid='gen_bool.v'>fn <ahref='../../../rand/trait.Rng.html#method.gen_bool'class='fnname'>gen_bool</a>(&mut self, p: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../../../src/rand/lib.rs.html#357-360'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Return a bool with a probability <code>p</code> of being true. <ahref="../../../rand/trait.Rng.html#method.gen_bool">Read more</a></p>
</div><h4id='method.gen_ratio'class="method hidden"><codeid='gen_ratio.v'>fn <ahref='../../../rand/trait.Rng.html#method.gen_ratio'class='fnname'>gen_ratio</a>(&mut self, numerator: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, denominator: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../../../src/rand/lib.rs.html#386-389'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Return a bool with a probability of <code>numerator/denominator</code> of being true. I.e. <code>gen_ratio(2, 3)</code> has chance of 2 in 3, or about 67%, of returning true. If <code>numerator == denominator</code>, then the returned value is guaranteed to be <code>true</code>. If <code>numerator == 0</code>, then the returned value is guaranteed to be <code>false</code>. <ahref="../../../rand/trait.Rng.html#method.gen_ratio">Read more</a></p>
</div></div><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-ToOwned'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html"title="trait alloc::borrow::ToOwned">ToOwned</a> for T <spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>, </span></code><ahref='#impl-ToOwned'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-92'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedtype.Owned'class="type"><codeid='Owned.t'>type <ahref='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned'class="type">Owned</a> = T</code></h4><divclass='docblock'><p>The resulting type after obtaining ownership.</p>
</div><h4id='method.to_owned'class="method hidden"><codeid='to_owned.v'>fn <ahref='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned'class='fnname'>to_owned</a>(&self) -> T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#85-87'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div><h4id='method.clone_into'class="method hidden"><codeid='clone_into.v'>fn <ahref='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into'class='fnname'>clone_into</a>(&self, target: <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/alloc/borrow.rs.html#89-91'title='goto source code'>[src]</a></h4><divclass='stability hidden'><divclass='stab unstable'><details><summary><spanclass='emoji'>🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><divclass='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></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><h3id='impl-VZip%3CV%3E'class='impl'><codeclass='in-band'>impl<V, T><aclass="trait"href="../../../ppv_lite86/types/types/trait.VZip.html"title="trait ppv_lite86::types::types::VZip">VZip</a><V> for T <spanclass="where fmt-newline">where<br> V: <aclass="trait"href="../../../ppv_lite86/types/types/trait.MultiLane.html"title="trait ppv_lite86::types::types::MultiLane">MultiLane</a><T>, </span></code><ahref='#impl-VZip%3CV%3E'class='anchor'></a><aclass='srclink'href='../../../src/ppv_lite86/types.rs.html#212-220'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.vzip'class="method hidden"><codeid='vzip.v'>fn <ahref='../../../ppv_lite86/types/types/trait.VZip.html#tymethod.vzip'class='fnname'>vzip</a>(self) -> V</code><aclass='srclink'href='../../../src/ppv_lite86/types.rs.html#217-219'title='goto source code'>[src]</a></h4></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="rand";</script><scriptsrc="../../../aliases.js"></script><scriptsrc="../../../main.js"></script><scriptdefersrc="../../../search-index.js"></script></body></html>