diff options
author | garhve <git@garhve.com> | 2022-12-20 11:04:25 +0800 |
---|---|---|
committer | garhve <git@garhve.com> | 2022-12-20 11:04:25 +0800 |
commit | 369d11587339ce74f8ebc76f2607fe55545eaf7d (patch) | |
tree | 4b25c6f7e3aca08a90b25950f4f8e4430c4294bc /rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom | |
parent | 0f1b6d015243e55a38b1c1b7e8af66668e4e794d (diff) |
Build small project following the book
Diffstat (limited to 'rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom')
6 files changed, 186 insertions, 0 deletions
diff --git a/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/all.html b/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/all.html new file mode 100644 index 0000000..ff7a2ce --- /dev/null +++ b/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/all.html @@ -0,0 +1,2 @@ +<!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="List of all items in this crate"><meta name="keywords" content="rust, rustlang, rust-lang"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../normalize.css"><link rel="stylesheet" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../ayu.css" disabled><link rel="stylesheet" href="../dark.css" disabled><link rel="stylesheet" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script defer src="../main.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" href="https://www.rust-lang.org/favicon.ico"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../getrandom/index.html"><div class="logo-container"><img src="https://www.rust-lang.org/logos/rust-logo-128x128-blk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../getrandom/index.html"><div class="logo-container"> + <img src="https://www.rust-lang.org/logos/rust-logo-128x128-blk.png" alt="logo"></div></a><h2 class="location">Crate getrandom</h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></form></nav><section id="main-content" class="content"><h1 class="fqn">List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.Error.html">Error</a></li></ul><h3 id="functions">Functions</h3><ul class="all-items"><li><a href="fn.getrandom.html">getrandom</a></li></ul></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="getrandom" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0 (69f9c33d7 2022-12-12) (Arch Linux rust 1:1.66.0-1)" ></div></body></html>
\ No newline at end of file diff --git a/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/error/struct.Error.html b/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/error/struct.Error.html new file mode 100644 index 0000000..b6a6ce8 --- /dev/null +++ b/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/error/struct.Error.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta http-equiv="refresh" content="0;URL=../../getrandom/struct.Error.html"> + <title>Redirection</title> +</head> +<body> + <p>Redirecting to <a href="../../getrandom/struct.Error.html">../../getrandom/struct.Error.html</a>...</p> + <script>location.replace("../../getrandom/struct.Error.html" + location.search + location.hash);</script> +</body> +</html>
\ No newline at end of file diff --git a/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/fn.getrandom.html b/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/fn.getrandom.html new file mode 100644 index 0000000..955b469 --- /dev/null +++ b/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/fn.getrandom.html @@ -0,0 +1,12 @@ +<!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="Fill `dest` with random bytes from the system’s preferred random number source."><meta name="keywords" content="rust, rustlang, rust-lang, getrandom"><title>getrandom in getrandom - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../normalize.css"><link rel="stylesheet" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../ayu.css" disabled><link rel="stylesheet" href="../dark.css" disabled><link rel="stylesheet" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../main.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" href="https://www.rust-lang.org/favicon.ico"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../getrandom/index.html"><div class="logo-container"><img src="https://www.rust-lang.org/logos/rust-logo-128x128-blk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../getrandom/index.html"><div class="logo-container"> + <img src="https://www.rust-lang.org/logos/rust-logo-128x128-blk.png" alt="logo"></div></a><div class="sidebar-elems"><h2><a href="index.html">In getrandom</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Function <a href="index.html">getrandom</a>::<wbr><a class="fn" href="#">getrandom</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/getrandom/lib.rs.html#286-291">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></div><div class="item-decl"><pre class="rust fn"><code>pub fn getrandom(dest: &mut [<a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.u8.html">u8</a>]) -> <a class="enum" href="https://doc.rust-lang.org/1.66.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.unit.html">()</a>, <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a>></code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Fill <code>dest</code> with random bytes from the system’s preferred random number +source.</p> +<p>This function returns an error on any failure, including partial reads. We +make no guarantees regarding the contents of <code>dest</code> on error. If <code>dest</code> is +empty, <code>getrandom</code> immediately returns success, making no calls to the +underlying operating system.</p> +<p>Blocking is possible, at least during early boot; see module documentation.</p> +<p>In general, <code>getrandom</code> will be fast enough for interactive usage, though +significantly slower than a user-space CSPRNG; for the latter consider +<a href="https://docs.rs/rand/*/rand/fn.thread_rng.html"><code>rand::thread_rng</code></a>.</p> +</div></details></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="getrandom" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0 (69f9c33d7 2022-12-12) (Arch Linux rust 1:1.66.0-1)" ></div></body></html>
\ No newline at end of file diff --git a/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/index.html b/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/index.html new file mode 100644 index 0000000..2b9842e --- /dev/null +++ b/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/index.html @@ -0,0 +1,113 @@ +<!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="Interface to the operating system’s random number generator."><meta name="keywords" content="rust, rustlang, rust-lang, getrandom"><title>getrandom - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../normalize.css"><link rel="stylesheet" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../ayu.css" disabled><link rel="stylesheet" href="../dark.css" disabled><link rel="stylesheet" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script defer src="../crates.js"></script><script defer src="../main.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" href="https://www.rust-lang.org/favicon.ico"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../getrandom/index.html"><div class="logo-container"><img src="https://www.rust-lang.org/logos/rust-logo-128x128-blk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../getrandom/index.html"><div class="logo-container"> + <img src="https://www.rust-lang.org/logos/rust-logo-128x128-blk.png" alt="logo"></div></a><h2 class="location"><a href="#">Crate getrandom</a></h2><div class="sidebar-elems"><ul class="block"><li class="version">Version 0.2.8</li><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Crate <a class="mod" href="#">getrandom</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/getrandom/lib.rs.html#9-291">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Interface to the operating system’s random number generator.</p> +<h2 id="supported-targets"><a href="#supported-targets">Supported targets</a></h2><div><table><thead><tr><th>Target</th><th>Target Triple</th><th>Implementation</th></tr></thead><tbody> +<tr><td>Linux, Android</td><td><code>*‑linux‑*</code></td><td><a href="http://man7.org/linux/man-pages/man2/getrandom.2.html"><code>getrandom</code></a> system call if available, otherwise <a href="http://man7.org/linux/man-pages/man4/urandom.4.html"><code>/dev/urandom</code></a> after successfully polling <code>/dev/random</code></td></tr> +<tr><td>Windows</td><td><code>*‑windows‑*</code></td><td><a href="https://docs.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom"><code>BCryptGenRandom</code></a></td></tr> +<tr><td>macOS</td><td><code>*‑apple‑darwin</code></td><td><a href="https://www.unix.com/man-page/mojave/2/getentropy/"><code>getentropy</code></a> if available, otherwise <a href="https://www.unix.com/man-page/mojave/4/random/"><code>/dev/random</code></a> (identical to <code>/dev/urandom</code>)</td></tr> +<tr><td>iOS</td><td><code>*‑apple‑ios</code></td><td><a href="https://developer.apple.com/documentation/security/1399291-secrandomcopybytes?language=objc"><code>SecRandomCopyBytes</code></a></td></tr> +<tr><td>FreeBSD</td><td><code>*‑freebsd</code></td><td><a href="https://www.freebsd.org/cgi/man.cgi?query=getrandom&manpath=FreeBSD+12.0-stable"><code>getrandom</code></a> if available, otherwise <a href="https://www.freebsd.org/cgi/man.cgi?query=random&sektion=4"><code>kern.arandom</code></a></td></tr> +<tr><td>OpenBSD</td><td><code>*‑openbsd</code></td><td><a href="https://man.openbsd.org/getentropy.2"><code>getentropy</code></a></td></tr> +<tr><td>NetBSD</td><td><code>*‑netbsd</code></td><td><a href="https://man.netbsd.org/sysctl.7"><code>kern.arandom</code></a></td></tr> +<tr><td>Dragonfly BSD</td><td><code>*‑dragonfly</code></td><td><a href="https://leaf.dragonflybsd.org/cgi/web-man?command=getrandom"><code>getrandom</code></a> if available, otherwise <a href="https://leaf.dragonflybsd.org/cgi/web-man?command=random&section=4"><code>/dev/random</code></a></td></tr> +<tr><td>Solaris, illumos</td><td><code>*‑solaris</code>, <code>*‑illumos</code></td><td><a href="https://docs.oracle.com/cd/E88353_01/html/E37841/getrandom-2.html"><code>getrandom</code></a> if available, otherwise <a href="https://docs.oracle.com/cd/E86824_01/html/E54777/random-7d.html"><code>/dev/random</code></a></td></tr> +<tr><td>Fuchsia OS</td><td><code>*‑fuchsia</code></td><td><a href="https://fuchsia.dev/fuchsia-src/zircon/syscalls/cprng_draw"><code>cprng_draw</code></a></td></tr> +<tr><td>Redox</td><td><code>*‑redox</code></td><td><code>/dev/urandom</code></td></tr> +<tr><td>Haiku</td><td><code>*‑haiku</code></td><td><code>/dev/random</code> (identical to <code>/dev/urandom</code>)</td></tr> +<tr><td>Hermit</td><td><code>x86_64-*-hermit</code></td><td><a href="https://software.intel.com/en-us/articles/intel-digital-random-number-generator-drng-software-implementation-guide"><code>RDRAND</code></a></td></tr> +<tr><td>SGX</td><td><code>x86_64‑*‑sgx</code></td><td><a href="https://software.intel.com/en-us/articles/intel-digital-random-number-generator-drng-software-implementation-guide"><code>RDRAND</code></a></td></tr> +<tr><td>VxWorks</td><td><code>*‑wrs‑vxworks‑*</code></td><td><code>randABytes</code> after checking entropy pool initialization with <code>randSecure</code></td></tr> +<tr><td>ESP-IDF</td><td><code>*‑espidf</code></td><td><a href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/random.html#_CPPv415esp_fill_randomPv6size_t"><code>esp_fill_random</code></a></td></tr> +<tr><td>Emscripten</td><td><code>*‑emscripten</code></td><td><code>/dev/random</code> (identical to <code>/dev/urandom</code>)</td></tr> +<tr><td>WASI</td><td><code>wasm32‑wasi</code></td><td><a href="https://github.com/WebAssembly/WASI/blob/main/phases/snapshot/docs.md#-random_getbuf-pointeru8-buf_len-size---errno"><code>random_get</code></a></td></tr> +<tr><td>Web Browser and Node.js</td><td><code>wasm32‑*‑unknown</code></td><td><a href="https://www.w3.org/TR/WebCryptoAPI/#Crypto-method-getRandomValues"><code>Crypto.getRandomValues</code></a> if available, then <a href="https://nodejs.org/api/crypto.html#cryptorandomfillsyncbuffer-offset-size"><code>crypto.randomFillSync</code></a> if on Node.js, see <a href="#webassembly-support">WebAssembly support</a></td></tr> +<tr><td>SOLID</td><td><code>*-kmc-solid_*</code></td><td><code>SOLID_RNG_SampleRandomBytes</code></td></tr> +<tr><td>Nintendo 3DS</td><td><code>armv6k-nintendo-3ds</code></td><td><a href="http://man7.org/linux/man-pages/man2/getrandom.2.html"><code>getrandom</code></a></td></tr> +</tbody></table> +</div> +<p>There is no blanket implementation on <code>unix</code> targets that reads from +<code>/dev/urandom</code>. This ensures all supported targets are using the recommended +interface and respect maximum buffer sizes.</p> +<p>Pull Requests that add support for new targets to <code>getrandom</code> are always welcome.</p> +<h3 id="unsupported-targets"><a href="#unsupported-targets">Unsupported targets</a></h3> +<p>By default, <code>getrandom</code> will not compile on unsupported targets, but certain +features allow a user to select a “fallback” implementation if no supported +implementation exists.</p> +<p>All of the below mechanisms only affect unsupported +targets. Supported targets will <em>always</em> use their supported implementations. +This prevents a crate from overriding a secure source of randomness +(either accidentally or intentionally).</p> +<h4 id="rdrand-on-x86"><a href="#rdrand-on-x86">RDRAND on x86</a></h4> +<p><em>If the <code>rdrand</code> Cargo feature is enabled</em>, <code>getrandom</code> will fallback to using +the <a href="https://software.intel.com/en-us/articles/intel-digital-random-number-generator-drng-software-implementation-guide"><code>RDRAND</code></a> instruction to get randomness on <code>no_std</code> <code>x86</code>/<code>x86_64</code> +targets. This feature has no effect on other CPU architectures.</p> +<h4 id="webassembly-support"><a href="#webassembly-support">WebAssembly support</a></h4> +<p>This crate fully supports the +<a href="https://github.com/CraneStation/wasi"><code>wasm32-wasi</code></a> and +<a href="https://www.hellorust.com/setup/emscripten/"><code>wasm32-unknown-emscripten</code></a> +targets. However, the <code>wasm32-unknown-unknown</code> target (i.e. the target used +by <code>wasm-pack</code>) is not automatically +supported since, from the target name alone, we cannot deduce which +JavaScript interface is in use (or if JavaScript is available at all).</p> +<p>Instead, <em>if the <code>js</code> Cargo feature is enabled</em>, this crate will assume +that you are building for an environment containing JavaScript, and will +call the appropriate methods. Both web browser (main window and Web Workers) +and Node.js environments are supported, invoking the methods +<a href="#supported-targets">described above</a> using the <a href="https://github.com/rustwasm/wasm-bindgen"><code>wasm-bindgen</code></a> toolchain.</p> +<p>To enable the <code>js</code> Cargo feature, add the following to the <code>dependencies</code> +section in your <code>Cargo.toml</code> file:</p> +<div class="example-wrap"><pre class="language-toml"><code>[dependencies] +getrandom = { version = "0.2", features = ["js"] } +</code></pre></div> +<p>This can be done even if <code>getrandom</code> is not a direct dependency. Cargo +allows crates to enable features for indirect dependencies.</p> +<p>This feature should only be enabled for binary, test, or benchmark crates. +Library crates should generally not enable this feature, leaving such a +decision to <em>users</em> of their library. Also, libraries should not introduce +their own <code>js</code> features <em>just</em> to enable <code>getrandom</code>’s <code>js</code> feature.</p> +<p>This feature has no effect on targets other than <code>wasm32-unknown-unknown</code>.</p> +<h5 id="nodejs-es-module-support"><a href="#nodejs-es-module-support">Node.js ES module support</a></h5> +<p>Node.js supports both <a href="https://nodejs.org/api/modules.html">CommonJS modules</a> and <a href="https://nodejs.org/api/esm.html">ES modules</a>. Due to +limitations in wasm-bindgen’s <a href="https://rustwasm.github.io/wasm-bindgen/reference/attributes/on-js-imports/module.html"><code>module</code></a> support, we cannot directly +support ES Modules running on Node.js. However, on Node v15 and later, the +module author can add a simple shim to support the Web Cryptography API:</p> +<div class="example-wrap"><pre class="language-js"><code>import { webcrypto } from 'node:crypto' +globalThis.crypto = webcrypto +</code></pre></div> +<p>This crate will then use the provided <code>webcrypto</code> implementation.</p> +<h4 id="custom-implementations"><a href="#custom-implementations">Custom implementations</a></h4> +<p>The [<code>register_custom_getrandom!</code>] macro allows a user to mark their own +function as the backing implementation for <a href="fn.getrandom.html" title="getrandom"><code>getrandom</code></a>. See the macro’s +documentation for more information about writing and registering your own +custom implementations.</p> +<p>Note that registering a custom implementation only has an effect on targets +that would otherwise not compile. Any supported targets (including those +using <code>rdrand</code> and <code>js</code> Cargo features) continue using their normal +implementations even if a function is registered.</p> +<h3 id="early-boot"><a href="#early-boot">Early boot</a></h3> +<p>Sometimes, early in the boot process, the OS has not collected enough +entropy to securely seed its RNG. This is especially common on virtual +machines, where standard “random” events are hard to come by.</p> +<p>Some operating system interfaces always block until the RNG is securely +seeded. This can take anywhere from a few seconds to more than a minute. +A few (Linux, NetBSD and Solaris) offer a choice between blocking and +getting an error; in these cases, we always choose to block.</p> +<p>On Linux (when the <code>getrandom</code> system call is not available), reading from +<code>/dev/urandom</code> never blocks, even when the OS hasn’t collected enough +entropy yet. To avoid returning low-entropy bytes, we first poll +<code>/dev/random</code> and only switch to <code>/dev/urandom</code> once this has succeeded.</p> +<p>On OpenBSD, this kind of entropy accounting isn’t available, and on +NetBSD, blocking on it is discouraged. On these platforms, nonblocking +interfaces are used, even when reliable entropy may not be available. +On the platforms where it is used, the reliability of entropy accounting +itself isn’t free from controversy. This library provides randomness +sourced according to the platform’s best practices, but each platform has +its own limits on the grade of randomness it can promise in environments +with few sources of entropy.</p> +<h3 id="error-handling"><a href="#error-handling">Error handling</a></h3> +<p>We always choose failure over returning known insecure “random” bytes. In +general, on supported platforms, failure is highly unlikely, though not +impossible. If an error does occur, then it is likely that it will occur +on every call to <code>getrandom</code>, hence after the first successful call one +can be reasonably confident that no errors will occur.</p> +</div></details><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Error.html" title="getrandom::Error struct">Error</a></div><div class="item-right docblock-short">A small and <code>no_std</code> compatible error type</div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.getrandom.html" title="getrandom::getrandom fn">getrandom</a></div><div class="item-right docblock-short">Fill <code>dest</code> with random bytes from the system’s preferred random number +source.</div></div></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="getrandom" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0 (69f9c33d7 2022-12-12) (Arch Linux rust 1:1.66.0-1)" ></div></body></html>
\ No newline at end of file diff --git a/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/sidebar-items.js b/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/sidebar-items.js new file mode 100644 index 0000000..5d4d934 --- /dev/null +++ b/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"fn":[["getrandom","Fill `dest` with random bytes from the system’s preferred random number source."]],"struct":[["Error","A small and `no_std` compatible error type"]]};
\ No newline at end of file diff --git a/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/struct.Error.html b/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/struct.Error.html new file mode 100644 index 0000000..d0f8c77 --- /dev/null +++ b/rust/theBook/chapter-2-guessing-game/guessing_game/target/doc/getrandom/struct.Error.html @@ -0,0 +1,47 @@ +<!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="A small and `no_std` compatible error type"><meta name="keywords" content="rust, rustlang, rust-lang, Error"><title>Error in getrandom - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../normalize.css"><link rel="stylesheet" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../ayu.css" disabled><link rel="stylesheet" href="../dark.css" disabled><link rel="stylesheet" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../main.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" href="https://www.rust-lang.org/favicon.ico"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="sidebar-logo" href="../getrandom/index.html"><div class="logo-container"><img src="https://www.rust-lang.org/logos/rust-logo-128x128-blk.png" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../getrandom/index.html"><div class="logo-container"> + <img src="https://www.rust-lang.org/logos/rust-logo-128x128-blk.png" alt="logo"></div></a><h2 class="location"><a href="#">Error</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Associated Constants</a></h3><ul class="block"><li><a href="#associatedconstant.CUSTOM_START">CUSTOM_START</a></li><li><a href="#associatedconstant.ERRNO_NOT_POSITIVE">ERRNO_NOT_POSITIVE</a></li><li><a href="#associatedconstant.FAILED_RDRAND">FAILED_RDRAND</a></li><li><a href="#associatedconstant.INTERNAL_START">INTERNAL_START</a></li><li><a href="#associatedconstant.IOS_SEC_RANDOM">IOS_SEC_RANDOM</a></li><li><a href="#associatedconstant.NODE_CRYPTO">NODE_CRYPTO</a></li><li><a href="#associatedconstant.NODE_ES_MODULE">NODE_ES_MODULE</a></li><li><a href="#associatedconstant.NODE_RANDOM_FILL_SYNC">NODE_RANDOM_FILL_SYNC</a></li><li><a href="#associatedconstant.NO_RDRAND">NO_RDRAND</a></li><li><a href="#associatedconstant.UNSUPPORTED">UNSUPPORTED</a></li><li><a href="#associatedconstant.VXWORKS_RAND_SECURE">VXWORKS_RAND_SECURE</a></li><li><a href="#associatedconstant.WEB_CRYPTO">WEB_CRYPTO</a></li><li><a href="#associatedconstant.WEB_GET_RANDOM_VALUES">WEB_GET_RANDOM_VALUES</a></li><li><a href="#associatedconstant.WINDOWS_RTL_GEN_RANDOM">WINDOWS_RTL_GEN_RANDOM</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.code">code</a></li><li><a href="#method.raw_os_error">raw_os_error</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-Error">Clone</a></li><li><a href="#impl-Copy-for-Error">Copy</a></li><li><a href="#impl-Debug-for-Error">Debug</a></li><li><a href="#impl-Display-for-Error">Display</a></li><li><a href="#impl-Eq-for-Error">Eq</a></li><li><a href="#impl-Error-for-Error">Error</a></li><li><a href="#impl-From%3CError%3E-for-Error">From<Error></a></li><li><a href="#impl-From%3CNonZeroU32%3E-for-Error">From<NonZeroU32></a></li><li><a href="#impl-PartialEq%3CError%3E-for-Error">PartialEq<Error></a></li><li><a href="#impl-StructuralEq-for-Error">StructuralEq</a></li><li><a href="#impl-StructuralPartialEq-for-Error">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Error">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Error">Send</a></li><li><a href="#impl-Sync-for-Error">Sync</a></li><li><a href="#impl-Unpin-for-Error">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Error">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Error">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Error">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Error">BorrowMut<T></a></li><li><a href="#impl-From%3CT%3E-for-Error">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-Error">Into<U></a></li><li><a href="#impl-Provider-for-Error">Provider</a></li><li><a href="#impl-ToOwned-for-Error">ToOwned</a></li><li><a href="#impl-ToString-for-Error">ToString</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Error">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-Error">TryInto<U></a></li></ul></section><h2><a href="index.html">In getrandom</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="index.html">getrandom</a>::<wbr><a class="struct" href="#">Error</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/getrandom/error.rs.html#25">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct Error(_);</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A small and <code>no_std</code> compatible error type</p> +<p>The <a href="struct.Error.html#method.raw_os_error" title="Error::raw_os_error()"><code>Error::raw_os_error()</code></a> will indicate if the error is from the OS, and +if so, which error code the OS gave the application. If such an error is +encountered, please consult with your system documentation.</p> +<p>Internally this type is a NonZeroU32, with certain values reserved for +certain purposes, see <a href="struct.Error.html#associatedconstant.INTERNAL_START" title="Error::INTERNAL_START"><code>Error::INTERNAL_START</code></a> and <a href="struct.Error.html#associatedconstant.CUSTOM_START" title="Error::CUSTOM_START"><code>Error::CUSTOM_START</code></a>.</p> +<p><em>If this crate’s <code>"std"</code> Cargo feature is enabled</em>, then:</p> +<ul> +<li><a href="struct.Error.html" title="Error"><code>getrandom::Error</code></a> implements +<a href="https://doc.rust-lang.org/std/error/trait.Error.html"><code>std::error::Error</code></a></li> +<li><a href="https://doc.rust-lang.org/std/io/struct.Error.html"><code>std::io::Error</code></a> implements +<a href="https://doc.rust-lang.org/std/convert/trait.From.html"><code>From<getrandom::Error></code></a>.</li> +</ul> +</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Error" class="impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#33-100">source</a><a href="#impl-Error" class="anchor"></a><h3 class="code-header">impl <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedconstant.UNSUPPORTED" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#35">source</a><h4 class="code-header">pub const <a href="#associatedconstant.UNSUPPORTED" class="constant">UNSUPPORTED</a>: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a> = _</h4></section></summary><div class="docblock"><p>This target/platform is not supported by <code>getrandom</code>.</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.ERRNO_NOT_POSITIVE" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#37">source</a><h4 class="code-header">pub const <a href="#associatedconstant.ERRNO_NOT_POSITIVE" class="constant">ERRNO_NOT_POSITIVE</a>: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a> = _</h4></section></summary><div class="docblock"><p>The platform-specific <code>errno</code> returned a non-positive value.</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.IOS_SEC_RANDOM" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#39">source</a><h4 class="code-header">pub const <a href="#associatedconstant.IOS_SEC_RANDOM" class="constant">IOS_SEC_RANDOM</a>: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a> = _</h4></section></summary><div class="docblock"><p>Call to iOS <a href="https://developer.apple.com/documentation/security/1399291-secrandomcopybytes"><code>SecRandomCopyBytes</code></a> failed.</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.WINDOWS_RTL_GEN_RANDOM" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#41">source</a><h4 class="code-header">pub const <a href="#associatedconstant.WINDOWS_RTL_GEN_RANDOM" class="constant">WINDOWS_RTL_GEN_RANDOM</a>: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a> = _</h4></section></summary><div class="docblock"><p>Call to Windows <a href="https://docs.microsoft.com/en-us/windows/win32/api/ntsecapi/nf-ntsecapi-rtlgenrandom"><code>RtlGenRandom</code></a> failed.</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.FAILED_RDRAND" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#43">source</a><h4 class="code-header">pub const <a href="#associatedconstant.FAILED_RDRAND" class="constant">FAILED_RDRAND</a>: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a> = _</h4></section></summary><div class="docblock"><p>RDRAND instruction failed due to a hardware issue.</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.NO_RDRAND" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#45">source</a><h4 class="code-header">pub const <a href="#associatedconstant.NO_RDRAND" class="constant">NO_RDRAND</a>: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a> = _</h4></section></summary><div class="docblock"><p>RDRAND instruction unsupported on this target.</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.WEB_CRYPTO" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#47">source</a><h4 class="code-header">pub const <a href="#associatedconstant.WEB_CRYPTO" class="constant">WEB_CRYPTO</a>: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a> = _</h4></section></summary><div class="docblock"><p>The environment does not support the Web Crypto API.</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.WEB_GET_RANDOM_VALUES" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#49">source</a><h4 class="code-header">pub const <a href="#associatedconstant.WEB_GET_RANDOM_VALUES" class="constant">WEB_GET_RANDOM_VALUES</a>: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a> = _</h4></section></summary><div class="docblock"><p>Calling Web Crypto API <code>crypto.getRandomValues</code> failed.</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.VXWORKS_RAND_SECURE" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#51">source</a><h4 class="code-header">pub const <a href="#associatedconstant.VXWORKS_RAND_SECURE" class="constant">VXWORKS_RAND_SECURE</a>: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a> = _</h4></section></summary><div class="docblock"><p>On VxWorks, call to <code>randSecure</code> failed (random number generator is not yet initialized).</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.NODE_CRYPTO" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#53">source</a><h4 class="code-header">pub const <a href="#associatedconstant.NODE_CRYPTO" class="constant">NODE_CRYPTO</a>: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a> = _</h4></section></summary><div class="docblock"><p>Node.js does not have the <code>crypto</code> CommonJS module.</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.NODE_RANDOM_FILL_SYNC" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#55">source</a><h4 class="code-header">pub const <a href="#associatedconstant.NODE_RANDOM_FILL_SYNC" class="constant">NODE_RANDOM_FILL_SYNC</a>: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a> = _</h4></section></summary><div class="docblock"><p>Calling Node.js function <code>crypto.randomFillSync</code> failed.</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.NODE_ES_MODULE" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#58">source</a><h4 class="code-header">pub const <a href="#associatedconstant.NODE_ES_MODULE" class="constant">NODE_ES_MODULE</a>: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a> = _</h4></section></summary><div class="docblock"><p>Called from an ES module on Node.js. This is unsupported, see: +<a href="https://docs.rs/getrandom#nodejs-es-module-support">https://docs.rs/getrandom#nodejs-es-module-support</a>.</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.INTERNAL_START" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#63">source</a><h4 class="code-header">pub const <a href="#associatedconstant.INTERNAL_START" class="constant">INTERNAL_START</a>: <a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.u32.html">u32</a> = 2_147_483_648u32</h4></section></summary><div class="docblock"><p>Codes below this point represent OS Errors (i.e. positive i32 values). +Codes at or above this point, but below <a href="struct.Error.html#associatedconstant.CUSTOM_START" title="Error::CUSTOM_START"><code>Error::CUSTOM_START</code></a> are +reserved for use by the <code>rand</code> and <code>getrandom</code> crates.</p> +</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.CUSTOM_START" class="associatedconstant has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#67">source</a><h4 class="code-header">pub const <a href="#associatedconstant.CUSTOM_START" class="constant">CUSTOM_START</a>: <a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.u32.html">u32</a> = 3_221_225_472u32</h4></section></summary><div class="docblock"><p>Codes at or above this point can be used by users to define their own +custom errors.</p> +</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.raw_os_error" class="method has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#77-90">source</a><h4 class="code-header">pub fn <a href="#method.raw_os_error" class="fnname">raw_os_error</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.i32.html">i32</a>></h4></section></summary><div class="docblock"><p>Extract the raw OS error code (if this error came from the OS)</p> +<p>This method is identical to <a href="https://doc.rust-lang.org/std/io/struct.Error.html#method.raw_os_error"><code>std::io::Error::raw_os_error()</code></a>, except +that it works in <code>no_std</code> contexts. If this method returns <code>None</code>, the +error value can still be formatted via the <code>Display</code> implementation.</p> +</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.code" class="method has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#97-99">source</a><h4 class="code-header">pub const fn <a href="#method.code" class="fnname">code</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/1.66.0/core/num/nonzero/struct.NonZeroU32.html" title="struct core::num::nonzero::NonZeroU32">NonZeroU32</a></h4></section></summary><div class="docblock"><p>Extract the bare error code.</p> +<p>This code can either come from the underlying OS, or be a custom error. +Use <a href="struct.Error.html#method.raw_os_error" title="Error::raw_os_error()"><code>Error::raw_os_error()</code></a> to disambiguate.</p> +</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#24">source</a><a href="#impl-Clone-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#24">source</a><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.66.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.66.0/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.reference.html">&</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.66.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#122-139">source</a><a href="#impl-Debug-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#123-138">source</a><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/1.66.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/1.66.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.66.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Display-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#141-155">source</a><a href="#impl-Display-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#142-154">source</a><a href="#method.fmt-1" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/1.66.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/1.66.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.66.0/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Error-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error_impls.rs.html#24">source</a><a href="#impl-Error-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.source" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.66.0/src/core/error.rs.html#83">source</a></span><a href="#method.source" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + 'static)></h4></section></summary><div class='docblock'>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/1.66.0/core/error/trait.Error.html#method.source">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.description" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.66.0/src/core/error.rs.html#109">source</a></span><a href="#method.description" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a></h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.42.0: use the Display impl or to_string()</span></div></span><div class='docblock'> <a href="https://doc.rust-lang.org/1.66.0/core/error/trait.Error.html#method.description">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.cause" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.66.0/src/core/error.rs.html#119">source</a></span><a href="#method.cause" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>></h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.33.0: replaced by Error::source, which can support downcasting</span></div></span></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.provide" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/core/error.rs.html#193">source</a><a href="#method.provide" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/error/trait.Error.html#method.provide" class="fnname">provide</a>(&'a self, demand: &mut <a class="struct" href="https://doc.rust-lang.org/1.66.0/core/any/struct.Demand.html" title="struct core::any::Demand">Demand</a><'a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>error_generic_member_access</code>)</span></div></span><div class='docblock'>Provides type based access to context intended for error reports. <a href="https://doc.rust-lang.org/1.66.0/core/error/trait.Error.html#method.provide">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CError%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error_impls.rs.html#15-22">source</a><a href="#impl-From%3CError%3E-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a>> for <a class="struct" href="https://doc.rust-lang.org/1.66.0/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error_impls.rs.html#16-21">source</a><a href="#method.from-1" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a>) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CNonZeroU32%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#157-161">source</a><a href="#impl-From%3CNonZeroU32%3E-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://doc.rust-lang.org/1.66.0/core/num/nonzero/struct.NonZeroU32.html" title="struct core::num::nonzero::NonZeroU32">NonZeroU32</a>> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#158-160">source</a><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(code: <a class="struct" href="https://doc.rust-lang.org/1.66.0/core/num/nonzero/struct.NonZeroU32.html" title="struct core::num::nonzero::NonZeroU32">NonZeroU32</a>) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CError%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#24">source</a><a href="#impl-PartialEq%3CError%3E-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a>> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#24">source</a><a href="#method.eq" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used +by <code>==</code>. <a href="https://doc.rust-lang.org/1.66.0/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.66.0/src/core/cmp.rs.html#227">source</a></span><a href="#method.ne" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always +sufficient, and should not be overridden without very good reason. <a href="https://doc.rust-lang.org/1.66.0/core/cmp/trait.PartialEq.html#method.ne">Read more</a></div></details></div></details><section id="impl-Copy-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#24">source</a><a href="#impl-Copy-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section><section id="impl-Eq-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#24">source</a><a href="#impl-Eq-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section><section id="impl-StructuralEq-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#24">source</a><a href="#impl-StructuralEq-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section><section id="impl-StructuralPartialEq-for-Error" class="impl has-srclink"><a class="srclink rightside" href="../src/getrandom/error.rs.html#24">source</a><a href="#impl-StructuralPartialEq-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Error" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section><section id="impl-Send-for-Error" class="impl has-srclink"><a href="#impl-Send-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section><section id="impl-Sync-for-Error" class="impl has-srclink"><a href="#impl-Sync-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section><section id="impl-Unpin-for-Error" class="impl has-srclink"><a href="#impl-Unpin-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section><section id="impl-UnwindSafe-for-Error" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Error" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Error.html" title="struct getrandom::Error">Error</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Error" class="anchor"></a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.66.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/1.66.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.66.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Error" class="anchor"></a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/1.66.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.66.0/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.reference.html">&</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.66.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Error" class="anchor"></a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/1.66.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.66.0/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.reference.html">&mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.66.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Error" class="anchor"></a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.66.0/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from-2" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p> +</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Error" class="anchor"></a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.66.0/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p> +<p>That is, this conversion is whatever the implementation of +<code><a href="https://doc.rust-lang.org/1.66.0/core/convert/trait.From.html" title="From">From</a><T> for U</code> chooses to do.</p> +</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Provider-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/core/error.rs.html#197">source</a><a href="#impl-Provider-for-Error" class="anchor"></a><h3 class="code-header">impl<E> <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/any/trait.Provider.html" title="trait core::any::Provider">Provider</a> for E<span class="where fmt-newline">where<br> E: <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.66.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.provide-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/core/error.rs.html#201">source</a><a href="#method.provide-1" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/any/trait.Provider.html#tymethod.provide" class="fnname">provide</a>(&'a self, demand: &mut <a class="struct" href="https://doc.rust-lang.org/1.66.0/core/any/struct.Demand.html" title="struct core::any::Demand">Demand</a><'a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>provide_any</code>)</span></div></span><div class='docblock'>Data providers should implement this method to provide <em>all</em> values they are able to +provide by using <code>demand</code>. <a href="https://doc.rust-lang.org/1.66.0/core/any/trait.Provider.html#tymethod.provide">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-Error" class="anchor"></a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.66.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.66.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.66.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/1.66.0/std/primitive.reference.html">&mut </a>T)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.66.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToString-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/alloc/string.rs.html#2526">source</a><a href="#impl-ToString-for-Error" class="anchor"></a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.66.0/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T<span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.66.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_string" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/alloc/string.rs.html#2532">source</a><a href="#method.to_string" class="anchor"></a><h4 class="code-header">default fn <a href="https://doc.rust-lang.org/1.66.0/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/1.66.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class='docblock'>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/1.66.0/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Error" class="anchor"></a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.66.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.66.0/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/1.66.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Error" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.66.0/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Error" class="anchor"></a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.66.0/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.66.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.66.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="getrandom" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0 (69f9c33d7 2022-12-12) (Arch Linux rust 1:1.66.0-1)" ></div></body></html>
\ No newline at end of file |