<p>This type is more commonly used through the type alias <ahref="type.ParseStream.html"title="type syn::parse::ParseStream"><code>ParseStream</code></a> which
is an alias for <code>&ParseBuffer</code>.</p>
<p><code>ParseStream</code> is the input type for all parser functions in Syn. They have
the signature <code>fn(ParseStream) -> Result<T></code>.</p>
<p>There is no public way to construct a <code>ParseBuffer</code>. Instead, if you are
looking to invoke a parser function that requires <code>ParseStream</code> as input,
you will need to go through one of the public parsing entry points.</p>
<ul>
<li>The <ahref="../macro.parse_macro_input.html"title="macro syn::parse_macro_input"><code>parse_macro_input!</code></a> macro if parsing input of a procedural macro;</li>
<li>One of <ahref="index.html#the-synparse-functions"title="mod syn::parse">the <code>syn::parse*</code> functions</a>; or</li>
<li>A method of the <ahref="trait.Parser.html"title="trait syn::parse::Parser"><code>Parser</code></a> trait.</li>
</div></details><h2id="implementations"class="section-header">Implementations<ahref="#implementations"class="anchor">§</a></h2><divid="implementations-list"><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-ParseBuffer%3C'a%3E"class="impl"><aclass="src rightside"href="../../src/syn/parse.rs.html#461-1157">source</a><ahref="#impl-ParseBuffer%3C'a%3E"class="anchor">§</a><h3class="code-header">impl<'a><aclass="struct"href="struct.ParseBuffer.html"title="struct syn::parse::ParseBuffer">ParseBuffer</a><'a></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.parse"class="method"><aclass="src rightside"href="../../src/syn/parse.rs.html#464-466">source</a><h4class="code-header">pub fn <ahref="#method.parse"class="fn">parse</a><T: <aclass="trait"href="trait.Parse.html"title="trait syn::parse::Parse">Parse</a>>(&self) -><aclass="type"href="type.Result.html"title="type syn::parse::Result">Result</a><T></h4></section></summary><divclass="docblock"><p>Parses a syntax tree node of type <code>T</code>, advancing the position of our
) -><aclass="type"href="type.Result.html"title="type syn::parse::Result">Result</a><T></h4></section></summary><divclass="docblock"><p>Calls the given parser function to parse a syntax tree node of type <code>T</code>
<p>The parser below invokes <ahref="../struct.Attribute.html#method.parse_outer"title="associated function syn::Attribute::parse_outer"><code>Attribute::parse_outer</code></a> to parse a vector of
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.peek"class="method"><aclass="src rightside"href="../../src/syn/parse.rs.html#580-583">source</a><h4class="code-header">pub fn <ahref="#method.peek"class="fn">peek</a><T: <aclass="trait"href="trait.Peek.html"title="trait syn::parse::Peek">Peek</a>>(&self, token: T) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Looks at the next token in the parse stream to determine whether it
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.peek2"class="method"><aclass="src rightside"href="../../src/syn/parse.rs.html#619-626">source</a><h4class="code-header">pub fn <ahref="#method.peek2"class="fn">peek2</a><T: <aclass="trait"href="trait.Peek.html"title="trait syn::parse::Peek">Peek</a>>(&self, token: T) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Looks at the second-next token in the parse stream.</p>
<p>This example needs to use <code>peek2</code> because the symbol <code>union</code> is not a
keyword in Rust. We can’t use just <code>peek</code> and decide to parse a union if
the very next token is <code>union</code>, because someone is free to write a <code>mod union</code> and a macro invocation that looks like <code>union::some_macro! { ... }</code>. In other words <code>union</code> is a contextual keyword.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.peek3"class="method"><aclass="src rightside"href="../../src/syn/parse.rs.html#629-640">source</a><h4class="code-header">pub fn <ahref="#method.peek3"class="fn">peek3</a><T: <aclass="trait"href="trait.Peek.html"title="trait syn::parse::Peek">Peek</a>>(&self, token: T) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Looks at the third-next token in the parse stream.</p>
P::<aclass="associatedtype"href="trait.Peek.html#associatedtype.Token"title="type syn::parse::Peek::Token">Token</a>: <aclass="trait"href="trait.Parse.html"title="trait syn::parse::Parse">Parse</a>,</div></h4></section></summary><divclass="docblock"><p>Parses zero or more occurrences of <code>T</code> separated by punctuation of type
<code>P</code>, with optional trailing punctuation.</p>
<p>Parsing continues until the end of this parse stream. The entire content
of this parse stream must consist of <code>T</code> and <code>P</code>.</p>
<p>If your separator is anything more complicated than an invocation of the
<code>Token!</code> macro, this method won’t be applicable and you can instead
directly use <code>Punctuated</code>’s parser functions: <ahref="../punctuated/struct.Punctuated.html#method.parse_terminated"title="associated function syn::punctuated::Punctuated::parse_terminated"><code>parse_terminated</code></a>,
<ahref="../punctuated/struct.Punctuated.html#method.parse_separated_nonempty"title="associated function syn::punctuated::Punctuated::parse_separated_nonempty"><code>parse_separated_nonempty</code></a> etc.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.is_empty"class="method"><aclass="src rightside"href="../../src/syn/parse.rs.html#785-787">source</a><h4class="code-header">pub fn <ahref="#method.is_empty"class="fn">is_empty</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Returns whether there are no more tokens remaining to be parsed from
this stream.</p>
<p>This method returns true upon reaching the end of the content within a
set of delimiters, as well as at the end of the tokens provided to the
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.lookahead1"class="method"><aclass="src rightside"href="../../src/syn/parse.rs.html#830-832">source</a><h4class="code-header">pub fn <ahref="#method.lookahead1"class="fn">lookahead1</a>(&self) -><aclass="struct"href="struct.Lookahead1.html"title="struct syn::parse::Lookahead1">Lookahead1</a><'a></h4></section></summary><divclass="docblock"><p>Constructs a helper for peeking at the next token in this stream and
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.fork"class="method"><aclass="src rightside"href="../../src/syn/parse.rs.html#960-969">source</a><h4class="code-header">pub fn <ahref="#method.fork"class="fn">fork</a>(&self) -> Self</h4></section></summary><divclass="docblock"><p>Forks a parse stream so that parsing tokens out of either the original
<p>As a rule, avoid parsing an unbounded amount of tokens out of a forked
parse stream. Only use a fork when the amount of work performed against
the fork is small and bounded.</p>
<p>When complex speculative parsing against the forked stream is
unavoidable, use <ahref="discouraged/trait.Speculative.html"title="trait syn::parse::discouraged::Speculative"><code>parse::discouraged::Speculative</code></a> to advance the
original stream once the fork’s parse is determined to have been
successful.</p>
<p>For a lower level way to perform speculative parsing at the token level,
consider using <ahref="struct.ParseBuffer.html#method.step"title="method syn::parse::ParseBuffer::step"><code>ParseStream::step</code></a> instead.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.error"class="method"><aclass="src rightside"href="../../src/syn/parse.rs.html#999-1001">source</a><h4class="code-header">pub fn <ahref="#method.error"class="fn">error</a><T: <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Display.html"title="trait core::fmt::Display">Display</a>>(&self, message: T) -><aclass="struct"href="struct.Error.html"title="struct syn::parse::Error">Error</a></h4></section></summary><divclass="docblock"><p>Triggers an error at the current position of the parse stream.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.span"class="method"><aclass="src rightside"href="../../src/syn/parse.rs.html#1081-1088">source</a><h4class="code-header">pub fn <ahref="#method.span"class="fn">span</a>(&self) -><aclass="struct"href="../../proc_macro2/struct.Span.html"title="struct proc_macro2::Span">Span</a></h4></section></summary><divclass="docblock"><p>Returns the <code>Span</code> of the next token in the parse stream, or
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.cursor"class="method"><aclass="src rightside"href="../../src/syn/parse.rs.html#1147-1149">source</a><h4class="code-header">pub fn <ahref="#method.cursor"class="fn">cursor</a>(&self) -><aclass="struct"href="../buffer/struct.Cursor.html"title="struct syn::buffer::Cursor">Cursor</a><'a></h4></section></summary><divclass="docblock"><p>Provides low-level access to the token representation underlying this
</div></details></div></details></div><h2id="trait-implementations"class="section-header">Trait Implementations<ahref="#trait-implementations"class="anchor">§</a></h2><divid="trait-implementations-list"><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-AnyDelimiter-for-ParseBuffer%3C'a%3E"class="impl"><aclass="src rightside"href="../../src/syn/discouraged.rs.html#211-225">source</a><ahref="#impl-AnyDelimiter-for-ParseBuffer%3C'a%3E"class="anchor">§</a><h3class="code-header">impl<'a><aclass="trait"href="discouraged/trait.AnyDelimiter.html"title="trait syn::parse::discouraged::AnyDelimiter">AnyDelimiter</a> for <aclass="struct"href="struct.ParseBuffer.html"title="struct syn::parse::ParseBuffer">ParseBuffer</a><'a></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.parse_any_delimiter"class="method trait-impl"><aclass="src rightside"href="../../src/syn/discouraged.rs.html#212-224">source</a><ahref="#method.parse_any_delimiter"class="anchor">§</a><h4class="code-header">fn <ahref="discouraged/trait.AnyDelimiter.html#tymethod.parse_any_delimiter"class="fn">parse_any_delimiter</a>(&self) -><aclass="type"href="type.Result.html"title="type syn::parse::Result">Result</a><(<aclass="enum"href="../../proc_macro2/enum.Delimiter.html"title="enum proc_macro2::Delimiter">Delimiter</a>, <aclass="struct"href="../../proc_macro2/extra/struct.DelimSpan.html"title="struct proc_macro2::extra::DelimSpan">DelimSpan</a>, <aclass="struct"href="struct.ParseBuffer.html"title="struct syn::parse::ParseBuffer">ParseBuffer</a><'_>)></h4></section></summary><divclass='docblock'>Returns the delimiter, the span of the delimiter token, and the nested
contents for further parsing.</div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Debug-for-ParseBuffer%3C'a%3E"class="impl"><aclass="src rightside"href="../../src/syn/parse.rs.html#281-285">source</a><ahref="#impl-Debug-for-ParseBuffer%3C'a%3E"class="anchor">§</a><h3class="code-header">impl<'a><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html"title="trait core::fmt::Debug">Debug</a> for <aclass="struct"href="struct.ParseBuffer.html"title="struct syn::parse::ParseBuffer">ParseBuffer</a><'a></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.fmt"class="method trait-impl"><aclass="src rightside"href="../../src/syn/parse.rs.html#282-284">source</a><ahref="#method.fmt"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html#tymethod.fmt"class="fn">fmt</a>(&self, f: &mut <aclass="struct"href="https://doc.rust-lang.org/1.80.0/core/fmt/struct.Formatter.html"title="struct core::fmt::Formatter">Formatter</a><'_>) -><aclass="type"href="https://doc.rust-lang.org/1.80.0/core/fmt/type.Result.html"title="type core::fmt::Result">Result</a></h4></section></summary><divclass='docblock'>Formats the value using the given formatter. <ahref="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Display-for-ParseBuffer%3C'a%3E"class="impl"><aclass="src rightside"href="../../src/syn/parse.rs.html#275-279">source</a><ahref="#impl-Display-for-ParseBuffer%3C'a%3E"class="anchor">§</a><h3class="code-header">impl<'a><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Display.html"title="trait core::fmt::Display">Display</a> for <aclass="struct"href="struct.ParseBuffer.html"title="struct syn::parse::ParseBuffer">ParseBuffer</a><'a></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.fmt-1"class="method trait-impl"><aclass="src rightside"href="../../src/syn/parse.rs.html#276-278">source</a><ahref="#method.fmt-1"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Display.html#tymethod.fmt"class="fn">fmt</a>(&self, f: &mut <aclass="struct"href="https://doc.rust-lang.org/1.80.0/core/fmt/struct.Formatter.html"title="struct core::fmt::Formatter">Formatter</a><'_>) -><aclass="type"href="https://doc.rust-lang.org/1.80.0/core/fmt/type.Result.html"title="type core::fmt::Result">Result</a></h4></section></summary><divclass='docblock'>Formats the value using the given formatter. <ahref="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Drop-for-ParseBuffer%3C'a%3E"class="impl"><aclass="src rightside"href="../../src/syn/parse.rs.html#264-273">source</a><ahref="#impl-Drop-for-ParseBuffer%3C'a%3E"class="anchor">§</a><h3class="code-header">impl<'a><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/ops/drop/trait.Drop.html"title="trait core::ops::drop::Drop">Drop</a> for <aclass="struct"href="struct.ParseBuffer.html"title="struct syn::parse::ParseBuffer">ParseBuffer</a><'a></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.drop"class="method trait-impl"><aclass="src rightside"href="../../src/syn/parse.rs.html#265-272">source</a><ahref="#method.drop"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/ops/drop/trait.Drop.html#tymethod.drop"class="fn">drop</a>(&mut self)</h4></section></summary><divclass='docblock'>Executes the destructor for this type. <ahref="https://doc.r
T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.type_id"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/any.rs.html#141">source</a><ahref="#method.type_id"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/any/trait.Any.html#tymethod.type_id"class="fn">type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.80.0/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></h4></section></summary><divclass='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/1.80.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Borrow%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#208">source</a><ahref="#impl-Borrow%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T<divclass="where">where
T: ?<aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.borrow"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#210">source</a><ahref="#method.borrow"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/borrow/trait.Borrow.html#tymethod.borrow"class="fn">borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&T</a></h4></section></summary><divclass='docblock'>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/1.80.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-BorrowMut%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#216">source</a><ahref="#impl-BorrowMut%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<divclass="where">where
T: ?<aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.borrow_mut"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#217">source</a><ahref="#method.borrow_mut"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut"class="fn">borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&mut T</a></h4></section></summary><divclass='docblock'>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/1.80.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-From%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#765">source</a><ahref="#impl-From%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.from"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#768">source</a><ahref="#method.from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html#tymethod.from"class="fn">from</a>(t: T) -> T</h4></section></summary><divclass="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Into%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#748-750">source</a><ahref="#impl-Into%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><U> for T<divclass="where">where
<code><ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-ToString-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/alloc/string.rs.html#2552">source</a><ahref="#impl-ToString-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.80.0/alloc/string/trait.ToString.html"title="trait alloc::string::ToString">ToString</a> for T<divclass="where">where
T: <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Display.html"title="trait core::fmt::Display">Display</a> + ?<aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.to_string"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/alloc/string.rs.html#2558">source</a><ahref="#method.to_string"class="anchor">§</a><h4class="code-header">default fn <ahref="https://doc.rust-lang.org/1.80.0/alloc/string/trait.ToString.html#tymethod.to_string"class="fn">to_string</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.80.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a></h4></section></summary><divclass='docblock'>Converts the given value to a <code>String</code>. <ahref="https://doc.rust-lang.org/1.80.0/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryFrom%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#805-807">source</a><ahref="#impl-TryFrom%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T<divclass="where">where
U: <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error"class="associatedtype trait-impl"><ahref="#associatedtype.Error"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error"class="associatedtype">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/1.80.0/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_from"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#812">source</a><ahref="#method.try_from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#tymethod.try_from"class="fn">try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/1.80.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryInto%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#790-792">source</a><ahref="#impl-TryInto%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T<divclass="where">where
U: <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error-1"class="associatedtype trait-impl"><ahref="#associatedtype.Error-1"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryInto.html#associatedtype.Error"class="associatedtype">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_into"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#797">source</a><ahref="#method.try_into"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryInto.html#tymethod.try_into"class="fn">try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/1.80.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html>