rtic/dev/api/syn/enum.Pat.html
2024-12-06 13:35:18 +00:00

105 lines
No EOL
72 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A pattern in a local binding, function signature, match expression, or various other places."><title>Pat in syn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="syn" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><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 enum"><!--[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="../syn/index.html">syn</a><span class="version">2.0.90</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Pat</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#syntax-tree-enum" title="Syntax tree enum">Syntax tree enum</a></li></ul><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Const" title="Const">Const</a></li><li><a href="#variant.Ident" title="Ident">Ident</a></li><li><a href="#variant.Lit" title="Lit">Lit</a></li><li><a href="#variant.Macro" title="Macro">Macro</a></li><li><a href="#variant.Or" title="Or">Or</a></li><li><a href="#variant.Paren" title="Paren">Paren</a></li><li><a href="#variant.Path" title="Path">Path</a></li><li><a href="#variant.Range" title="Range">Range</a></li><li><a href="#variant.Reference" title="Reference">Reference</a></li><li><a href="#variant.Rest" title="Rest">Rest</a></li><li><a href="#variant.Slice" title="Slice">Slice</a></li><li><a href="#variant.Struct" title="Struct">Struct</a></li><li><a href="#variant.Tuple" title="Tuple">Tuple</a></li><li><a href="#variant.TupleStruct" title="TupleStruct">TupleStruct</a></li><li><a href="#variant.Type" title="Type">Type</a></li><li><a href="#variant.Verbatim" title="Verbatim">Verbatim</a></li><li><a href="#variant.Wild" title="Wild">Wild</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.parse_multi" title="parse_multi">parse_multi</a></li><li><a href="#method.parse_multi_with_leading_vert" title="parse_multi_with_leading_vert">parse_multi_with_leading_vert</a></li><li><a href="#method.parse_single" title="parse_single">parse_single</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Pat" title="Clone">Clone</a></li><li><a href="#impl-Debug-for-Pat" title="Debug">Debug</a></li><li><a href="#impl-Eq-for-Pat" title="Eq">Eq</a></li><li><a href="#impl-From%3CExprConst%3E-for-Pat" title="From&#60;ExprConst&#62;">From&#60;ExprConst&#62;</a></li><li><a href="#impl-From%3CExprLit%3E-for-Pat" title="From&#60;ExprLit&#62;">From&#60;ExprLit&#62;</a></li><li><a href="#impl-From%3CExprMacro%3E-for-Pat" title="From&#60;ExprMacro&#62;">From&#60;ExprMacro&#62;</a></li><li><a href="#impl-From%3CExprPath%3E-for-Pat" title="From&#60;ExprPath&#62;">From&#60;ExprPath&#62;</a></li><li><a href="#impl-From%3CExprRange%3E-for-Pat" title="From&#60;ExprRange&#62;">From&#60;ExprRange&#62;</a></li><li><a href="#impl-From%3CPatIdent%3E-for-Pat" title="From&#60;PatIdent&#62;">From&#60;PatIdent&#62;</a></li><li><a href="#impl-From%3CPatOr%3E-for-Pat" title="From&#60;PatOr&#62;">From&#60;PatOr&#62;</a></li><li><a href="#impl-From%3CPatParen%3E-for-Pat" title="From&#60;PatParen&#62;">From&#60;PatParen&#62;</a></li><li><a href="#impl-From%3CPatReference%3E-for-Pat" title="From&#60;PatReference&#62;">From&#60;PatReference&#62;</a></li><li><a href="#impl-From%3CPatRest%3E-for-Pat" title="From&#60;PatRest&#62;">From&#60;PatRest&#62;</a></li><li><a href="#impl-From%3CPatSlice%3E-for-Pat" title="From&#60;PatSlice&#62;">From&#60;PatSlice&#62;</a></li><li><a href="#impl-From%3CPatStruct%3E-for-Pat" title="From&#60;PatStruct&#62;">From&#60;PatStruct&#62;</a></li><li><a href="#impl-From%3CPatTuple%3E-for-Pat" title="From&#60;PatTuple&#62;">From&#60;PatTuple&#62;</a></li><li><a href="#impl-From%3CPatTupleStruct%3E-for-Pat" title="From&#60;PatTupleStruct&#62;">From&#60;PatTupleStruct&#62;</a></li><li><a href="#impl-From%3CPatType%3E-for-Pat" title="From&#60;PatType&#62;">From&#60;PatType&#62;</a></li><li><a href="#impl-From%3CPatWild%3E-for-Pat" title="From&#60;PatWild&#62;">From&#60;PatWild&#62;</a></li><li><a href="#impl-Hash-for-Pat" title="Hash">Hash</a></li><li><a href="#impl-PartialEq-for-Pat" title="PartialEq">PartialEq</a></li><li><a href="#impl-ToTokens-for-Pat" title="ToTokens">ToTokens</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Send-for-Pat" title="!Send">!Send</a></li><li><a href="#impl-Sync-for-Pat" title="!Sync">!Sync</a></li><li><a href="#impl-Freeze-for-Pat" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Pat" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Unpin-for-Pat" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Pat" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-Spanned-for-T" title="Spanned">Spanned</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate syn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">syn</a></span><h1>Enum <span class="enum">Pat</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/syn/pat.rs.html#15-102">source</a> </span></div><pre class="rust item-decl"><code><div class="code-attribute">#[non_exhaustive]</div>pub enum Pat {
<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 17 variants</span></summary> Const(<a class="struct" href="struct.ExprConst.html" title="struct syn::ExprConst">PatConst</a>),
Ident(<a class="struct" href="struct.PatIdent.html" title="struct syn::PatIdent">PatIdent</a>),
Lit(<a class="struct" href="struct.ExprLit.html" title="struct syn::ExprLit">PatLit</a>),
Macro(<a class="struct" href="struct.ExprMacro.html" title="struct syn::ExprMacro">PatMacro</a>),
Or(<a class="struct" href="struct.PatOr.html" title="struct syn::PatOr">PatOr</a>),
Paren(<a class="struct" href="struct.PatParen.html" title="struct syn::PatParen">PatParen</a>),
Path(<a class="struct" href="struct.ExprPath.html" title="struct syn::ExprPath">PatPath</a>),
Range(<a class="struct" href="struct.ExprRange.html" title="struct syn::ExprRange">PatRange</a>),
Reference(<a class="struct" href="struct.PatReference.html" title="struct syn::PatReference">PatReference</a>),
Rest(<a class="struct" href="struct.PatRest.html" title="struct syn::PatRest">PatRest</a>),
Slice(<a class="struct" href="struct.PatSlice.html" title="struct syn::PatSlice">PatSlice</a>),
Struct(<a class="struct" href="struct.PatStruct.html" title="struct syn::PatStruct">PatStruct</a>),
Tuple(<a class="struct" href="struct.PatTuple.html" title="struct syn::PatTuple">PatTuple</a>),
TupleStruct(<a class="struct" href="struct.PatTupleStruct.html" title="struct syn::PatTupleStruct">PatTupleStruct</a>),
Type(<a class="struct" href="struct.PatType.html" title="struct syn::PatType">PatType</a>),
Verbatim(<a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a>),
Wild(<a class="struct" href="struct.PatWild.html" title="struct syn::PatWild">PatWild</a>),
</details>}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A pattern in a local binding, function signature, match expression, or
various other places.</p>
<h2 id="syntax-tree-enum"><a class="doc-anchor" href="#syntax-tree-enum">§</a>Syntax tree enum</h2>
<p>This type is a <a href="enum.Expr.html#syntax-tree-enums" title="enum syn::Expr">syntax tree enum</a>.</p>
</div></details><h2 id="variants" class="variants section-header">Variants (Non-exhaustive)<a href="#variants" class="anchor">§</a></h2><details class="toggle non-exhaustive"><summary class="hideme"><span>This enum is marked as non-exhaustive</span></summary><div class="docblock">Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.</div></details><div class="variants"><section id="variant.Const" class="variant"><a href="#variant.Const" class="anchor">§</a><h3 class="code-header">Const(<a class="struct" href="struct.ExprConst.html" title="struct syn::ExprConst">PatConst</a>)</h3></section><div class="docblock"><p>A const block: <code>const { ... }</code>.</p>
</div><section id="variant.Ident" class="variant"><a href="#variant.Ident" class="anchor">§</a><h3 class="code-header">Ident(<a class="struct" href="struct.PatIdent.html" title="struct syn::PatIdent">PatIdent</a>)</h3></section><div class="docblock"><p>A pattern that binds a new variable: <code>ref mut binding @ SUBPATTERN</code>.</p>
</div><section id="variant.Lit" class="variant"><a href="#variant.Lit" class="anchor">§</a><h3 class="code-header">Lit(<a class="struct" href="struct.ExprLit.html" title="struct syn::ExprLit">PatLit</a>)</h3></section><div class="docblock"><p>A literal pattern: <code>0</code>.</p>
</div><section id="variant.Macro" class="variant"><a href="#variant.Macro" class="anchor">§</a><h3 class="code-header">Macro(<a class="struct" href="struct.ExprMacro.html" title="struct syn::ExprMacro">PatMacro</a>)</h3></section><div class="docblock"><p>A macro in pattern position.</p>
</div><section id="variant.Or" class="variant"><a href="#variant.Or" class="anchor">§</a><h3 class="code-header">Or(<a class="struct" href="struct.PatOr.html" title="struct syn::PatOr">PatOr</a>)</h3></section><div class="docblock"><p>A pattern that matches any one of a set of cases.</p>
</div><section id="variant.Paren" class="variant"><a href="#variant.Paren" class="anchor">§</a><h3 class="code-header">Paren(<a class="struct" href="struct.PatParen.html" title="struct syn::PatParen">PatParen</a>)</h3></section><div class="docblock"><p>A parenthesized pattern: <code>(A | B)</code>.</p>
</div><section id="variant.Path" class="variant"><a href="#variant.Path" class="anchor">§</a><h3 class="code-header">Path(<a class="struct" href="struct.ExprPath.html" title="struct syn::ExprPath">PatPath</a>)</h3></section><div class="docblock"><p>A path pattern like <code>Color::Red</code>, optionally qualified with a
self-type.</p>
<p>Unqualified path patterns can legally refer to variants, structs,
constants or associated constants. Qualified path patterns like
<code>&lt;A&gt;::B::C</code> and <code>&lt;A as Trait&gt;::B::C</code> can only legally refer to
associated constants.</p>
</div><section id="variant.Range" class="variant"><a href="#variant.Range" class="anchor">§</a><h3 class="code-header">Range(<a class="struct" href="struct.ExprRange.html" title="struct syn::ExprRange">PatRange</a>)</h3></section><div class="docblock"><p>A range pattern: <code>1..=2</code>.</p>
</div><section id="variant.Reference" class="variant"><a href="#variant.Reference" class="anchor">§</a><h3 class="code-header">Reference(<a class="struct" href="struct.PatReference.html" title="struct syn::PatReference">PatReference</a>)</h3></section><div class="docblock"><p>A reference pattern: <code>&amp;mut var</code>.</p>
</div><section id="variant.Rest" class="variant"><a href="#variant.Rest" class="anchor">§</a><h3 class="code-header">Rest(<a class="struct" href="struct.PatRest.html" title="struct syn::PatRest">PatRest</a>)</h3></section><div class="docblock"><p>The dots in a tuple or slice pattern: <code>[0, 1, ..]</code>.</p>
</div><section id="variant.Slice" class="variant"><a href="#variant.Slice" class="anchor">§</a><h3 class="code-header">Slice(<a class="struct" href="struct.PatSlice.html" title="struct syn::PatSlice">PatSlice</a>)</h3></section><div class="docblock"><p>A dynamically sized slice pattern: <code>[a, b, ref i @ .., y, z]</code>.</p>
</div><section id="variant.Struct" class="variant"><a href="#variant.Struct" class="anchor">§</a><h3 class="code-header">Struct(<a class="struct" href="struct.PatStruct.html" title="struct syn::PatStruct">PatStruct</a>)</h3></section><div class="docblock"><p>A struct or struct variant pattern: <code>Variant { x, y, .. }</code>.</p>
</div><section id="variant.Tuple" class="variant"><a href="#variant.Tuple" class="anchor">§</a><h3 class="code-header">Tuple(<a class="struct" href="struct.PatTuple.html" title="struct syn::PatTuple">PatTuple</a>)</h3></section><div class="docblock"><p>A tuple pattern: <code>(a, b)</code>.</p>
</div><section id="variant.TupleStruct" class="variant"><a href="#variant.TupleStruct" class="anchor">§</a><h3 class="code-header">TupleStruct(<a class="struct" href="struct.PatTupleStruct.html" title="struct syn::PatTupleStruct">PatTupleStruct</a>)</h3></section><div class="docblock"><p>A tuple struct or tuple variant pattern: <code>Variant(x, y, .., z)</code>.</p>
</div><section id="variant.Type" class="variant"><a href="#variant.Type" class="anchor">§</a><h3 class="code-header">Type(<a class="struct" href="struct.PatType.html" title="struct syn::PatType">PatType</a>)</h3></section><div class="docblock"><p>A type ascription pattern: <code>foo: f64</code>.</p>
</div><section id="variant.Verbatim" class="variant"><a href="#variant.Verbatim" class="anchor">§</a><h3 class="code-header">Verbatim(<a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a>)</h3></section><div class="docblock"><p>Tokens in pattern position not interpreted by Syn.</p>
</div><section id="variant.Wild" class="variant"><a href="#variant.Wild" class="anchor">§</a><h3 class="code-header">Wild(<a class="struct" href="struct.PatWild.html" title="struct syn::PatWild">PatWild</a>)</h3></section><div class="docblock"><p>A pattern that matches any value: <code>_</code>.</p>
</div></div><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-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#262-383">source</a><a href="#impl-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.parse_single" class="method"><a class="src rightside" href="../src/syn/pat.rs.html#287-330">source</a><h4 class="code-header">pub fn <a href="#method.parse_single" class="fn">parse_single</a>(input: <a class="type" href="parse/type.ParseStream.html" title="type syn::parse::ParseStream">ParseStream</a>&lt;'_&gt;) -&gt; <a class="type" href="parse/type.Result.html" title="type syn::parse::Result">Result</a>&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Parse a pattern that does <em>not</em> involve <code>|</code> at the top level.</p>
<p>This parser matches the behavior of the <code>$:pat_param</code> macro_rules
matcher, and on editions prior to Rust 2021, the behavior of
<code>$:pat</code>.</p>
<p>In Rust syntax, some examples of where this syntax would occur are
in the argument pattern of functions and closures. Patterns using
<code>|</code> are not allowed to occur in these positions.</p>
<div class="example-wrap compile_fail"><a href="#" class="tooltip" title="This example deliberately fails to compile"></a><pre class="rust rust-example-rendered"><code><span class="kw">fn </span>f(<span class="prelude-val">Some</span>(<span class="kw">_</span>) | <span class="prelude-val">None</span>: <span class="prelude-ty">Option</span>&lt;T&gt;) {
<span class="kw">let _ </span>= |<span class="prelude-val">Some</span>(<span class="kw">_</span>) | <span class="prelude-val">None</span>: <span class="prelude-ty">Option</span>&lt;T&gt;| {};
<span class="comment">// ^^^^^^^^^^^^^^^^^^^^^^^^^??? :(
</span>}</code></pre></div>
<div class="example-wrap"><pre class="language-console"><code>error: top-level or-patterns are not allowed in function parameters
--&gt; src/main.rs:1:6
|
1 | fn f(Some(_) | None: Option&lt;T&gt;) {
| ^^^^^^^^^^^^^^ help: wrap the pattern in parentheses: `(Some(_) | None)`</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.parse_multi" class="method"><a class="src rightside" href="../src/syn/pat.rs.html#333-335">source</a><h4 class="code-header">pub fn <a href="#method.parse_multi" class="fn">parse_multi</a>(input: <a class="type" href="parse/type.ParseStream.html" title="type syn::parse::ParseStream">ParseStream</a>&lt;'_&gt;) -&gt; <a class="type" href="parse/type.Result.html" title="type syn::parse::Result">Result</a>&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Parse a pattern, possibly involving <code>|</code>, but not a leading <code>|</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.parse_multi_with_leading_vert" class="method"><a class="src rightside" href="../src/syn/pat.rs.html#379-382">source</a><h4 class="code-header">pub fn <a href="#method.parse_multi_with_leading_vert" class="fn">parse_multi_with_leading_vert</a>(input: <a class="type" href="parse/type.ParseStream.html" title="type syn::parse::ParseStream">ParseStream</a>&lt;'_&gt;) -&gt; <a class="type" href="parse/type.Result.html" title="type syn::parse::Result">Result</a>&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Parse a pattern, possibly involving <code>|</code>, possibly including a
leading <code>|</code>.</p>
<p>This parser matches the behavior of the Rust 2021 editions <code>$:pat</code>
macro_rules matcher.</p>
<p>In Rust syntax, an example of where this syntax would occur is in
the pattern of a <code>match</code> arm, where the language permits an optional
leading <code>|</code>, although it is not idiomatic to write one there in
handwritten code.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">match </span>wat {
| <span class="prelude-val">None </span>| <span class="prelude-val">Some</span>(<span class="bool-val">false</span>) =&gt; {}
| <span class="prelude-val">Some</span>(<span class="bool-val">true</span>) =&gt; {}
}</code></pre></div>
<p>The compiler accepts it only to facilitate some situations in
macro-generated code where a macro author might need to write:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">match </span><span class="macro-nonterminal">$value </span>{
$(| <span class="macro-nonterminal">$conditions1</span>)* $(| <span class="macro-nonterminal">$conditions2</span>)* =&gt; <span class="macro-nonterminal">$then
</span>}</code></pre></div>
<p>Expressing the same thing correctly in the case that either one (but
not both) of <code>$conditions1</code> and <code>$conditions2</code> might be empty,
without leading <code>|</code>, is complex.</p>
<p>Use <a href="enum.Pat.html#method.parse_multi" title="associated function syn::Pat::parse_multi"><code>Pat::parse_multi</code></a> instead if you are not intending to support
macro-generated macro input.</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-Clone-for-Pat" class="impl"><a class="src rightside" href="../src/syn/gen/clone.rs.html#1491-1513">source</a><a href="#impl-Clone-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></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/syn/gen/clone.rs.html#1492-1512">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; Self</h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.83.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.83.0/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.83.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-Debug-for-Pat" class="impl"><a class="src rightside" href="../src/syn/gen/debug.rs.html#2164-2191">source</a><a href="#impl-Debug-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></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/syn/gen/debug.rs.html#2165-2190">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, formatter: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.83.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.83.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.83.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-From%3CExprConst%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CExprConst%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprConst.html" title="struct syn::ExprConst">ExprConst</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></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="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprConst.html" title="struct syn::ExprConst">PatConst</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprLit%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CExprLit%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprLit.html" title="struct syn::ExprLit">ExprLit</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprLit.html" title="struct syn::ExprLit">PatLit</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprMacro%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CExprMacro%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprMacro.html" title="struct syn::ExprMacro">ExprMacro</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprMacro.html" title="struct syn::ExprMacro">PatMacro</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprPath%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CExprPath%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprPath.html" title="struct syn::ExprPath">ExprPath</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprPath.html" title="struct syn::ExprPath">PatPath</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprRange%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CExprRange%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprRange.html" title="struct syn::ExprRange">ExprRange</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-7" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-7" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprRange.html" title="struct syn::ExprRange">PatRange</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPatIdent%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CPatIdent%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.PatIdent.html" title="struct syn::PatIdent">PatIdent</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.PatIdent.html" title="struct syn::PatIdent">PatIdent</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPatOr%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CPatOr%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.PatOr.html" title="struct syn::PatOr">PatOr</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.PatOr.html" title="struct syn::PatOr">PatOr</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPatParen%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CPatParen%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.PatParen.html" title="struct syn::PatParen">PatParen</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.PatParen.html" title="struct syn::PatParen">PatParen</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPatReference%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CPatReference%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.PatReference.html" title="struct syn::PatReference">PatReference</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-8" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-8" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.PatReference.html" title="struct syn::PatReference">PatReference</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPatRest%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CPatRest%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.PatRest.html" title="struct syn::PatRest">PatRest</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-9" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-9" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.PatRest.html" title="struct syn::PatRest">PatRest</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPatSlice%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CPatSlice%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.PatSlice.html" title="struct syn::PatSlice">PatSlice</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-10" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-10" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.PatSlice.html" title="struct syn::PatSlice">PatSlice</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPatStruct%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CPatStruct%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.PatStruct.html" title="struct syn::PatStruct">PatStruct</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-11" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-11" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.PatStruct.html" title="struct syn::PatStruct">PatStruct</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPatTuple%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CPatTuple%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.PatTuple.html" title="struct syn::PatTuple">PatTuple</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-12" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-12" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.PatTuple.html" title="struct syn::PatTuple">PatTuple</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPatTupleStruct%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CPatTupleStruct%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.PatTupleStruct.html" title="struct syn::PatTupleStruct">PatTupleStruct</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-13" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-13" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.PatTupleStruct.html" title="struct syn::PatTupleStruct">PatTupleStruct</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPatType%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CPatType%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.PatType.html" title="struct syn::PatType">PatType</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-14" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-14" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.PatType.html" title="struct syn::PatType">PatType</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPatWild%3E-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-From%3CPatWild%3E-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.PatWild.html" title="struct syn::PatWild">PatWild</a>&gt; for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-15" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.from-15" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.PatWild.html" title="struct syn::PatWild">PatWild</a>) -&gt; <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-Pat" class="impl"><a class="src rightside" href="../src/syn/gen/hash.rs.html#1874-1950">source</a><a href="#impl-Hash-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/syn/gen/hash.rs.html#1875-1949">source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;H&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
H: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</div></h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/1.83.0/src/core/hash/mod.rs.html#235-237">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
H: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Pat" class="impl"><a class="src rightside" href="../src/syn/gen/eq.rs.html#1472-1501">source</a><a href="#impl-PartialEq-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></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/syn/gen/eq.rs.html#1473-1500">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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.83.0/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.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.83.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>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-ToTokens-for-Pat" class="impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#impl-ToTokens-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../quote/to_tokens/trait.ToTokens.html" title="trait quote::to_tokens::ToTokens">ToTokens</a> for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.to_tokens" class="method trait-impl"><a class="src rightside" href="../src/syn/pat.rs.html#15-102">source</a><a href="#method.to_tokens" class="anchor">§</a><h4 class="code-header">fn <a href="../quote/to_tokens/trait.ToTokens.html#tymethod.to_tokens" class="fn">to_tokens</a>(&amp;self, tokens: &amp;mut <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a>)</h4></section></summary><div class='docblock'>Write <code>self</code> to the given <code>TokenStream</code>. <a href="../quote/to_tokens/trait.ToTokens.html#tymethod.to_tokens">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_token_stream" class="method trait-impl"><a class="src rightside" href="../src/quote/to_tokens.rs.html#60">source</a><a href="#method.to_token_stream" class="anchor">§</a><h4 class="code-header">fn <a href="../quote/to_tokens/trait.ToTokens.html#method.to_token_stream" class="fn">to_token_stream</a>(&amp;self) -&gt; <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a></h4></section></summary><div class='docblock'>Convert <code>self</code> directly into a <code>TokenStream</code> object. <a href="../quote/to_tokens/trait.ToTokens.html#method.to_token_stream">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_token_stream" class="method trait-impl"><a class="src rightside" href="../src/quote/to_tokens.rs.html#70-72">source</a><a href="#method.into_token_stream" class="anchor">§</a><h4 class="code-header">fn <a href="../quote/to_tokens/trait.ToTokens.html#method.into_token_stream" class="fn">into_token_stream</a>(self) -&gt; <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a><div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Convert <code>self</code> directly into a <code>TokenStream</code> object. <a href="../quote/to_tokens/trait.ToTokens.html#method.into_token_stream">Read more</a></div></details></div></details><section id="impl-Eq-for-Pat" class="impl"><a class="src rightside" href="../src/syn/gen/eq.rs.html#1469">source</a><a href="#impl-Eq-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></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-Pat" class="impl"><a href="#impl-Freeze-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section><section id="impl-RefUnwindSafe-for-Pat" class="impl"><a href="#impl-RefUnwindSafe-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section><section id="impl-Send-for-Pat" class="impl"><a href="#impl-Send-for-Pat" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section><section id="impl-Sync-for-Pat" class="impl"><a href="#impl-Sync-for-Pat" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section><section id="impl-Unpin-for-Pat" class="impl"><a href="#impl-Unpin-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></h3></section><section id="impl-UnwindSafe-for-Pat" class="impl"><a href="#impl-UnwindSafe-for-Pat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Pat.html" title="enum syn::Pat">Pat</a></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.83.0/src/core/any.rs.html#138">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.83.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.83.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.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.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.83.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.83.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.83.0/src/core/borrow.rs.html#209">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.83.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.83.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.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.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.83.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.83.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.83.0/src/core/borrow.rs.html#217">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.83.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.83.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.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.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.83.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.83.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-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#273">source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dst: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.pointer.html">*mut T</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">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.83.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.83.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-16" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-16" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.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.83.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.83.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.83.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.83.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.83.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.83.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-Spanned-for-T" class="impl"><a class="src rightside" href="../src/syn/spanned.rs.html#104-108">source</a><a href="#impl-Spanned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="spanned/trait.Spanned.html" title="trait syn::spanned::Spanned">Spanned</a> for T<div class="where">where
T: Spanned + ?<a class="trait" href="https://doc.rust-lang.org/1.83.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.span" class="method trait-impl"><a class="src rightside" href="../src/syn/spanned.rs.html#105-107">source</a><a href="#method.span" class="anchor">§</a><h4 class="code-header">fn <a href="spanned/trait.Spanned.html#tymethod.span" class="fn">span</a>(&amp;self) -&gt; <a class="struct" href="../proc_macro2/struct.Span.html" title="struct proc_macro2::Span">Span</a></h4></section></summary><div class='docblock'>Returns a <code>Span</code> covering the complete contents of this syntax tree
node, or <a href="../proc_macro2/struct.Span.html#method.call_site" title="associated function proc_macro2::Span::call_site"><code>Span::call_site()</code></a> if this node is empty.</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.83.0/src/alloc/borrow.rs.html#82-84">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.83.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.83.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 class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.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.83.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.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.83.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.83.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.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.83.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.83.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-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.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.83.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.83.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 class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.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.83.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.83.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.83.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.83.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.83.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.83.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.83.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 class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.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.83.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.83.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.83.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.83.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.83.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.83.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.83.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></section></div></main></body></html>