edlang/winnow/stream/struct.Partial.html

99 lines
84 KiB
HTML
Raw Normal View History

<!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="Mark the input as a partial buffer for streaming input."><title>Partial in winnow::stream - Rust</title><script> if (window.location.protocol !== "file:") document.write(`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2">`)</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-e935ef01ae1c1829.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="winnow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.78.0 (9b00956e5 2024-04-29)" data-channel="1.78.0" data-search-js="search-42d8da7a6b9792c2.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-4c98445ec4002617.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-12cf3b4f4f9dc36d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-04d5337699b92874.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../winnow/index.html">winnow</a><span class="version">0.6.7</span></h2></div><h2 class="location"><a href="#">Partial</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.into_inner">into_inner</a></li><li><a href="#method.new">new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-AsBStr-for-Partial%3CI%3E">AsBStr</a></li><li><a href="#impl-AsBytes-for-Partial%3CI%3E">AsBytes</a></li><li><a href="#impl-Clone-for-Partial%3CI%3E">Clone</a></li><li><a href="#impl-Compare%3CT%3E-for-Partial%3CI%3E">Compare&lt;T&gt;</a></li><li><a href="#impl-Copy-for-Partial%3CI%3E">Copy</a></li><li><a href="#impl-Debug-for-Partial%3CI%3E">Debug</a></li><li><a href="#impl-Default-for-Partial%3CI%3E">Default</a></li><li><a href="#impl-Deref-for-Partial%3CI%3E">Deref</a></li><li><a href="#impl-Display-for-Partial%3CI%3E">Display</a></li><li><a href="#impl-Eq-for-Partial%3CI%3E">Eq</a></li><li><a href="#impl-FindSlice%3CT%3E-for-Partial%3CI%3E">FindSlice&lt;T&gt;</a></li><li><a href="#impl-Location-for-Partial%3CI%3E">Location</a></li><li><a href="#impl-Offset-for-Partial%3CI%3E">Offset</a></li><li><a href="#impl-Offset%3C%3CPartial%3CI%3E+as+Stream%3E::Checkpoint%3E-for-Partial%3CI%3E">Offset&lt;&lt;Partial&lt;I&gt; as Stream&gt;::Checkpoint&gt;</a></li><li><a href="#impl-Ord-for-Partial%3CI%3E">Ord</a></li><li><a href="#impl-PartialEq-for-Partial%3CI%3E">PartialEq</a></li><li><a href="#impl-PartialOrd-for-Partial%3CI%3E">PartialOrd</a></li><li><a href="#impl-SliceLen-f
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../winnow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">winnow</a>::<wbr><a href="index.html">stream</a>::<wbr><a class="struct" href="#">Partial</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/winnow/stream/mod.rs.html#406-409">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Partial&lt;I&gt; { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Mark the input as a partial buffer for streaming input.</p>
<p>Complete input means that we already have all of the data. This will be the common case with
small files that can be read entirely to memory.</p>
<p>In contrast, streaming input assumes that we might not have all of the data.
This can happen with some network protocol or large file parsers, where the
input buffer can be full and need to be resized or refilled.</p>
<ul>
<li>[<code>ErrMode::Incomplete</code>] will report how much more data is needed.</li>
<li><a href="../trait.Parser.html#method.complete_err" title="method winnow::Parser::complete_err"><code>Parser::complete_err</code></a> transform [<code>ErrMode::Incomplete</code>] to
[<code>ErrMode::Backtrack</code>]</li>
</ul>
<p>See also <a href="trait.StreamIsPartial.html" title="trait winnow::stream::StreamIsPartial"><code>StreamIsPartial</code></a> to tell whether the input supports complete or partial parsing.</p>
<p>See also [Special Topics: Parsing Partial Input][crate::_topic::partial].</p>
<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
<p>Here is how it works in practice:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code>
<span class="kw">fn </span>take_partial&lt;<span class="lifetime">'s</span>&gt;(i: <span class="kw-2">&amp;mut </span>Partial&lt;<span class="kw-2">&amp;</span><span class="lifetime">'s </span>[u8]&gt;) -&gt; PResult&lt;<span class="kw-2">&amp;</span><span class="lifetime">'s </span>[u8], InputError&lt;Partial&lt;<span class="kw-2">&amp;</span><span class="lifetime">'s </span>[u8]&gt;&gt;&gt; {
token::take(<span class="number">4u8</span>).parse_next(i)
}
<span class="kw">fn </span>take_complete&lt;<span class="lifetime">'s</span>&gt;(i: <span class="kw-2">&amp;mut &amp;</span><span class="lifetime">'s </span>[u8]) -&gt; PResult&lt;<span class="kw-2">&amp;</span><span class="lifetime">'s </span>[u8], InputError&lt;<span class="kw-2">&amp;</span><span class="lifetime">'s </span>[u8]&gt;&gt; {
token::take(<span class="number">4u8</span>).parse_next(i)
}
<span class="comment">// both parsers will take 4 bytes as expected
</span><span class="macro">assert_eq!</span>(take_partial.parse_peek(Partial::new(<span class="kw-2">&amp;</span><span class="string">b"abcde"</span>[..])), <span class="prelude-val">Ok</span>((Partial::new(<span class="kw-2">&amp;</span><span class="string">b"e"</span>[..]), <span class="kw-2">&amp;</span><span class="string">b"abcd"</span>[..])));
<span class="macro">assert_eq!</span>(take_complete.parse_peek(<span class="kw-2">&amp;</span><span class="string">b"abcde"</span>[..]), <span class="prelude-val">Ok</span>((<span class="kw-2">&amp;</span><span class="string">b"e"</span>[..], <span class="kw-2">&amp;</span><span class="string">b"abcd"</span>[..])));
<span class="comment">// if the input is smaller than 4 bytes, the partial parser
// will return `Incomplete` to indicate that we need more data
</span><span class="macro">assert_eq!</span>(take_partial.parse_peek(Partial::new(<span class="kw-2">&amp;</span><span class="string">b"abc"</span>[..])), <span class="prelude-val">Err</span>(ErrMode::Incomplete(Needed::new(<span class="number">1</span>))));
<span class="comment">// but the complete parser will return an error
</span><span class="macro">assert_eq!</span>(take_complete.parse_peek(<span class="kw-2">&amp;</span><span class="string">b"abc"</span>[..]), <span class="prelude-val">Err</span>(ErrMode::Backtrack(InputError::new(<span class="kw-2">&amp;</span><span class="string">b"abc"</span>[..], ErrorKind::Slice))));
<span class="comment">// the alpha0 function recognizes 0 or more alphabetic characters
</span><span class="kw">fn </span>alpha0_partial&lt;<span class="lifetime">'s</span>&gt;(i: <span class="kw-2">&amp;mut </span>Partial&lt;<span class="kw-2">&amp;</span><span class="lifetime">'s </span>str&gt;) -&gt; PResult&lt;<span class="kw-2">&amp;</span><span class="lifetime">'s </span>str, InputError&lt;Partial&lt;<span class="kw-2">&amp;</span><span class="lifetime">'s </span>str&gt;&gt;&gt; {
ascii::alpha0.parse_next(i)
}
<span class="kw">fn </span>alpha0_complete&lt;<span class="lifetime">'s</span>&gt;(i: <span class="kw-2">&amp;mut &amp;</span><span class="lifetime">'s </span>str) -&gt; PResult&lt;<span class="kw-2">&amp;</span><span class="lifetime">'s </span>str, InputError&lt;<span class="kw-2">&amp;</span><span class="lifetime">'s </span>str&gt;&gt; {
ascii::alpha0.parse_next(i)
}
<span class="comment">// if there's a clear limit to the recognized characters, both parsers work the same way
</span><span class="macro">assert_eq!</span>(alpha0_partial.parse_peek(Partial::new(<span class="string">"abcd;"</span>)), <span class="prelude-val">Ok</span>((Partial::new(<span class="string">";"</span>), <span class="string">"abcd"</span>)));
<span class="macro">assert_eq!</span>(alpha0_complete.parse_peek(<span class="string">"abcd;"</span>), <span class="prelude-val">Ok</span>((<span class="string">";"</span>, <span class="string">"abcd"</span>)));
<span class="comment">// but when there's no limit, the partial version returns `Incomplete`, because it cannot
// know if more input data should be recognized. The whole input could be "abcd;", or
// "abcde;"
</span><span class="macro">assert_eq!</span>(alpha0_partial.parse_peek(Partial::new(<span class="string">"abcd"</span>)), <span class="prelude-val">Err</span>(ErrMode::Incomplete(Needed::new(<span class="number">1</span>))));
<span class="comment">// while the complete version knows that all of the data is there
</span><span class="macro">assert_eq!</span>(alpha0_complete.parse_peek(<span class="string">"abcd"</span>), <span class="prelude-val">Ok</span>((<span class="string">""</span>, <span class="string">"abcd"</span>)));</code></pre></div>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#411-430">source</a><a href="#impl-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.StreamIsPartial.html" title="trait winnow::stream::StreamIsPartial">StreamIsPartial</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#416-423">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(input: I) -&gt; Self</h4></section></summary><div class="docblock"><p>Create a partial input</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.into_inner" class="method"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#427-429">source</a><h4 class="code-header">pub fn <a href="#method.into_inner" class="fn">into_inner</a>(self) -&gt; I</h4></section></summary><div class="docblock"><p>Extract the original <a href="trait.Stream.html" title="trait winnow::stream::Stream"><code>Stream</code></a></p>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsBStr-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#2099-2107">source</a><a href="#impl-AsBStr-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="trait.AsBStr.html" title="trait winnow::stream::AsBStr">AsBStr</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.AsBStr.html" title="trait winnow::stream::AsBStr">AsBStr</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_bstr" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#2104-2106">source</a><a href="#method.as_bstr" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsBStr.html#tymethod.as_bstr" class="fn">as_bstr</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]"></a></h4></section></summary><div class='docblock'>Casts the input type to a byte slice</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsBytes-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#2030-2038">source</a><a href="#impl-AsBytes-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="trait.AsBytes.html" title="trait winnow::stream::AsBytes">AsBytes</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.AsBytes.html" title="trait winnow::stream::AsBytes">AsBytes</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_bytes" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#2035-2037">source</a><a href="#method.as_bytes" class="anchor">§</a><h4 class="code-header">fn <a href="trait.AsBytes.html#tymethod.as_bytes" class="fn">as_bytes</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]"></a></h4></section></summary><div class='docblock'>Casts the input type to a byte slice</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#405">source</a><a href="#impl-Clone-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#405">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;</h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Compare%3CT%3E-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#2320-2328">source</a><a href="#impl-Compare%3CT%3E-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I, T&gt; <a class="trait" href="trait.Compare.html" title="trait winnow::stream::Compare">Compare</a>&lt;T&gt; for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.Compare.html" title="trait winnow::stream::Compare">Compare</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.compare" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#2325-2327">source</a><a href="#method.compare" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Compare.html#tymethod.compare" class="fn">compare</a>(&amp;self, t: T) -&gt; <a class="enum" href="enum.CompareResult.html" title="enum winnow::stream::CompareResult">CompareResult</a></h4></section></summary><div class='docblock'>Compares self to another value for equality</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#456-468">source</a><a href="#impl-Debug-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#458-467">source</a><a href="#method.fmt-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.78.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.78.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.78.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#432-439">source</a><a href="#impl-Default-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="trait.StreamIsPartial.html" title="trait winnow::stream::StreamIsPartial">StreamIsPartial</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#436-438">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.78.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deref-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#441-448">source</a><a href="#impl-Deref-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.0/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = I</h4></section></summary><div class='docblock'>The resulting type after dereferencing.</div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#445-447">source</a><a href="#method.deref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/ops/deref/trait.Deref.html#tymethod.deref" class="fn">deref</a>(&amp;self) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.78.0/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></h4></section></summary><div class='docblock'>Dereferences the value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#450-454">source</a><a href="#impl-Display-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#451-453">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Display.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.78.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.78.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value u
I: <a class="trait" href="trait.FindSlice.html" title="trait winnow::stream::FindSlice">FindSlice</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.find_slice" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#2598-2600">source</a><a href="#method.find_slice" class="anchor">§</a><h4 class="code-header">fn <a href="trait.FindSlice.html#tymethod.find_slice" class="fn">find_slice</a>(&amp;self, substr: T) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.78.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.78.0/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a>&gt;&gt;</h4></section></summary><div class='docblock'>Returns the offset of the slice if it is found</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Location-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1342-1350">source</a><a href="#impl-Location-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="trait.Location.html" title="trait winnow::stream::Location">Location</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.Location.html" title="trait winnow::stream::Location">Location</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.location" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1347-1349">source</a><a href="#method.location" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Location.html#tymethod.location" class="fn">location</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Number of indices input has advanced since start of parsing</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Offset%3C%3CPartial%3CI%3E+as+Stream%3E::Checkpoint%3E-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1958-1966">source</a><a href="#impl-Offset%3C%3CPartial%3CI%3E+as+Stream%3E::Checkpoint%3E-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="trait.Offset.html" title="trait winnow::stream::Offset">Offset</a>&lt;&lt;<a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt; as <a class="trait" href="trait.Stream.html" title="trait winnow::stream::Stream">Stream</a>&gt;::<a class="associatedtype" href="trait.Stream.html#associatedtype.Checkpoint" title="type winnow::stream::Stream::Checkpoint">Checkpoint</a>&gt; for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.Stream.html" title="trait winnow::stream::Stream">Stream</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.offset_from-1" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1963-1965">source</a><a href="#method.offset_from-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Offset.html#tymethod.offset_from" class="fn">offset_from</a>(&amp;self, other: &amp;&lt;<a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt; as <a class="trait" href="trait.Stream.html" title="trait winnow::stream::Stream">Stream</a>&gt;::<a class="associatedtype" href="trait.Stream.html#associatedtype.Checkpoint" title="type winnow::stream::Stream::Checkpoint">Checkpoint</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Offset between the first byte of <code>start</code> and the first byte of <code>self</code>a <a href="trait.Offset.html#tymethod.offset_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Offset-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1948-1956">source</a><a href="#impl-Offset-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="trait.Offset.html" title="trait winnow::stream::Offset">Offset</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.Stream.html" title="trait winnow::stream::Stream">Stream</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.offset_from" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1953-1955">source</a><a href="#method.offset_from" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Offset.html#tymethod.offset_from" class="fn">offset_from</a>(&amp;self, start: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Offset between the first byte of <code>start</code> and the first byte of <code>self</code>a <a href="trait.Offset.html#tymethod.offset_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#405">source</a><a href="#impl-Ord-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#405">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.78.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/1.78.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#851-853">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -&gt; Self<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#871-873">source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#method.min" class="fn">min</a>(self, other: Self) -&gt; Self<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#896-899">source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#method.clamp" class="fn">clamp</a>(self, min: Self, max: Self) -&gt; Self<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#405">source</a><a href="#impl-PartialEq-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#405">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.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>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.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.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#405">source</a><a href="#impl-PartialOrd-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#405">source</a><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.78.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.78.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#1171">source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#1188">source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;=</code>
operator. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#1204">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.gt" class="fn">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;</code> operator. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#1221">source</a></span><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.ge" class="fn">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;=</code>
operator. <a href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-SliceLen-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#582-590">source</a><a href="#impl-SliceLen-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="trait.SliceLen.html" title="trait winnow::stream::SliceLen">SliceLen</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.SliceLen.html" title="trait winnow::stream::SliceLen">SliceLen</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.slice_len" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#587-589">source</a><a href="#method.slice_len" class="anchor">§</a><h4 class="code-header">fn <a href="trait.SliceLen.html#tymethod.slice_len" class="fn">slice_len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Calculates the input length, as indicated by its name,
and the name of the trait itself</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Stream-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1249-1300">source</a><a href="#impl-Stream-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="trait.Stream.html" title="trait winnow::stream::Stream">Stream</a>&gt; <a class="trait" href="trait.Stream.html" title="trait winnow::stream::Stream">Stream</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Token" class="associatedtype trait-impl"><a href="#associatedtype.Token" class="anchor">§</a><h4 class="code-header">type <a href="trait.Stream.html#associatedtype.Token" class="associatedtype">Token</a> = &lt;I as <a class="trait" href="trait.Stream.html" title="trait winnow::stream::Stream">Stream</a>&gt;::<a class="associatedtype" href="trait.Stream.html#associatedtype.Token" title="type winnow::stream::Stream::Token">Token</a></h4></section></summary><div class='docblock'>The smallest unit being parsed <a href="trait.Stream.html#associatedtype.Token">Read more</a></div></details><details class="toggle" open><summary><section id="associatedtype.Slice" class="associatedtype trait-impl"><a href="#associatedtype.Slice" class="anchor">§</a><h4 class="code-header">type <a href="trait.Stream.html#associatedtype.Slice" class="associatedtype">Slice</a> = &lt;I as <a class="trait" href="trait.Stream.html" title="trait winnow::stream::Stream">Stream</a>&gt;::<a class="associatedtype" href="trait.Stream.html#associatedtype.Slice" title="type winnow::stream::Stream::Slice">Slice</a></h4></section></summary><div class='docblock'>Sequence of <code>Token</code>s <a href="trait.Stream.html#associatedtype.Slice">Read more</a></div></details><details class="toggle" open><summary><section id="associatedtype.IterOffsets" class="associatedtype trait-impl"><a href="#associatedtype.IterOffsets" class="anchor">§</a><h4 class="code-header">type <a href="trait.Stream.html#associatedtype.IterOffsets" class="associatedtype">IterOffsets</a> = &lt;I as <a class="trait" href="trait.Stream.html" title="trait winnow::stream::Stream">Stream</a>&gt;::<a class="associatedtype" href="trait.Stream.html#associatedtype.IterOffsets" title="type winnow::stream::Stream::IterOffsets">IterOffsets</a></h4></section></summary><div class='docblock'>Iterate with the offset from the current location</div></details><details class="toggle" open><summary><section id="associatedtype.Checkpoint" class="associatedtype trait-impl"><a href="#associatedtype.Checkpoint" class="anchor">§</a><h4 class="code-header">type <a href="trait.Stream.html#associatedtype.Checkpoint" class="associatedtype">Checkpoint</a> = <a class="struct" href="struct.Checkpoint.html" title="struct winnow::stream::Checkpoint">Checkpoint</a>&lt;&lt;I as <a class="trait" href="trait.Stream.html" title="trait winnow::stream::Stream">Stream</a>&gt;::<a class="associatedtype" href="trait.Stream.html#associatedtype.Checkpoint" title="type winnow::stream::Stream::Checkpoint">Checkpoint</a>, <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;&gt;</h4></section></summary><div class='docblock'>A parse location within the stream</div></details><details class="toggle method-toggle" open><summary><section id="method.iter_offsets" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1258-1260">source</a><a href="#method.iter_offsets" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.iter_offsets" class="fn">iter_offsets</a>(&amp;self) -&gt; Self::<a class="associatedtype" href="trait.Stream.html#associatedtype.IterOffsets" title="type winnow::stream::Stream::IterOffsets">IterOffsets</a></h4></section></summary><div class='docblock
P: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(Self::<a class="associatedtype" href="trait.Stream.html#associatedtype.Token" title="type winnow::stream::Stream::Token">Token</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Finds the offset of the next matching token</div></details><details class="toggle method-toggle" open><summary><section id="method.offset_at" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1279-1281">source</a><a href="#method.offset_at" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.offset_at" class="fn">offset_at</a>(&amp;self, tokens: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.78.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a>, <a class="enum" href="../error/enum.Needed.html" title="enum winnow::error::Needed">Needed</a>&gt;</h4></section></summary><div class='docblock'>Get the offset for the number of <code>tokens</code> into the stream <a href="trait.Stream.html#tymethod.offset_at">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.next_slice" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1283-1285">source</a><a href="#method.next_slice" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.next_slice" class="fn">next_slice</a>(&amp;mut self, offset: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.usize.html">usize</a>) -&gt; Self::<a class="associatedtype" href="trait.Stream.html#associatedtype.Slice" title="type winnow::stream::Stream::Slice">Slice</a></h4></section></summary><div class='docblock'>Split off a slice of tokens from the input <a href="trait.Stream.html#tymethod.next_slice">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.checkpoint" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1288-1290">source</a><a href="#method.checkpoint" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.checkpoint" class="fn">checkpoint</a>(&amp;self) -&gt; Self::<a class="associatedtype" href="trait.Stream.html#associatedtype.Checkpoint" title="type winnow::stream::Stream::Checkpoint">Checkpoint</a></h4></section></summary><div class='docblock'>Save the current parse location within the stream</div></details><details class="toggle method-toggle" open><summary><section id="method.reset" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1292-1294">source</a><a href="#method.reset" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.reset" class="fn">reset</a>(&amp;mut self, checkpoint: &amp;Self::<a class="associatedtype" href="trait.Stream.html#associatedtype.Checkpoint" title="type winnow::stream::Stream::Checkpoint">Checkpoint</a>)</h4></section></summary><div class='docblock'>Revert the stream to a prior <a href="trait.Stream.html#associatedtype.Checkpoint"><code>Self::Checkpoint</code></a> <a href="trait.Stream.html#tymethod.reset">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.raw" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1297-1299">source</a><a href="#method.raw" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Stream.html#tymethod.raw" class="fn">raw</a>(&amp;self) -&gt; &amp;dyn <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a></h4></section>
I: <a class="trait" href="trait.StreamIsPartial.html" title="trait winnow::stream::StreamIsPartial">StreamIsPartial</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.PartialState" class="associatedtype trait-impl"><a href="#associatedtype.PartialState" class="anchor">§</a><h4 class="code-header">type <a href="trait.StreamIsPartial.html#associatedtype.PartialState" class="associatedtype">PartialState</a> = <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Whether the stream is currently partial or complete</div></details><details class="toggle method-toggle" open><summary><section id="method.complete" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1768-1770">source</a><a href="#method.complete" class="anchor">§</a><h4 class="code-header">fn <a href="trait.StreamIsPartial.html#tymethod.complete" class="fn">complete</a>(&amp;mut self) -&gt; Self::<a class="associatedtype" href="trait.StreamIsPartial.html#associatedtype.PartialState" title="type winnow::stream::StreamIsPartial::PartialState">PartialState</a></h4></section></summary><div class='docblock'>Mark the stream is complete</div></details><details class="toggle method-toggle" open><summary><section id="method.restore_partial" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1772-1774">source</a><a href="#method.restore_partial" class="anchor">§</a><h4 class="code-header">fn <a href="trait.StreamIsPartial.html#tymethod.restore_partial" class="fn">restore_partial</a>(&amp;mut self, state: Self::<a class="associatedtype" href="trait.StreamIsPartial.html#associatedtype.PartialState" title="type winnow::stream::StreamIsPartial::PartialState">PartialState</a>)</h4></section></summary><div class='docblock'>Restore the stream back to its previous state</div></details><details class="toggle method-toggle" open><summary><section id="method.is_partial_supported" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1777-1779">source</a><a href="#method.is_partial_supported" class="anchor">§</a><h4 class="code-header">fn <a href="trait.StreamIsPartial.html#tymethod.is_partial_supported" class="fn">is_partial_supported</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Report whether the <a href="trait.Stream.html" title="trait winnow::stream::Stream"><code>Stream</code></a> is can ever be incomplete</div></details><details class="toggle method-toggle" open><summary><section id="method.is_partial" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#1782-1784">source</a><a href="#method.is_partial" class="anchor">§</a><h4 class="code-header">fn <a href="trait.StreamIsPartial.html#method.is_partial" class="fn">is_partial</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Report whether the <a href="trait.Stream.html" title="trait winnow::stream::Stream"><code>Stream</code></a> is currently incomplete</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-UpdateSlice-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#2700-2711">source</a><a href="#impl-UpdateSlice-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="trait.UpdateSlice.html" title="trait winnow::stream::UpdateSlice">UpdateSlice</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="trait.UpdateSlice.html" title="trait winnow::stream::UpdateSlice">UpdateSlice</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.update_slice" class="method trait-impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#2705-2710">source</a><a href="#method.update_slice" class="anchor">§</a><h4 class="code-header">fn <a href="trait.UpdateSlice.html#tymethod.update_slice" class="fn">update_slice</a>(self, inner: Self::<a class="associatedtype" href="trait.Stream.html#associatedtype.Slice" title="type winnow::stream::Stream::Slice">Slice</a>) -&gt; Self</h4></section></summary><div class='docblock'>Convert an <code>Output</code> type to be used as <code>Stream</code></div></details></div></details><section id="impl-Copy-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#405">source</a><a href="#impl-Copy-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;</h3></section><section id="impl-Eq-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#405">source</a><a href="#impl-Eq-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;</h3></section><section id="impl-StructuralPartialEq-for-Partial%3CI%3E" class="impl"><a class="src rightside" href="../../src/winnow/stream/mod.rs.html#405">source</a><a href="#impl-StructuralPartialEq-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;</h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Partial%3CI%3E" class="impl"><a href="#impl-Freeze-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-Partial%3CI%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Send-for-Partial%3CI%3E" class="impl"><a href="#impl-Send-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-Partial%3CI%3E" class="impl"><a href="#impl-Sync-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-Partial%3CI%3E" class="impl"><a href="#impl-Unpin-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-Partial%3CI%3E" class="impl"><a href="#impl-UnwindSafe-for-Partial%3CI%3E" class="anchor">§</a><h3 class="code-header">impl&lt;I&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a>&lt;I&gt;<div class="where">where
I: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.78.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.78.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; 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.78.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.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="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToString-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/alloc/string.rs.html#2543">source</a><a href="#impl-ToString-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.to_string" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/alloc/string.rs.html#2549">source</a><a href="#method.to_string" class="anchor">§</a><h4 class="code-header">default fn <a href="https://doc.rust-lang.org/1.78.0/alloc/string/trait.ToString.html#tymethod.to_string" class="fn">to_string</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.78.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.78.0/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.78.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="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.78.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.78.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="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.78.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div><script type="text/json" id="notable-traits-data">{"&[u8]":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.78.0/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.78.0/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for &amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.78.0/std/primitive.u8.html\">u8</a>]</div>"}</script></section></div></main></body></html>