424 lines
80 KiB
HTML
424 lines
80 KiB
HTML
<!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 `Formatter` struct in crate `nom`."><meta name="keywords" content="rust, rustlang, rust-lang, Formatter"><title>nom::lib::std::fmt::Formatter - 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="../../../../light.css" id="themeStyle"><script src="../../../../storage.js"></script><noscript><link rel="stylesheet" href="../../../../noscript.css"></noscript><link rel="shortcut icon" href="../../../../favicon.ico"><style type="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[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">☰</div><a href='../../../../nom/index.html'><div class='logo-container'><img src='../../../../rust-logo.png' alt='logo'></div></a><p class='location'>Struct Formatter</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.align">align</a><a href="#method.alternate">alternate</a><a href="#method.debug_list">debug_list</a><a href="#method.debug_map">debug_map</a><a href="#method.debug_set">debug_set</a><a href="#method.debug_struct">debug_struct</a><a href="#method.debug_tuple">debug_tuple</a><a href="#method.fill">fill</a><a href="#method.flags">flags</a><a href="#method.pad">pad</a><a href="#method.pad_integral">pad_integral</a><a href="#method.precision">precision</a><a href="#method.sign_aware_zero_pad">sign_aware_zero_pad</a><a href="#method.sign_minus">sign_minus</a><a href="#method.sign_plus">sign_plus</a><a href="#method.width">width</a><a href="#method.write_fmt">write_fmt</a><a href="#method.write_str">write_str</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Write">Write</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><p class='location'><a href='../../../index.html'>nom</a>::<wbr><a href='../../index.html'>lib</a>::<wbr><a href='../index.html'>std</a>::<wbr><a href='index.html'>fmt</a></p><script>window.sidebarCurrent = {name: 'Formatter', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></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"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><a id="settings-menu" href="../../../../settings.html"><img src="../../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>−</span>]</a></span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#228-236' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='../../../index.html'>nom</a>::<wbr><a href='../../index.html'>lib</a>::<wbr><a href='../index.html'>std</a>::<wbr><a href='index.html'>fmt</a>::<wbr><a class="struct" href=''>Formatter</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct Formatter<'a> { /* fields omitted */ }</pre></div><div class='docblock'><p>Configuration for formatting.</p>
|
||
<p>A <code>Formatter</code> represents various options related to formatting. Users do not
|
||
construct <code>Formatter</code>s directly; a mutable reference to one is passed to
|
||
the <code>fmt</code> method of all formatting traits, like <a href="trait.Debug.html"><code>Debug</code></a> and <a href="trait.Display.html"><code>Display</code></a>.</p>
|
||
<p>To interact with a <code>Formatter</code>, you'll call various methods to change the
|
||
various options related to formatting. For examples, please see the
|
||
documentation of the methods defined on <code>Formatter</code> below.</p>
|
||
</div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl<'a> <a class="struct" href="../../../../nom/lib/std/fmt/struct.Formatter.html" title="struct nom::lib::std::fmt::Formatter">Formatter</a><'a></code><a href='#impl' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1129-1928' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.pad_integral' class="method"><code id='pad_integral.v'>pub fn <a href='#method.pad_integral' class='fnname'>pad_integral</a>(<br> &mut self, <br> is_nonnegative: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <br> prefix: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br> buf: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><br>) -> <a class="enum" href="../../../../nom/lib/std/prelude/v1/v1/enum.Result.html" title="enum nom::lib::std::prelude::v1::v1::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../../../nom/lib/std/fmt/struct.Error.html" title="struct nom::lib::std::fmt::Error">Error</a>></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1195-1258' title='goto source code'>[src]</a></h4><div class='docblock'><p>Performs the correct padding for an integer which has already been
|
||
emitted into a str. The str should <em>not</em> contain the sign for the
|
||
integer, that will be added by this method.</p>
|
||
<h1 id="arguments" class="section-header"><a href="#arguments">Arguments</a></h1>
|
||
<ul>
|
||
<li>is_nonnegative - whether the original integer was either positive or zero.</li>
|
||
<li>prefix - if the '#' character (Alternate) is provided, this
|
||
is the prefix to put in front of the number.</li>
|
||
<li>buf - the byte array that the number has been formatted into</li>
|
||
</ul>
|
||
<p>This function will correctly account for the flags provided as well as
|
||
the minimum width. It will not take precision into account.</p>
|
||
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span> { <span class="ident">nb</span>: <span class="ident">i32</span> };
|
||
|
||
<span class="kw">impl</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">new</span>(<span class="ident">nb</span>: <span class="ident">i32</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Foo</span> {
|
||
<span class="ident">Foo</span> {
|
||
<span class="ident">nb</span>,
|
||
}
|
||
}
|
||
}
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">formatter</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="comment">// We need to remove "-" from the number output.</span>
|
||
<span class="kw">let</span> <span class="ident">tmp</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">nb</span>.<span class="ident">abs</span>().<span class="ident">to_string</span>();
|
||
|
||
<span class="ident">formatter</span>.<span class="ident">pad_integral</span>(<span class="self">self</span>.<span class="ident">nb</span> <span class="op">></span> <span class="number">0</span>, <span class="string">"Foo "</span>, <span class="kw-2">&</span><span class="ident">tmp</span>)
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">Foo</span>::<span class="ident">new</span>(<span class="number">2</span>)), <span class="string">"2"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">Foo</span>::<span class="ident">new</span>(<span class="op">-</span><span class="number">1</span>)), <span class="string">"-1"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:#}"</span>, <span class="ident">Foo</span>::<span class="ident">new</span>(<span class="op">-</span><span class="number">1</span>)), <span class="string">"-Foo 1"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:0>#8}"</span>, <span class="ident">Foo</span>::<span class="ident">new</span>(<span class="op">-</span><span class="number">1</span>)), <span class="string">"00-Foo 1"</span>);</pre></div>
|
||
</div><h4 id='method.pad' class="method"><code id='pad.v'>pub fn <a href='#method.pad' class='fnname'>pad</a>(&mut self, s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="../../../../nom/lib/std/prelude/v1/v1/enum.Result.html" title="enum nom::lib::std::prelude::v1::v1::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../../../nom/lib/std/fmt/struct.Error.html" title="struct nom::lib::std::fmt::Error">Error</a>></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1289-1329' title='goto source code'>[src]</a></h4><div class='docblock'><p>This function takes a string slice and emits it to the internal buffer
|
||
after applying the relevant formatting flags specified. The flags
|
||
recognized for generic strings are:</p>
|
||
<ul>
|
||
<li>width - the minimum width of what to emit</li>
|
||
<li>fill/align - what to emit and where to emit it if the string
|
||
provided needs to be padded</li>
|
||
<li>precision - the maximum length to emit, the string is truncated if it
|
||
is longer than this length</li>
|
||
</ul>
|
||
<p>Notably this function ignores the <code>flag</code> parameters.</p>
|
||
<h1 id="examples-1" class="section-header"><a href="#examples-1">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>;
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">formatter</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="ident">formatter</span>.<span class="ident">pad</span>(<span class="string">"Foo"</span>)
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:<4}"</span>, <span class="ident">Foo</span>), <span class="string">"Foo "</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:0>4}"</span>, <span class="ident">Foo</span>), <span class="string">"0Foo"</span>);</pre></div>
|
||
</div><h4 id='method.write_str' class="method"><code id='write_str.v'>pub fn <a href='#method.write_str' class='fnname'>write_str</a>(&mut self, data: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="../../../../nom/lib/std/prelude/v1/v1/enum.Result.html" title="enum nom::lib::std::prelude::v1::v1::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../../../nom/lib/std/fmt/struct.Error.html" title="struct nom::lib::std::fmt::Error">Error</a>></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1460-1462' title='goto source code'>[src]</a></h4><div class='docblock'><p>Writes some data to the underlying buffer contained within this
|
||
formatter.</p>
|
||
<h1 id="examples-2" class="section-header"><a href="#examples-2">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>;
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">formatter</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="ident">formatter</span>.<span class="ident">write_str</span>(<span class="string">"Foo"</span>)
|
||
<span class="comment">// This is equivalent to:</span>
|
||
<span class="comment">// write!(formatter, "Foo")</span>
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">Foo</span>), <span class="string">"Foo"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:0>8}"</span>, <span class="ident">Foo</span>), <span class="string">"Foo"</span>);</pre></div>
|
||
</div><h4 id='method.write_fmt' class="method"><code id='write_fmt.v'>pub fn <a href='#method.write_fmt' class='fnname'>write_fmt</a>(&mut self, fmt: <a class="struct" href="../../../../nom/lib/std/fmt/struct.Arguments.html" title="struct nom::lib::std::fmt::Arguments">Arguments</a>) -> <a class="enum" href="../../../../nom/lib/std/prelude/v1/v1/enum.Result.html" title="enum nom::lib::std::prelude::v1::v1::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../../../nom/lib/std/fmt/struct.Error.html" title="struct nom::lib::std::fmt::Error">Error</a>></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1483-1485' title='goto source code'>[src]</a></h4><div class='docblock'><p>Writes some formatted information into this instance.</p>
|
||
<h1 id="examples-3" class="section-header"><a href="#examples-3">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>(<span class="ident">i32</span>);
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">formatter</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="ident">formatter</span>.<span class="ident">write_fmt</span>(<span class="macro">format_args</span><span class="macro">!</span>(<span class="string">"Foo {}"</span>, <span class="self">self</span>.<span class="number">0</span>))
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">Foo</span>(<span class="op">-</span><span class="number">1</span>)), <span class="string">"Foo -1"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:0>8}"</span>, <span class="ident">Foo</span>(<span class="number">2</span>)), <span class="string">"Foo 2"</span>);</pre></div>
|
||
</div><h4 id='method.flags' class="method"><code id='flags.v'>pub fn <a href='#method.flags' class='fnname'>flags</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1494-1496' title='goto source code'>[src]</a></h4><div class='stability'><div class='stab deprecated'>Deprecated since 1.24.0: <p>use the <code>sign_plus</code>, <code>sign_minus</code>, <code>alternate</code>, or <code>sign_aware_zero_pad</code> methods instead</p>
|
||
</div></div><div class='docblock'><p>Flags for formatting</p>
|
||
</div><h4 id='method.fill' class="method"><code id='fill.v'>pub fn <a href='#method.fill' class='fnname'>fill</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a></code><span class='since' title='Stable since Rust version 1.5.0'>1.5.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1526-1528' title='goto source code'>[src]</a></h4><div class='docblock'><p>Character used as 'fill' whenever there is alignment.</p>
|
||
<h1 id="examples-4" class="section-header"><a href="#examples-4">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>;
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">formatter</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="kw">let</span> <span class="ident">c</span> <span class="op">=</span> <span class="ident">formatter</span>.<span class="ident">fill</span>();
|
||
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">width</span>) <span class="op">=</span> <span class="ident">formatter</span>.<span class="ident">width</span>() {
|
||
<span class="kw">for</span> <span class="kw">_</span> <span class="kw">in</span> <span class="number">0</span>..<span class="ident">width</span> {
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"{}"</span>, <span class="ident">c</span>)<span class="question-mark">?</span>;
|
||
}
|
||
<span class="prelude-val">Ok</span>(())
|
||
} <span class="kw">else</span> {
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"{}"</span>, <span class="ident">c</span>)
|
||
}
|
||
}
|
||
}
|
||
|
||
<span class="comment">// We set alignment to the left with ">".</span>
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:G>3}"</span>, <span class="ident">Foo</span>), <span class="string">"GGG"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:t>6}"</span>, <span class="ident">Foo</span>), <span class="string">"tttttt"</span>);</pre></div>
|
||
</div><h4 id='method.align' class="method"><code id='align.v'>pub fn <a href='#method.align' class='fnname'>align</a>(&self) -> <a class="enum" href="../../../../nom/lib/std/prelude/v1/v1/enum.Option.html" title="enum nom::lib::std::prelude::v1::v1::Option">Option</a><<a class="enum" href="../../../../nom/lib/std/fmt/enum.Alignment.html" title="enum nom::lib::std::fmt::Alignment">Alignment</a>></code><span class='since' title='Stable since Rust version 1.28.0'>1.28.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1562-1569' title='goto source code'>[src]</a></h4><div class='docblock'><p>Flag indicating what form of alignment was requested.</p>
|
||
<h1 id="examples-5" class="section-header"><a href="#examples-5">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">core</span>;
|
||
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>::{<span class="self">self</span>, <span class="ident">Alignment</span>};
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>;
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">formatter</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="kw">let</span> <span class="ident">s</span> <span class="op">=</span> <span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">s</span>) <span class="op">=</span> <span class="ident">formatter</span>.<span class="ident">align</span>() {
|
||
<span class="kw">match</span> <span class="ident">s</span> {
|
||
<span class="ident">Alignment</span>::<span class="ident">Left</span> <span class="op">=</span><span class="op">></span> <span class="string">"left"</span>,
|
||
<span class="ident">Alignment</span>::<span class="ident">Right</span> <span class="op">=</span><span class="op">></span> <span class="string">"right"</span>,
|
||
<span class="ident">Alignment</span>::<span class="ident">Center</span> <span class="op">=</span><span class="op">></span> <span class="string">"center"</span>,
|
||
}
|
||
} <span class="kw">else</span> {
|
||
<span class="string">"into the void"</span>
|
||
};
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"{}"</span>, <span class="ident">s</span>)
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:<}"</span>, <span class="ident">Foo</span>), <span class="string">"left"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:>}"</span>, <span class="ident">Foo</span>), <span class="string">"right"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:^}"</span>, <span class="ident">Foo</span>), <span class="string">"center"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">Foo</span>), <span class="string">"into the void"</span>);</pre></div>
|
||
</div><h4 id='method.width' class="method"><code id='width.v'>pub fn <a href='#method.width' class='fnname'>width</a>(&self) -> <a class="enum" href="../../../../nom/lib/std/prelude/v1/v1/enum.Option.html" title="enum nom::lib::std::prelude::v1::v1::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>></code><span class='since' title='Stable since Rust version 1.5.0'>1.5.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1596-1598' title='goto source code'>[src]</a></h4><div class='docblock'><p>Optionally specified integer width that the output should be.</p>
|
||
<h1 id="examples-6" class="section-header"><a href="#examples-6">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>(<span class="ident">i32</span>);
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">formatter</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">width</span>) <span class="op">=</span> <span class="ident">formatter</span>.<span class="ident">width</span>() {
|
||
<span class="comment">// If we received a width, we use it</span>
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"{:width$}"</span>, <span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"Foo({})"</span>, <span class="self">self</span>.<span class="number">0</span>), <span class="ident">width</span> <span class="op">=</span> <span class="ident">width</span>)
|
||
} <span class="kw">else</span> {
|
||
<span class="comment">// Otherwise we do nothing special</span>
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"Foo({})"</span>, <span class="self">self</span>.<span class="number">0</span>)
|
||
}
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:10}"</span>, <span class="ident">Foo</span>(<span class="number">23</span>)), <span class="string">"Foo(23) "</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">Foo</span>(<span class="number">23</span>)), <span class="string">"Foo(23)"</span>);</pre></div>
|
||
</div><h4 id='method.precision' class="method"><code id='precision.v'>pub fn <a href='#method.precision' class='fnname'>precision</a>(&self) -> <a class="enum" href="../../../../nom/lib/std/prelude/v1/v1/enum.Option.html" title="enum nom::lib::std::prelude::v1::v1::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>></code><span class='since' title='Stable since Rust version 1.5.0'>1.5.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1625-1627' title='goto source code'>[src]</a></h4><div class='docblock'><p>Optionally specified precision for numeric types.</p>
|
||
<h1 id="examples-7" class="section-header"><a href="#examples-7">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>(<span class="ident">f32</span>);
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">formatter</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">precision</span>) <span class="op">=</span> <span class="ident">formatter</span>.<span class="ident">precision</span>() {
|
||
<span class="comment">// If we received a precision, we use it.</span>
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"Foo({1:.*})"</span>, <span class="ident">precision</span>, <span class="self">self</span>.<span class="number">0</span>)
|
||
} <span class="kw">else</span> {
|
||
<span class="comment">// Otherwise we default to 2.</span>
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"Foo({:.2})"</span>, <span class="self">self</span>.<span class="number">0</span>)
|
||
}
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:.4}"</span>, <span class="ident">Foo</span>(<span class="number">23.2</span>)), <span class="string">"Foo(23.2000)"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">Foo</span>(<span class="number">23.2</span>)), <span class="string">"Foo(23.20)"</span>);</pre></div>
|
||
</div><h4 id='method.sign_plus' class="method"><code id='sign_plus.v'>pub fn <a href='#method.sign_plus' class='fnname'>sign_plus</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class='since' title='Stable since Rust version 1.5.0'>1.5.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1655-1657' title='goto source code'>[src]</a></h4><div class='docblock'><p>Determines if the <code>+</code> flag was specified.</p>
|
||
<h1 id="examples-8" class="section-header"><a href="#examples-8">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>(<span class="ident">i32</span>);
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">formatter</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="kw">if</span> <span class="ident">formatter</span>.<span class="ident">sign_plus</span>() {
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>,
|
||
<span class="string">"Foo({}{})"</span>,
|
||
<span class="kw">if</span> <span class="self">self</span>.<span class="number">0</span> <span class="op"><</span> <span class="number">0</span> { <span class="string">'-'</span> } <span class="kw">else</span> { <span class="string">'+'</span> },
|
||
<span class="self">self</span>.<span class="number">0</span>)
|
||
} <span class="kw">else</span> {
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"Foo({})"</span>, <span class="self">self</span>.<span class="number">0</span>)
|
||
}
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:+}"</span>, <span class="ident">Foo</span>(<span class="number">23</span>)), <span class="string">"Foo(+23)"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">Foo</span>(<span class="number">23</span>)), <span class="string">"Foo(23)"</span>);</pre></div>
|
||
</div><h4 id='method.sign_minus' class="method"><code id='sign_minus.v'>pub fn <a href='#method.sign_minus' class='fnname'>sign_minus</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class='since' title='Stable since Rust version 1.5.0'>1.5.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1683-1685' title='goto source code'>[src]</a></h4><div class='docblock'><p>Determines if the <code>-</code> flag was specified.</p>
|
||
<h1 id="examples-9" class="section-header"><a href="#examples-9">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>(<span class="ident">i32</span>);
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">formatter</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="kw">if</span> <span class="ident">formatter</span>.<span class="ident">sign_minus</span>() {
|
||
<span class="comment">// You want a minus sign? Have one!</span>
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"-Foo({})"</span>, <span class="self">self</span>.<span class="number">0</span>)
|
||
} <span class="kw">else</span> {
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"Foo({})"</span>, <span class="self">self</span>.<span class="number">0</span>)
|
||
}
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:-}"</span>, <span class="ident">Foo</span>(<span class="number">23</span>)), <span class="string">"-Foo(23)"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">Foo</span>(<span class="number">23</span>)), <span class="string">"Foo(23)"</span>);</pre></div>
|
||
</div><h4 id='method.alternate' class="method"><code id='alternate.v'>pub fn <a href='#method.alternate' class='fnname'>alternate</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class='since' title='Stable since Rust version 1.5.0'>1.5.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1710-1712' title='goto source code'>[src]</a></h4><div class='docblock'><p>Determines if the <code>#</code> flag was specified.</p>
|
||
<h1 id="examples-10" class="section-header"><a href="#examples-10">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>(<span class="ident">i32</span>);
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">formatter</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="kw">if</span> <span class="ident">formatter</span>.<span class="ident">alternate</span>() {
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"Foo({})"</span>, <span class="self">self</span>.<span class="number">0</span>)
|
||
} <span class="kw">else</span> {
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"{}"</span>, <span class="self">self</span>.<span class="number">0</span>)
|
||
}
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:#}"</span>, <span class="ident">Foo</span>(<span class="number">23</span>)), <span class="string">"Foo(23)"</span>);
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">Foo</span>(<span class="number">23</span>)), <span class="string">"23"</span>);</pre></div>
|
||
</div><h4 id='method.sign_aware_zero_pad' class="method"><code id='sign_aware_zero_pad.v'>pub fn <a href='#method.sign_aware_zero_pad' class='fnname'>sign_aware_zero_pad</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class='since' title='Stable since Rust version 1.5.0'>1.5.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1735-1737' title='goto source code'>[src]</a></h4><div class='docblock'><p>Determines if the <code>0</code> flag was specified.</p>
|
||
<h1 id="examples-11" class="section-header"><a href="#examples-11">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>(<span class="ident">i32</span>);
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">formatter</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">formatter</span>.<span class="ident">sign_aware_zero_pad</span>());
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">formatter</span>.<span class="ident">width</span>(), <span class="prelude-val">Some</span>(<span class="number">4</span>));
|
||
<span class="comment">// We ignore the formatter's options.</span>
|
||
<span class="macro">write</span><span class="macro">!</span>(<span class="ident">formatter</span>, <span class="string">"{}"</span>, <span class="self">self</span>.<span class="number">0</span>)
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:04}"</span>, <span class="ident">Foo</span>(<span class="number">23</span>)), <span class="string">"23"</span>);</pre></div>
|
||
</div><h4 id='method.debug_struct' class="method"><code id='debug_struct.v'>pub fn <a href='#method.debug_struct' class='fnname'>debug_struct</a>(&'b mut self, name: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="struct" href="../../../../nom/lib/std/fmt/struct.DebugStruct.html" title="struct nom::lib::std::fmt::DebugStruct">DebugStruct</a><'b, 'a></code><span class='since' title='Stable since Rust version 1.2.0'>1.2.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1787-1789' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates a <a href="../../std/fmt/struct.DebugStruct.html"><code>DebugStruct</code></a> builder designed to assist with creation of
|
||
<a href="../../std/fmt/trait.Debug.html"><code>fmt::Debug</code></a> implementations for structs.</p>
|
||
<h1 id="examples-12" class="section-header"><a href="#examples-12">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">net</span>::<span class="ident">Ipv4Addr</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span> {
|
||
<span class="ident">bar</span>: <span class="ident">i32</span>,
|
||
<span class="ident">baz</span>: <span class="ident">String</span>,
|
||
<span class="ident">addr</span>: <span class="ident">Ipv4Addr</span>,
|
||
}
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Debug</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">fmt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="ident">fmt</span>.<span class="ident">debug_struct</span>(<span class="string">"Foo"</span>)
|
||
.<span class="ident">field</span>(<span class="string">"bar"</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">bar</span>)
|
||
.<span class="ident">field</span>(<span class="string">"baz"</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">baz</span>)
|
||
.<span class="ident">field</span>(<span class="string">"addr"</span>, <span class="kw-2">&</span><span class="macro">format_args</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="self">self</span>.<span class="ident">addr</span>))
|
||
.<span class="ident">finish</span>()
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(
|
||
<span class="string">"Foo { bar: 10, baz: \"Hello World\", addr: 127.0.0.1 }"</span>,
|
||
<span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:?}"</span>, <span class="ident">Foo</span> {
|
||
<span class="ident">bar</span>: <span class="number">10</span>,
|
||
<span class="ident">baz</span>: <span class="string">"Hello World"</span>.<span class="ident">to_string</span>(),
|
||
<span class="ident">addr</span>: <span class="ident">Ipv4Addr</span>::<span class="ident">new</span>(<span class="number">127</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>),
|
||
})
|
||
);</pre></div>
|
||
</div><h4 id='method.debug_tuple' class="method"><code id='debug_tuple.v'>pub fn <a href='#method.debug_tuple' class='fnname'>debug_tuple</a>(&'b mut self, name: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="struct" href="../../../../nom/lib/std/fmt/struct.DebugTuple.html" title="struct nom::lib::std::fmt::DebugTuple">DebugTuple</a><'b, 'a></code><span class='since' title='Stable since Rust version 1.2.0'>1.2.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1818-1820' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates a <code>DebugTuple</code> builder designed to assist with creation of
|
||
<code>fmt::Debug</code> implementations for tuple structs.</p>
|
||
<h1 id="examples-13" class="section-header"><a href="#examples-13">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">marker</span>::<span class="ident">PhantomData</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>(<span class="ident">i32</span>, <span class="ident">String</span>, <span class="ident">PhantomData</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>);
|
||
|
||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="ident">fmt</span>::<span class="ident">Debug</span> <span class="kw">for</span> <span class="ident">Foo</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">fmt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="ident">fmt</span>.<span class="ident">debug_tuple</span>(<span class="string">"Foo"</span>)
|
||
.<span class="ident">field</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="number">0</span>)
|
||
.<span class="ident">field</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="number">1</span>)
|
||
.<span class="ident">field</span>(<span class="kw-2">&</span><span class="macro">format_args</span><span class="macro">!</span>(<span class="string">"_"</span>))
|
||
.<span class="ident">finish</span>()
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(
|
||
<span class="string">"Foo(10, \"Hello\", _)"</span>,
|
||
<span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:?}"</span>, <span class="ident">Foo</span>(<span class="number">10</span>, <span class="string">"Hello"</span>.<span class="ident">to_string</span>(), <span class="ident">PhantomData</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>))
|
||
);</pre></div>
|
||
</div><h4 id='method.debug_list' class="method"><code id='debug_list.v'>pub fn <a href='#method.debug_list' class='fnname'>debug_list</a>(&'b mut self) -> <a class="struct" href="../../../../nom/lib/std/fmt/struct.DebugList.html" title="struct nom::lib::std::fmt::DebugList">DebugList</a><'b, 'a></code><span class='since' title='Stable since Rust version 1.2.0'>1.2.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1841-1843' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates a <code>DebugList</code> builder designed to assist with creation of
|
||
<code>fmt::Debug</code> implementations for list-like structures.</p>
|
||
<h1 id="examples-14" class="section-header"><a href="#examples-14">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>(<span class="ident">Vec</span><span class="op"><</span><span class="ident">i32</span><span class="op">></span>);
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Debug</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">fmt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="ident">fmt</span>.<span class="ident">debug_list</span>().<span class="ident">entries</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">iter</span>()).<span class="ident">finish</span>()
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:?}"</span>, <span class="ident">Foo</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="number">10</span>, <span class="number">11</span>])), <span class="string">"[10, 11]"</span>);</pre></div>
|
||
</div><h4 id='method.debug_set' class="method"><code id='debug_set.v'>pub fn <a href='#method.debug_set' class='fnname'>debug_set</a>(&'b mut self) -> <a class="struct" href="../../../../nom/lib/std/fmt/struct.DebugSet.html" title="struct nom::lib::std::fmt::DebugSet">DebugSet</a><'b, 'a></code><span class='since' title='Stable since Rust version 1.2.0'>1.2.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1899-1901' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates a <code>DebugSet</code> builder designed to assist with creation of
|
||
<code>fmt::Debug</code> implementations for set-like structures.</p>
|
||
<h1 id="examples-15" class="section-header"><a href="#examples-15">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>(<span class="ident">Vec</span><span class="op"><</span><span class="ident">i32</span><span class="op">></span>);
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Debug</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">fmt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="ident">fmt</span>.<span class="ident">debug_set</span>().<span class="ident">entries</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">iter</span>()).<span class="ident">finish</span>()
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:?}"</span>, <span class="ident">Foo</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="number">10</span>, <span class="number">11</span>])), <span class="string">"{10, 11}"</span>);</pre></div>
|
||
<p>In this more complex example, we use <a href="../../std/macro.format_args.html"><code>format_args!</code></a> and <code>.debug_set()</code>
|
||
to build a list of match arms:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Arm</span><span class="op"><</span><span class="lifetime">'a</span>, <span class="ident">L</span>: <span class="lifetime">'a</span>, <span class="ident">R</span>: <span class="lifetime">'a</span><span class="op">></span>(<span class="kw-2">&</span><span class="lifetime">'a</span> (<span class="ident">L</span>, <span class="ident">R</span>));
|
||
<span class="kw">struct</span> <span class="ident">Table</span><span class="op"><</span><span class="lifetime">'a</span>, <span class="ident">K</span>: <span class="lifetime">'a</span>, <span class="ident">V</span>: <span class="lifetime">'a</span><span class="op">></span>(<span class="kw-2">&</span><span class="lifetime">'a</span> [(<span class="ident">K</span>, <span class="ident">V</span>)], <span class="ident">V</span>);
|
||
|
||
<span class="kw">impl</span><span class="op"><</span><span class="lifetime">'a</span>, <span class="ident">L</span>, <span class="ident">R</span><span class="op">></span> <span class="ident">fmt</span>::<span class="ident">Debug</span> <span class="kw">for</span> <span class="ident">Arm</span><span class="op"><</span><span class="lifetime">'a</span>, <span class="ident">L</span>, <span class="ident">R</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">L</span>: <span class="lifetime">'a</span> <span class="op">+</span> <span class="ident">fmt</span>::<span class="ident">Debug</span>, <span class="ident">R</span>: <span class="lifetime">'a</span> <span class="op">+</span> <span class="ident">fmt</span>::<span class="ident">Debug</span>
|
||
{
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">fmt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="ident">L</span>::<span class="ident">fmt</span>(<span class="kw-2">&</span>(<span class="self">self</span>.<span class="number">0</span>).<span class="number">0</span>, <span class="ident">fmt</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">fmt</span>.<span class="ident">write_str</span>(<span class="string">" => "</span>)<span class="question-mark">?</span>;
|
||
<span class="ident">R</span>::<span class="ident">fmt</span>(<span class="kw-2">&</span>(<span class="self">self</span>.<span class="number">0</span>).<span class="number">1</span>, <span class="ident">fmt</span>)
|
||
}
|
||
}
|
||
|
||
<span class="kw">impl</span><span class="op"><</span><span class="lifetime">'a</span>, <span class="ident">K</span>, <span class="ident">V</span><span class="op">></span> <span class="ident">fmt</span>::<span class="ident">Debug</span> <span class="kw">for</span> <span class="ident">Table</span><span class="op"><</span><span class="lifetime">'a</span>, <span class="ident">K</span>, <span class="ident">V</span><span class="op">></span>
|
||
<span class="kw">where</span>
|
||
<span class="ident">K</span>: <span class="lifetime">'a</span> <span class="op">+</span> <span class="ident">fmt</span>::<span class="ident">Debug</span>, <span class="ident">V</span>: <span class="lifetime">'a</span> <span class="op">+</span> <span class="ident">fmt</span>::<span class="ident">Debug</span>
|
||
{
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">fmt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="ident">fmt</span>.<span class="ident">debug_set</span>()
|
||
.<span class="ident">entries</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="ident">Arm</span>))
|
||
.<span class="ident">entry</span>(<span class="kw-2">&</span><span class="ident">Arm</span>(<span class="kw-2">&</span>(<span class="macro">format_args</span><span class="macro">!</span>(<span class="string">"_"</span>), <span class="kw-2">&</span><span class="self">self</span>.<span class="number">1</span>)))
|
||
.<span class="ident">finish</span>()
|
||
}
|
||
}</pre></div>
|
||
</div><h4 id='method.debug_map' class="method"><code id='debug_map.v'>pub fn <a href='#method.debug_map' class='fnname'>debug_map</a>(&'b mut self) -> <a class="struct" href="../../../../nom/lib/std/fmt/struct.DebugMap.html" title="struct nom::lib::std::fmt::DebugMap">DebugMap</a><'b, 'a></code><span class='since' title='Stable since Rust version 1.2.0'>1.2.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1925-1927' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates a <code>DebugMap</code> builder designed to assist with creation of
|
||
<code>fmt::Debug</code> implementations for map-like structures.</p>
|
||
<h1 id="examples-16" class="section-header"><a href="#examples-16">Examples</a></h1>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
|
||
|
||
<span class="kw">struct</span> <span class="ident">Foo</span>(<span class="ident">Vec</span><span class="op"><</span>(<span class="ident">String</span>, <span class="ident">i32</span>)<span class="op">></span>);
|
||
|
||
<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Debug</span> <span class="kw">for</span> <span class="ident">Foo</span> {
|
||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">fmt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||
<span class="ident">fmt</span>.<span class="ident">debug_map</span>().<span class="ident">entries</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="op">|</span><span class="kw-2">&</span>(<span class="kw-2">ref</span> <span class="ident">k</span>, <span class="kw-2">ref</span> <span class="ident">v</span>)<span class="op">|</span> (<span class="ident">k</span>, <span class="ident">v</span>))).<span class="ident">finish</span>()
|
||
}
|
||
}
|
||
|
||
<span class="macro">assert_eq</span><span class="macro">!</span>(
|
||
<span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:?}"</span>, <span class="ident">Foo</span>(<span class="macro">vec</span><span class="macro">!</span>[(<span class="string">"A"</span>.<span class="ident">to_string</span>(), <span class="number">10</span>), (<span class="string">"B"</span>.<span class="ident">to_string</span>(), <span class="number">11</span>)])),
|
||
<span class="string">r#"{"A": 10, "B": 11}"#</span>
|
||
);</pre></div>
|
||
</div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Write' class='impl'><code class='in-band'>impl<'_> <a class="trait" href="../../../../nom/lib/std/fmt/trait.Write.html" title="trait nom::lib::std::fmt::Write">Write</a> for <a class="struct" href="../../../../nom/lib/std/fmt/struct.Formatter.html" title="struct nom::lib::std::fmt::Formatter">Formatter</a><'_></code><a href='#impl-Write' class='anchor'></a><span class='since' title='Stable since Rust version 1.2.0'>1.2.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1931-1943' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.write_str-1' class="method hidden"><code id='write_str.v-1'>fn <a href='../../../../nom/lib/std/fmt/trait.Write.html#tymethod.write_str' class='fnname'>write_str</a>(&mut self, s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="../../../../nom/lib/std/prelude/v1/v1/enum.Result.html" title="enum nom::lib::std::prelude::v1::v1::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../../../nom/lib/std/fmt/struct.Error.html" title="struct nom::lib::std::fmt::Error">Error</a>></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1932-1934' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Writes a string slice into this writer, returning whether the write succeeded. <a href="../../../../nom/lib/std/fmt/trait.Write.html#tymethod.write_str">Read more</a></p>
|
||
</div><h4 id='method.write_char' class="method hidden"><code id='write_char.v'>fn <a href='../../../../nom/lib/std/fmt/trait.Write.html#method.write_char' class='fnname'>write_char</a>(&mut self, c: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -> <a class="enum" href="../../../../nom/lib/std/prelude/v1/v1/enum.Result.html" title="enum nom::lib::std::prelude::v1::v1::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../../../nom/lib/std/fmt/struct.Error.html" title="struct nom::lib::std::fmt::Error">Error</a>></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1936-1938' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Writes a [<code>char</code>] into this writer, returning whether the write succeeded. <a href="../../../../nom/lib/std/fmt/trait.Write.html#method.write_char">Read more</a></p>
|
||
</div><h4 id='method.write_fmt-1' class="method hidden"><code id='write_fmt.v-1'>fn <a href='../../../../nom/lib/std/fmt/trait.Write.html#method.write_fmt' class='fnname'>write_fmt</a>(&mut self, args: <a class="struct" href="../../../../nom/lib/std/fmt/struct.Arguments.html" title="struct nom::lib::std::fmt::Arguments">Arguments</a>) -> <a class="enum" href="../../../../nom/lib/std/prelude/v1/v1/enum.Result.html" title="enum nom::lib::std::prelude::v1::v1::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="../../../../nom/lib/std/fmt/struct.Error.html" title="struct nom::lib::std::fmt::Error">Error</a>></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#1940-1942' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Glue for usage of the [<code>write!</code>] macro with implementors of this trait. <a href="../../../../nom/lib/std/fmt/trait.Write.html#method.write_fmt">Read more</a></p>
|
||
</div></div></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'><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl<'a> !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../../nom/lib/std/fmt/struct.Formatter.html" title="struct nom::lib::std::fmt::Formatter">Formatter</a><'a></code><a href='#impl-RefUnwindSafe' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Send' class='impl'><code class='in-band'>impl<'a> !<a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Send.html" title="trait nom::lib::std::prelude::v1::v1::Send">Send</a> for <a class="struct" href="../../../../nom/lib/std/fmt/struct.Formatter.html" title="struct nom::lib::std::fmt::Formatter">Formatter</a><'a></code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><code class='in-band'>impl<'a> !<a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Sync.html" title="trait nom::lib::std::prelude::v1::v1::Sync">Sync</a> for <a class="struct" href="../../../../nom/lib/std/fmt/struct.Formatter.html" title="struct nom::lib::std::fmt::Formatter">Formatter</a><'a></code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>impl<'a> <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Unpin.html" title="trait nom::lib::std::prelude::v1::v1::Unpin">Unpin</a> for <a class="struct" href="../../../../nom/lib/std/fmt/struct.Formatter.html" title="struct nom::lib::std::fmt::Formatter">Formatter</a><'a></code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl<'a> !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../../nom/lib/std/fmt/struct.Formatter.html" title="struct nom::lib::std::fmt::Formatter">Formatter</a><'a></code><a href='#impl-UnwindSafe' class='anchor'></a></h3><div class='impl-items'></div></div><h2 id='blanket-implementations' class='small-section-header'>Blanket Implementations<a href='#blanket-implementations' class='anchor'></a></h2><div id='blanket-implementations-list'><h3 id='impl-Any' class='impl'><code class='in-band'>impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/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="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>, </span></code><a href='#impl-Any' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#108-112' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.type_id' class="method hidden"><code id='type_id.v'>fn <a href='https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id' class='fnname'>type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#109-111' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
|
||
</div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/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="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>, </span></code><a href='#impl-Borrow%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-217' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow' class="method hidden"><code id='borrow.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214-216' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
|
||
</div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/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="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>, </span></code><a href='#impl-BorrowMut%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220-224' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow_mut' class="method hidden"><code id='borrow_mut.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut' class='fnname'>borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221-223' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
|
||
</div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl<T> <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.From.html" title="trait nom::lib::std::prelude::v1::v1::From">From</a><T> for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#564-568' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><code id='from.v'>fn <a href='../../../../nom/lib/std/prelude/v1/v1/trait.From.html#tymethod.from' class='fnname'>from</a>(t: T) -> T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#565-567' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||
</div></div><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl<T, U> <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Into.html" title="trait nom::lib::std::prelude::v1::v1::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.From.html" title="trait nom::lib::std::prelude::v1::v1::From">From</a><T>, </span></code><a href='#impl-Into%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#553-560' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.into' class="method hidden"><code id='into.v'>fn <a href='../../../../nom/lib/std/prelude/v1/v1/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -> U</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#557-559' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||
</div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl<T, U> <a class="trait" href="../../../../nom/lib/std/convert/trait.TryFrom.html" title="trait nom::lib::std::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Into.html" title="trait nom::lib::std::prelude::v1::v1::Into">Into</a><T>, </span></code><a href='#impl-TryFrom%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#601-610' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error' class="type"><code id='Error.t'>type <a href='../../../../nom/lib/std/convert/trait.TryFrom.html#associatedtype.Error' class="type">Error</a> = <a class="enum" href="../../../../nom/lib/std/convert/enum.Infallible.html" title="enum nom::lib::std::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
|
||
</div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>fn <a href='../../../../nom/lib/std/convert/trait.TryFrom.html#tymethod.try_from' class='fnname'>try_from</a>(value: U) -> <a class="enum" href="../../../../nom/lib/std/prelude/v1/v1/enum.Result.html" title="enum nom::lib::std::prelude::v1::v1::Result">Result</a><T, <T as <a class="trait" href="../../../../nom/lib/std/convert/trait.TryFrom.html" title="trait nom::lib::std::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="../../../../nom/lib/std/convert/trait.TryFrom.html#associatedtype.Error" title="type nom::lib::std::convert::TryFrom::Error">Error</a>></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#607-609' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||
</div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl<T, U> <a class="trait" href="../../../../nom/lib/std/convert/trait.TryInto.html" title="trait nom::lib::std::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="../../../../nom/lib/std/convert/trait.TryFrom.html" title="trait nom::lib::std::convert::TryFrom">TryFrom</a><T>, </span></code><a href='#impl-TryInto%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587-596' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error-1' class="type"><code id='Error.t-1'>type <a href='../../../../nom/lib/std/convert/trait.TryInto.html#associatedtype.Error' class="type">Error</a> = <U as <a class="trait" href="../../../../nom/lib/std/convert/trait.TryFrom.html" title="trait nom::lib::std::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="../../../../nom/lib/std/convert/trait.TryFrom.html#associatedtype.Error" title="type nom::lib::std::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
|
||
</div><h4 id='method.try_into' class="method hidden"><code id='try_into.v'>fn <a href='../../../../nom/lib/std/convert/trait.TryInto.html#tymethod.try_into' class='fnname'>try_into</a>(self) -> <a class="enum" href="../../../../nom/lib/std/prelude/v1/v1/enum.Result.html" title="enum nom::lib::std::prelude::v1::v1::Result">Result</a><U, <U as <a class="trait" href="../../../../nom/lib/std/convert/trait.TryFrom.html" title="trait nom::lib::std::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="../../../../nom/lib/std/convert/trait.TryFrom.html#associatedtype.Error" title="type nom::lib::std::convert::TryFrom::Error">Error</a>></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#593-595' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
|
||
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../../../";window.currentCrate = "nom";</script><script src="../../../../aliases.js"></script><script src="../../../../main.js"></script><script defer src="../../../../search-index.js"></script></body></html> |