mentat/failure/index.html
2018-08-22 17:04:13 +00:00

255 lines
No EOL
12 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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 `failure` crate.">
<meta name="keywords" content="rust, rustlang, rust-lang, failure">
<title>failure - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc mod">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Crate failure</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#macros">Macros</a></li><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'failure', ty: 'mod', relpath: '../'};</script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<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">
<h1 class='fqn'><span class='in-band'>Crate <a class="mod" href=''>failure</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'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/failure/lib.rs.html#1-289' title='goto source code'>[src]</a></span></h1>
<div class='docblock'><p>An experimental new error-handling library. Guide-style introduction
is available <a href="https://boats.gitlab.io/failure/">here</a>.</p>
<p>The primary items exported by this library are:</p>
<ul>
<li><code>Fail</code>: a new trait for custom error types in Rust.</li>
<li><code>Error</code>: a wrapper around <code>Fail</code> types to make it easy to coalesce them
at higher levels.</li>
</ul>
<p>As a general rule, library authors should create their own error types and
implement <code>Fail</code> for them, whereas application authors should primarily
deal with the <code>Error</code> type. There are exceptions to this rule, though, in
both directions, and users should do whatever seems most appropriate to
their situation.</p>
<h2 id="backtraces" class="section-header"><a href="#backtraces">Backtraces</a></h2>
<p>Backtraces are disabled by default. To turn backtraces on, enable
the <code>backtrace</code> Cargo feature and set the <code>RUST_BACKTRACE</code> environment
variable to a non-zero value (this also enables backtraces for panics).
Use the <code>RUST_FAILURE_BACKTRACE</code> variable to enable or disable backtraces
for <code>failure</code> specifically.</p>
</div><h2 id='macros' class='section-header'><a href="#macros">Macros</a></h2>
<table>
<tr class=' module-item'>
<td><a class="macro" href="macro.bail.html"
title='macro failure::bail'>bail</a></td>
<td class='docblock-short'>
<p>Exits a function early with an <code>Error</code>.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="macro" href="macro.ensure.html"
title='macro failure::ensure'>ensure</a></td>
<td class='docblock-short'>
<p>Exits a function early with an <code>Error</code> if the condition is not satisfied.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="macro" href="macro.format_err.html"
title='macro failure::format_err'>format_err</a></td>
<td class='docblock-short'>
<p>Constructs an <code>Error</code> using the standard string interpolation syntax.</p>
</td>
</tr></table><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table>
<tr class=' module-item'>
<td><a class="struct" href="struct.Backtrace.html"
title='struct failure::Backtrace'>Backtrace</a></td>
<td class='docblock-short'>
<p>A <code>Backtrace</code>.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.Causes.html"
title='struct failure::Causes'>Causes</a></td>
<td class='docblock-short'>
<p>A iterator over the causes of a <code>Fail</code></p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.Compat.html"
title='struct failure::Compat'>Compat</a></td>
<td class='docblock-short'>
<p>A compatibility wrapper around an error type from this crate.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.Context.html"
title='struct failure::Context'>Context</a></td>
<td class='docblock-short'>
<p>An error with context around it.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.Error.html"
title='struct failure::Error'>Error</a></td>
<td class='docblock-short'>
<p>The <code>Error</code> type, which can contain any failure.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.SyncFailure.html"
title='struct failure::SyncFailure'>SyncFailure</a></td>
<td class='docblock-short'>
<p>Wrapper for <code>std</code> errors to make them <code>Sync</code>.</p>
</td>
</tr></table><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2>
<table>
<tr class=' module-item'>
<td><a class="trait" href="trait.Fail.html"
title='trait failure::Fail'>Fail</a></td>
<td class='docblock-short'>
<p>The <code>Fail</code> trait.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="trait" href="trait.ResultExt.html"
title='trait failure::ResultExt'>ResultExt</a></td>
<td class='docblock-short'>
<p>Extension methods for <code>Result</code>.</p>
</td>
</tr></table><h2 id='functions' class='section-header'><a href="#functions">Functions</a></h2>
<table>
<tr class=' module-item'>
<td><a class="fn" href="fn.err_msg.html"
title='fn failure::err_msg'>err_msg</a></td>
<td class='docblock-short'>
<p>Constructs a <code>Fail</code> type from a string.</p>
</td>
</tr></table><h2 id='types' class='section-header'><a href="#types">Type Definitions</a></h2>
<table>
<tr class=' module-item'>
<td><a class="type" href="type.Fallible.html"
title='type failure::Fallible'>Fallible</a></td>
<td class='docblock-short'>
<p>A common result with an <code>Error</code>.</p>
</td>
</tr></table></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="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>&#9166;</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>
<div class="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>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "failure";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>