diff options
Diffstat (limited to 'irsc/struct.Result.html')
-rw-r--r-- | irsc/struct.Result.html | 407 |
1 files changed, 407 insertions, 0 deletions
diff --git a/irsc/struct.Result.html b/irsc/struct.Result.html new file mode 100644 index 0000000..6bde9f3 --- /dev/null +++ b/irsc/struct.Result.html @@ -0,0 +1,407 @@ +<!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 `Result` struct in crate `irsc`."> + <meta name="keywords" content="rust, rustlang, rust-lang, Result"> + + <title>irsc::Result - Rust</title> + + <link rel="stylesheet" type="text/css" href="../main.css"> + + + +</head> +<body class="rustdoc"> + <!--[if lte IE 8]> + <div class="warning"> + This old browser is unsupported and will most likely display funky + things. + </div> + <![endif]--> + + + + <section class="sidebar"> + + <p class='location'><a href='index.html'>irsc</a></p><script>window.sidebarCurrent = {name: 'Result', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script> + </section> + + <nav class="sub"> + <form class="search-form js-only"> + <div class="search-container"> + <input class="search-input" name="search" + autocomplete="off" + placeholder="Click or press 'S' to search, '?' for more options..." + type="search"> + </div> + </form> + </nav> + + <section id='main' class="content struct"> +<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>irsc</a>::<wbr><a class='struct' href=''>Result</a></span><span class='out-of-band'><span id='render-detail'> + <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs"> + [<span class='inner'>−</span>] + </a> + </span><a id='src-34138' class='srclink' href='../src/irsc/lib.rs.html#49' title='goto source code'>[src]</a></span></h1> +<pre class='rust struct'>pub struct Result<T>(_);</pre><h2 id='deref-methods'>Methods from <a class='trait' href='http://doc.rust-lang.org/nightly/core/ops/trait.Deref.html' title='core::ops::Deref'>Deref</a><Target=<a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><T, <a class='enum' href='../irsc/enum.IrscError.html' title='irsc::IrscError'>IrscError</a>>></h2><div class='impl-items'><h4 id='method.is_ok' class='method'><code>fn <a href='#method.is_ok' class='fnname'>is_ok</a>(&self) -> <a href='http://doc.rust-lang.org/nightly/std/primitive.bool.html'>bool</a></code></h4> +<div class='docblock'><p>Returns true if the result is <code>Ok</code></p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>i32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='op'>-</span><span class='number'>3</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>is_ok</span>(), <span class='boolval'>true</span>); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>i32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"Some error message"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>is_ok</span>(), <span class='boolval'>false</span>); +</pre> +</div><h4 id='method.is_err' class='method'><code>fn <a href='#method.is_err' class='fnname'>is_err</a>(&self) -> <a href='http://doc.rust-lang.org/nightly/std/primitive.bool.html'>bool</a></code></h4> +<div class='docblock'><p>Returns true if the result is <code>Err</code></p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>i32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='op'>-</span><span class='number'>3</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>is_err</span>(), <span class='boolval'>false</span>); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>i32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"Some error message"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>is_err</span>(), <span class='boolval'>true</span>); +</pre> +</div><h4 id='method.ok' class='method'><code>fn <a href='#method.ok' class='fnname'>ok</a>(self) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/option/enum.Option.html' title='core::option::Option'>Option</a><T></code></h4> +<div class='docblock'><p>Converts from <code>Result<T, E></code> to <code>Option<T></code></p> + +<p>Converts <code>self</code> into an <code>Option<T></code>, consuming <code>self</code>, +and discarding the error, if any.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>2</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>ok</span>(), <span class='prelude-val'>Some</span>(<span class='number'>2</span>)); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"Nothing here"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>ok</span>(), <span class='prelude-val'>None</span>); +</pre> +</div><h4 id='method.err' class='method'><code>fn <a href='#method.err' class='fnname'>err</a>(self) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/option/enum.Option.html' title='core::option::Option'>Option</a><E></code></h4> +<div class='docblock'><p>Converts from <code>Result<T, E></code> to <code>Option<E></code></p> + +<p>Converts <code>self</code> into an <code>Option<E></code>, consuming <code>self</code>, +and discarding the success value, if any.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>2</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>err</span>(), <span class='prelude-val'>None</span>); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"Nothing here"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>err</span>(), <span class='prelude-val'>Some</span>(<span class='string'>"Nothing here"</span>)); +</pre> +</div><h4 id='method.as_ref' class='method'><code>fn <a href='#method.as_ref' class='fnname'>as_ref</a>(&self) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><&T, &E></code></h4> +<div class='docblock'><p>Converts from <code>Result<T, E></code> to <code>Result<&T, &E></code></p> + +<p>Produces a new <code>Result</code>, containing a reference +into the original, leaving the original in place.</p> +<pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>2</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>as_ref</span>(), <span class='prelude-val'>Ok</span>(<span class='kw-2'>&</span><span class='number'>2</span>)); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"Error"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>as_ref</span>(), <span class='prelude-val'>Err</span>(<span class='kw-2'>&</span><span class='string'>"Error"</span>)); +</pre> +</div><h4 id='method.as_mut' class='method'><code>fn <a href='#method.as_mut' class='fnname'>as_mut</a>(&mut self) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><&mut T, &mut E></code></h4> +<div class='docblock'><p>Converts from <code>Result<T, E></code> to <code>Result<&mut T, &mut E></code></p> +<pre class='rust rust-example-rendered'> +<span class='kw'>fn</span> <span class='ident'>mutate</span>(<span class='ident'>r</span>: <span class='kw-2'>&</span><span class='kw-2'>mut</span> <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>i32</span>, <span class='ident'>i32</span><span class='op'>></span>) { + <span class='kw'>match</span> <span class='ident'>r</span>.<span class='ident'>as_mut</span>() { + <span class='prelude-val'>Ok</span>(<span class='kw-2'>&</span><span class='kw-2'>mut</span> <span class='kw-2'>ref</span> <span class='kw-2'>mut</span> <span class='ident'>v</span>) <span class='op'>=></span> <span class='op'>*</span><span class='ident'>v</span> <span class='op'>=</span> <span class='number'>42</span>, + <span class='prelude-val'>Err</span>(<span class='kw-2'>&</span><span class='kw-2'>mut</span> <span class='kw-2'>ref</span> <span class='kw-2'>mut</span> <span class='ident'>e</span>) <span class='op'>=></span> <span class='op'>*</span><span class='ident'>e</span> <span class='op'>=</span> <span class='number'>0</span>, + } +} + +<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>i32</span>, <span class='ident'>i32</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>2</span>); +<span class='ident'>mutate</span>(<span class='kw-2'>&</span><span class='kw-2'>mut</span> <span class='ident'>x</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>unwrap</span>(), <span class='number'>42</span>); + +<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>i32</span>, <span class='ident'>i32</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='number'>13</span>); +<span class='ident'>mutate</span>(<span class='kw-2'>&</span><span class='kw-2'>mut</span> <span class='ident'>x</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>unwrap_err</span>(), <span class='number'>0</span>); +</pre> +</div><h4 id='method.as_slice' class='method'><code>fn <a href='#method.as_slice' class='fnname'>as_slice</a>(&self) -> <a href='http://doc.rust-lang.org/nightly/std/primitive.slice.html'>&[T]</a></code></h4> +<div class='stability'><em class='stab unstable'>Unstable</em></div><div class='docblock'><p>Converts from <code>Result<T, E></code> to <code>&[T]</code> (without copying)</p> +</div><h4 id='method.as_mut_slice' class='method'><code>fn <a href='#method.as_mut_slice' class='fnname'>as_mut_slice</a>(&mut self) -> <a href='http://doc.rust-lang.org/nightly/std/primitive.slice.html'>&mut [T]</a></code></h4> +<div class='stability'><em class='stab unstable'>Unstable<p>: waiting for mut conventions</p> +</em></div><div class='docblock'><p>Converts from <code>Result<T, E></code> to <code>&mut [T]</code> (without copying)</p> +<pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='kw-2'>&</span><span class='ident'>str</span>, <span class='ident'>u32</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='string'>"Gold"</span>); +{ + <span class='kw'>let</span> <span class='ident'>v</span> <span class='op'>=</span> <span class='ident'>x</span>.<span class='ident'>as_mut_slice</span>(); + <span class='macro'>assert</span><span class='macro'>!</span>(<span class='ident'>v</span> <span class='op'>==</span> [<span class='string'>"Gold"</span>]); + <span class='ident'>v</span>[<span class='number'>0</span>] <span class='op'>=</span> <span class='string'>"Silver"</span>; + <span class='macro'>assert</span><span class='macro'>!</span>(<span class='ident'>v</span> <span class='op'>==</span> [<span class='string'>"Silver"</span>]); +} +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>, <span class='prelude-val'>Ok</span>(<span class='string'>"Silver"</span>)); + +<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='kw-2'>&</span><span class='ident'>str</span>, <span class='ident'>u32</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='number'>45</span>); +<span class='macro'>assert</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>as_mut_slice</span>().<span class='ident'>is_empty</span>()); +</pre> +</div><h4 id='method.map' class='method'><code>fn <a href='#method.map' class='fnname'>map</a><U, F>(self, op: F) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><U, E> <span class='where'>where F: <a class='trait' href='http://doc.rust-lang.org/nightly/core/ops/trait.FnOnce.html' title='core::ops::FnOnce'>FnOnce</a>(T) -> U</span></code></h4> +<div class='docblock'><p>Maps a <code>Result<T, E></code> to <code>Result<U, E></code> by applying a function to an +contained <code>Ok</code> value, leaving an <code>Err</code> value untouched.</p> + +<p>This function can be used to compose the results of two functions.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1> +<p>Print the numbers on each line of a string multiplied by two.</p> +<pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>line</span> <span class='op'>=</span> <span class='string'>"1\n2\n3\n4\n"</span>; + +<span class='kw'>for</span> <span class='ident'>num</span> <span class='kw'>in</span> <span class='ident'>line</span>.<span class='ident'>lines</span>() { + <span class='kw'>match</span> <span class='ident'>num</span>.<span class='ident'>parse</span>::<span class='op'><</span><span class='ident'>i32</span><span class='op'>></span>().<span class='ident'>map</span>(<span class='op'>|</span><span class='ident'>i</span><span class='op'>|</span> <span class='ident'>i</span> <span class='op'>*</span> <span class='number'>2</span>) { + <span class='prelude-val'>Ok</span>(<span class='ident'>n</span>) <span class='op'>=></span> <span class='macro'>println</span><span class='macro'>!</span>(<span class='string'>"{}"</span>, <span class='ident'>n</span>), + <span class='prelude-val'>Err</span>(..) <span class='op'>=></span> {} + } +} +</pre> +</div><h4 id='method.map_err' class='method'><code>fn <a href='#method.map_err' class='fnname'>map_err</a><F, O>(self, op: O) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><T, F> <span class='where'>where O: <a class='trait' href='http://doc.rust-lang.org/nightly/core/ops/trait.FnOnce.html' title='core::ops::FnOnce'>FnOnce</a>(E) -> F</span></code></h4> +<div class='docblock'><p>Maps a <code>Result<T, E></code> to <code>Result<T, F></code> by applying a function to an +contained <code>Err</code> value, leaving an <code>Ok</code> value untouched.</p> + +<p>This function can be used to pass through a successful result while handling +an error.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>fn</span> <span class='ident'>stringify</span>(<span class='ident'>x</span>: <span class='ident'>u32</span>) <span class='op'>-></span> <span class='ident'>String</span> { <span class='macro'>format</span><span class='macro'>!</span>(<span class='string'>"error code: {}"</span>, <span class='ident'>x</span>) } + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='ident'>u32</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>2</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>map_err</span>(<span class='ident'>stringify</span>), <span class='prelude-val'>Ok</span>(<span class='number'>2</span>)); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='ident'>u32</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='number'>13</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>map_err</span>(<span class='ident'>stringify</span>), <span class='prelude-val'>Err</span>(<span class='string'>"error code: 13"</span>.<span class='ident'>to_string</span>())); +</pre> +</div><h4 id='method.iter' class='method'><code>fn <a href='#method.iter' class='fnname'>iter</a>(&self) -> <a class='struct' href='http://doc.rust-lang.org/nightly/core/result/struct.Iter.html' title='core::result::Iter'>Iter</a><T></code></h4> +<div class='docblock'><p>Returns an iterator over the possibly contained value.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>7</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>iter</span>().<span class='ident'>next</span>(), <span class='prelude-val'>Some</span>(<span class='kw-2'>&</span><span class='number'>7</span>)); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"nothing!"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>iter</span>().<span class='ident'>next</span>(), <span class='prelude-val'>None</span>); +</pre> +</div><h4 id='method.iter_mut' class='method'><code>fn <a href='#method.iter_mut' class='fnname'>iter_mut</a>(&mut self) -> <a class='struct' href='http://doc.rust-lang.org/nightly/core/result/struct.IterMut.html' title='core::result::IterMut'>IterMut</a><T></code></h4> +<div class='docblock'><p>Returns a mutable iterator over the possibly contained value.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>7</span>); +<span class='kw'>match</span> <span class='ident'>x</span>.<span class='ident'>iter_mut</span>().<span class='ident'>next</span>() { + <span class='prelude-val'>Some</span>(<span class='kw-2'>&</span><span class='kw-2'>mut</span> <span class='kw-2'>ref</span> <span class='kw-2'>mut</span> <span class='ident'>x</span>) <span class='op'>=></span> <span class='op'>*</span><span class='ident'>x</span> <span class='op'>=</span> <span class='number'>40</span>, + <span class='prelude-val'>None</span> <span class='op'>=></span> {}, +} +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>, <span class='prelude-val'>Ok</span>(<span class='number'>40</span>)); + +<span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"nothing!"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>iter_mut</span>().<span class='ident'>next</span>(), <span class='prelude-val'>None</span>); +</pre> +</div><h4 id='method.and' class='method'><code>fn <a href='#method.and' class='fnname'>and</a><U>(self, res: <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><U, E>) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><U, E></code></h4> +<div class='docblock'><p>Returns <code>res</code> if the result is <code>Ok</code>, otherwise returns the <code>Err</code> value of <code>self</code>.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>2</span>); +<span class='kw'>let</span> <span class='ident'>y</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='kw-2'>&</span><span class='ident'>str</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"late error"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>and</span>(<span class='ident'>y</span>), <span class='prelude-val'>Err</span>(<span class='string'>"late error"</span>)); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"early error"</span>); +<span class='kw'>let</span> <span class='ident'>y</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='kw-2'>&</span><span class='ident'>str</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='string'>"foo"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>and</span>(<span class='ident'>y</span>), <span class='prelude-val'>Err</span>(<span class='string'>"early error"</span>)); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"not a 2"</span>); +<span class='kw'>let</span> <span class='ident'>y</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='kw-2'>&</span><span class='ident'>str</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"late error"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>and</span>(<span class='ident'>y</span>), <span class='prelude-val'>Err</span>(<span class='string'>"not a 2"</span>)); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>2</span>); +<span class='kw'>let</span> <span class='ident'>y</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='kw-2'>&</span><span class='ident'>str</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='string'>"different result type"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>and</span>(<span class='ident'>y</span>), <span class='prelude-val'>Ok</span>(<span class='string'>"different result type"</span>)); +</pre> +</div><h4 id='method.and_then' class='method'><code>fn <a href='#method.and_then' class='fnname'>and_then</a><U, F>(self, op: F) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><U, E> <span class='where'>where F: <a class='trait' href='http://doc.rust-lang.org/nightly/core/ops/trait.FnOnce.html' title='core::ops::FnOnce'>FnOnce</a>(T) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><U, E></span></code></h4> +<div class='docblock'><p>Calls <code>op</code> if the result is <code>Ok</code>, otherwise returns the <code>Err</code> value of <code>self</code>.</p> + +<p>This function can be used for control flow based on result values.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>fn</span> <span class='ident'>sq</span>(<span class='ident'>x</span>: <span class='ident'>u32</span>) <span class='op'>-></span> <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='ident'>u32</span><span class='op'>></span> { <span class='prelude-val'>Ok</span>(<span class='ident'>x</span> <span class='op'>*</span> <span class='ident'>x</span>) } +<span class='kw'>fn</span> <span class='ident'>err</span>(<span class='ident'>x</span>: <span class='ident'>u32</span>) <span class='op'>-></span> <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='ident'>u32</span><span class='op'>></span> { <span class='prelude-val'>Err</span>(<span class='ident'>x</span>) } + +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='prelude-val'>Ok</span>(<span class='number'>2</span>).<span class='ident'>and_then</span>(<span class='ident'>sq</span>).<span class='ident'>and_then</span>(<span class='ident'>sq</span>), <span class='prelude-val'>Ok</span>(<span class='number'>16</span>)); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='prelude-val'>Ok</span>(<span class='number'>2</span>).<span class='ident'>and_then</span>(<span class='ident'>sq</span>).<span class='ident'>and_then</span>(<span class='ident'>err</span>), <span class='prelude-val'>Err</span>(<span class='number'>4</span>)); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='prelude-val'>Ok</span>(<span class='number'>2</span>).<span class='ident'>and_then</span>(<span class='ident'>err</span>).<span class='ident'>and_then</span>(<span class='ident'>sq</span>), <span class='prelude-val'>Err</span>(<span class='number'>2</span>)); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='prelude-val'>Err</span>(<span class='number'>3</span>).<span class='ident'>and_then</span>(<span class='ident'>sq</span>).<span class='ident'>and_then</span>(<span class='ident'>sq</span>), <span class='prelude-val'>Err</span>(<span class='number'>3</span>)); +</pre> +</div><h4 id='method.or' class='method'><code>fn <a href='#method.or' class='fnname'>or</a><F>(self, res: <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><T, F>) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><T, F></code></h4> +<div class='docblock'><p>Returns <code>res</code> if the result is <code>Err</code>, otherwise returns the <code>Ok</code> value of <code>self</code>.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>2</span>); +<span class='kw'>let</span> <span class='ident'>y</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"late error"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>or</span>(<span class='ident'>y</span>), <span class='prelude-val'>Ok</span>(<span class='number'>2</span>)); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"early error"</span>); +<span class='kw'>let</span> <span class='ident'>y</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>2</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>or</span>(<span class='ident'>y</span>), <span class='prelude-val'>Ok</span>(<span class='number'>2</span>)); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"not a 2"</span>); +<span class='kw'>let</span> <span class='ident'>y</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"late error"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>or</span>(<span class='ident'>y</span>), <span class='prelude-val'>Err</span>(<span class='string'>"late error"</span>)); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>2</span>); +<span class='kw'>let</span> <span class='ident'>y</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>100</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>or</span>(<span class='ident'>y</span>), <span class='prelude-val'>Ok</span>(<span class='number'>2</span>)); +</pre> +</div><h4 id='method.or_else' class='method'><code>fn <a href='#method.or_else' class='fnname'>or_else</a><F, O>(self, op: O) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><T, F> <span class='where'>where O: <a class='trait' href='http://doc.rust-lang.org/nightly/core/ops/trait.FnOnce.html' title='core::ops::FnOnce'>FnOnce</a>(E) -> <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><T, F></span></code></h4> +<div class='docblock'><p>Calls <code>op</code> if the result is <code>Err</code>, otherwise returns the <code>Ok</code> value of <code>self</code>.</p> + +<p>This function can be used for control flow based on result values.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>fn</span> <span class='ident'>sq</span>(<span class='ident'>x</span>: <span class='ident'>u32</span>) <span class='op'>-></span> <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='ident'>u32</span><span class='op'>></span> { <span class='prelude-val'>Ok</span>(<span class='ident'>x</span> <span class='op'>*</span> <span class='ident'>x</span>) } +<span class='kw'>fn</span> <span class='ident'>err</span>(<span class='ident'>x</span>: <span class='ident'>u32</span>) <span class='op'>-></span> <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='ident'>u32</span><span class='op'>></span> { <span class='prelude-val'>Err</span>(<span class='ident'>x</span>) } + +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='prelude-val'>Ok</span>(<span class='number'>2</span>).<span class='ident'>or_else</span>(<span class='ident'>sq</span>).<span class='ident'>or_else</span>(<span class='ident'>sq</span>), <span class='prelude-val'>Ok</span>(<span class='number'>2</span>)); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='prelude-val'>Ok</span>(<span class='number'>2</span>).<span class='ident'>or_else</span>(<span class='ident'>err</span>).<span class='ident'>or_else</span>(<span class='ident'>sq</span>), <span class='prelude-val'>Ok</span>(<span class='number'>2</span>)); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='prelude-val'>Err</span>(<span class='number'>3</span>).<span class='ident'>or_else</span>(<span class='ident'>sq</span>).<span class='ident'>or_else</span>(<span class='ident'>err</span>), <span class='prelude-val'>Ok</span>(<span class='number'>9</span>)); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='prelude-val'>Err</span>(<span class='number'>3</span>).<span class='ident'>or_else</span>(<span class='ident'>err</span>).<span class='ident'>or_else</span>(<span class='ident'>err</span>), <span class='prelude-val'>Err</span>(<span class='number'>3</span>)); +</pre> +</div><h4 id='method.unwrap_or' class='method'><code>fn <a href='#method.unwrap_or' class='fnname'>unwrap_or</a>(self, optb: T) -> T</code></h4> +<div class='docblock'><p>Unwraps a result, yielding the content of an <code>Ok</code>. +Else it returns <code>optb</code>.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>optb</span> <span class='op'>=</span> <span class='number'>2</span>; +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>9</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>unwrap_or</span>(<span class='ident'>optb</span>), <span class='number'>9</span>); + +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"error"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>unwrap_or</span>(<span class='ident'>optb</span>), <span class='ident'>optb</span>); +</pre> +</div><h4 id='method.unwrap_or_else' class='method'><code>fn <a href='#method.unwrap_or_else' class='fnname'>unwrap_or_else</a><F>(self, op: F) -> T <span class='where'>where F: <a class='trait' href='http://doc.rust-lang.org/nightly/core/ops/trait.FnOnce.html' title='core::ops::FnOnce'>FnOnce</a>(E) -> T</span></code></h4> +<div class='docblock'><p>Unwraps a result, yielding the content of an <code>Ok</code>. +If the value is an <code>Err</code> then it calls <code>op</code> with its value.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>fn</span> <span class='ident'>count</span>(<span class='ident'>x</span>: <span class='kw-2'>&</span><span class='ident'>str</span>) <span class='op'>-></span> <span class='ident'>usize</span> { <span class='ident'>x</span>.<span class='ident'>len</span>() } + +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='prelude-val'>Ok</span>(<span class='number'>2</span>).<span class='ident'>unwrap_or_else</span>(<span class='ident'>count</span>), <span class='number'>2</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='prelude-val'>Err</span>(<span class='string'>"foo"</span>).<span class='ident'>unwrap_or_else</span>(<span class='ident'>count</span>), <span class='number'>3</span>); +</pre> +</div></div><div class='impl-items'><h4 id='method.unwrap' class='method'><code>fn <a href='#method.unwrap' class='fnname'>unwrap</a>(self) -> T</code></h4> +<div class='docblock'><p>Unwraps a result, yielding the content of an <code>Ok</code>.</p> + +<h1 id="panics" class='section-header'><a + href="#panics">Panics</a></h1> +<p>Panics if the value is an <code>Err</code>, with a panic message provided by the +<code>Err</code>'s value.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>2</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>unwrap</span>(), <span class='number'>2</span>); +</pre> +<pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"emergency failure"</span>); +<span class='ident'>x</span>.<span class='ident'>unwrap</span>(); <span class='comment'>// panics with `emergency failure`</span> +</pre> +</div><h4 id='method.expect' class='method'><code>fn <a href='#method.expect' class='fnname'>expect</a>(self, msg: &<a href='http://doc.rust-lang.org/nightly/std/primitive.str.html'>str</a>) -> T</code></h4> +<div class='stability'><em class='stab unstable'>Unstable<p>: newly introduced</p> +</em></div><div class='docblock'><p>Unwraps a result, yielding the content of an <code>Ok</code>.</p> + +<p>Panics if the value is an <code>Err</code>, with a panic message including the +passed message, and the content of the <code>Err</code>.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='attribute'>#<span class='op'>!</span>[<span class='ident'>feature</span>(<span class='ident'>result_expect</span>)]</span> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"emergency failure"</span>); +<span class='ident'>x</span>.<span class='ident'>expect</span>(<span class='string'>"Testing expect"</span>); <span class='comment'>// panics with `Testing expect: emergency failure`</span> +</pre> +</div></div><div class='impl-items'><h4 id='method.unwrap_err' class='method'><code>fn <a href='#method.unwrap_err' class='fnname'>unwrap_err</a>(self) -> E</code></h4> +<div class='docblock'><p>Unwraps a result, yielding the content of an <code>Err</code>.</p> + +<h1 id="panics" class='section-header'><a + href="#panics">Panics</a></h1> +<p>Panics if the value is an <code>Ok</code>, with a custom panic message provided +by the <code>Ok</code>'s value.</p> + +<h1 id="examples" class='section-header'><a + href="#examples">Examples</a></h1><pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Ok</span>(<span class='number'>2</span>); +<span class='ident'>x</span>.<span class='ident'>unwrap_err</span>(); <span class='comment'>// panics with `2`</span> +</pre> +<pre class='rust rust-example-rendered'> +<span class='kw'>let</span> <span class='ident'>x</span>: <span class='prelude-ty'>Result</span><span class='op'><</span><span class='ident'>u32</span>, <span class='kw-2'>&</span><span class='ident'>str</span><span class='op'>></span> <span class='op'>=</span> <span class='prelude-val'>Err</span>(<span class='string'>"emergency failure"</span>); +<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='ident'>x</span>.<span class='ident'>unwrap_err</span>(), <span class='string'>"emergency failure"</span>); +</pre> +</div></div><h2 id='implementations'>Trait Implementations</h2><h3 class='impl'><code>impl<T> <a class='trait' href='http://doc.rust-lang.org/nightly/core/ops/trait.Deref.html' title='core::ops::Deref'>Deref</a> for <a class='struct' href='../irsc/struct.Result.html' title='irsc::Result'>Result</a><T></code></h3><div class='impl-items'><h4 id='assoc_type.Target' class='type'><code>type Target = <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><T, <a class='enum' href='../irsc/enum.IrscError.html' title='irsc::IrscError'>IrscError</a>></code></h4> +<h4 id='method.deref' class='method'><code>fn <a href='http://doc.rust-lang.org/nightly/core/ops/trait.Deref.html#method.deref' class='fnname'>deref</a>(&self) -> &<a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><T, <a class='enum' href='../irsc/enum.IrscError.html' title='irsc::IrscError'>IrscError</a>></code></h4> +</div><h3 class='impl'><code>impl<T> <a class='trait' href='http://doc.rust-lang.org/nightly/core/ops/trait.DerefMut.html' title='core::ops::DerefMut'>DerefMut</a> for <a class='struct' href='../irsc/struct.Result.html' title='irsc::Result'>Result</a><T></code></h3><div class='impl-items'><h4 id='method.deref_mut' class='method'><code>fn <a href='http://doc.rust-lang.org/nightly/core/ops/trait.DerefMut.html#method.deref_mut' class='fnname'>deref_mut</a>(&mut self) -> &mut <a class='enum' href='http://doc.rust-lang.org/nightly/core/result/enum.Result.html' title='core::result::Result'>Result</a><T, <a class='enum' href='../irsc/enum.IrscError.html' title='irsc::IrscError'>IrscError</a>></code></h4> +</div></section> + <section id='search' class="content hidden"></section> + + <section class="footer"></section> + + <div id="help" class="hidden"> + <div class="shortcuts"> + <h1>Keyboard shortcuts</h1> + <dl> + <dt>?</dt> + <dd>Show this help dialog</dd> + <dt>S</dt> + <dd>Focus the search field</dd> + <dt>⇤</dt> + <dd>Move up in search results</dd> + <dt>⇥</dt> + <dd>Move down in search results</dd> + <dt>⏎</dt> + <dd>Go to active search result</dd> + </dl> + </div> + <div class="infos"> + <h1>Search tricks</h1> + <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>typedef</code> (or + <code>tdef</code>). + </p> + <p> + Search functions by type signature (e.g. + <code>vec -> usize</code>) + </p> + </div> + </div> + + + + <script> + window.rootPath = "../"; + window.currentCrate = "irsc"; + window.playgroundUrl = ""; + </script> + <script src="../jquery.js"></script> + <script src="../main.js"></script> + + <script async src="../search-index.js"></script> +</body> +</html>
\ No newline at end of file |