ssw/doc/syn/enum.Expr.html
2023-01-09 19:23:20 +01:00

250 lines
115 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 Rust expression."><meta name="keywords" content="rust, rustlang, rust-lang, Expr"><title>Expr in syn - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../dark.css" disabled><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../main.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.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">&#9776;</button><a class="sidebar-logo" href="../syn/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2 class="location"></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../syn/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Expr</a></h2><div class="sidebar-elems"><section><div class="block"><h3 class="sidebar-title"><a href="#variants">Variants</a></h3><ul><li><a href="#variant.Array">Array</a></li><li><a href="#variant.Assign">Assign</a></li><li><a href="#variant.AssignOp">AssignOp</a></li><li><a href="#variant.Async">Async</a></li><li><a href="#variant.Await">Await</a></li><li><a href="#variant.Binary">Binary</a></li><li><a href="#variant.Block">Block</a></li><li><a href="#variant.Box">Box</a></li><li><a href="#variant.Break">Break</a></li><li><a href="#variant.Call">Call</a></li><li><a href="#variant.Cast">Cast</a></li><li><a href="#variant.Closure">Closure</a></li><li><a href="#variant.Continue">Continue</a></li><li><a href="#variant.Field">Field</a></li><li><a href="#variant.ForLoop">ForLoop</a></li><li><a href="#variant.Group">Group</a></li><li><a href="#variant.If">If</a></li><li><a href="#variant.Index">Index</a></li><li><a href="#variant.Let">Let</a></li><li><a href="#variant.Lit">Lit</a></li><li><a href="#variant.Loop">Loop</a></li><li><a href="#variant.Macro">Macro</a></li><li><a href="#variant.Match">Match</a></li><li><a href="#variant.MethodCall">MethodCall</a></li><li><a href="#variant.Paren">Paren</a></li><li><a href="#variant.Path">Path</a></li><li><a href="#variant.Range">Range</a></li><li><a href="#variant.Reference">Reference</a></li><li><a href="#variant.Repeat">Repeat</a></li><li><a href="#variant.Return">Return</a></li><li><a href="#variant.Struct">Struct</a></li><li><a href="#variant.Try">Try</a></li><li><a href="#variant.TryBlock">TryBlock</a></li><li><a href="#variant.Tuple">Tuple</a></li><li><a href="#variant.Type">Type</a></li><li><a href="#variant.Unary">Unary</a></li><li><a href="#variant.Unsafe">Unsafe</a></li><li><a href="#variant.Verbatim">Verbatim</a></li><li><a href="#variant.While">While</a></li><li><a href="#variant.Yield">Yield</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#implementations">Methods</a></h3><ul><li><a href="#method.parse_without_eager_brace">parse_without_eager_brace</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><ul><li><a href="#impl-Clone-for-Expr">Clone</a></li><li><a href="#impl-From%3CExprArray%3E-for-Expr">From&lt;ExprArray&gt;</a></li><li><a href="#impl-From%3CExprAssign%3E-for-Expr">From&lt;ExprAssign&gt;</a></li><li><a href="#impl-From%3CExprAssignOp%3E-for-Expr">From&lt;ExprAssignOp&gt;</a></li><li><a href="#impl-From%3CExprAsync%3E-for-Expr">From&lt;ExprAsync&gt;</a></li><li><a href="#impl-From%3CExprAwait%3E-for-Expr">From&lt;ExprAwait&gt;</a></li><li><a href="#impl-From%3CExprBinary%3E-for-Expr">From&lt;ExprBinary&gt;</a></li><li><a href="#impl-From%3CExprBlock%3E-for-Expr">From&lt;ExprBlock&gt;</a></li><li><a href="#impl-From%3CExprBox%3E-for-Expr">From&lt;ExprBox&gt;</a></li><li><a href="#impl-From%3CExprBreak%3E-for-Expr">From&lt;ExprBreak&gt;</a></li><li><a href="#impl-From%3CExprCall%3E-for-Expr">From&lt;ExprCall&gt;</a></li><li><a href="#impl-From%3CExprCast%3E-for-Expr">From&lt;ExprCast&gt;</a></li><li><a href="#impl-From%3CExprClosure%3E-for-Expr">From&lt;ExprClosure&gt;</a></li><li><a href="#impl-From%3CExprContinue%3E-for-Expr">From&lt;ExprContinue&gt;</a></li><li><a href="#impl-From%3CExprField%3E-for-Expr">From&lt;ExprField&gt;</a></li><li><a href="#impl-From%3CExprForLoop%3E-for-Expr">From&lt;ExprForLoop&gt;</a></li><li><a href="#impl-From%3CExprGroup%3E-for-Expr">From&lt;ExprGroup&gt;</a></li><li><a href="#impl-From%3CExprIf%3E-for-Expr">From&lt;ExprIf&gt;</a></li><li><a href="#impl-From%3CExprIndex%3E-for-Expr">From&lt;ExprIndex&gt;</a></li><li><a href="#impl-From%3CExprLet%3E-for-Expr">From&lt;ExprLet&gt;</a></li><li><a href="#impl-From%3CExprLit%3E-for-Expr">From&lt;ExprLit&gt;</a></li><li><a href="#impl-From%3CExprLoop%3E-for-Expr">From&lt;ExprLoop&gt;</a></li><li><a href="#impl-From%3CExprMacro%3E-for-Expr">From&lt;ExprMacro&gt;</a></li><li><a href="#impl-From%3CExprMatch%3E-for-Expr">From&lt;ExprMatch&gt;</a></li><li><a href="#impl-From%3CExprMethodCall%3E-for-Expr">From&lt;ExprMethodCall&gt;</a></li><li><a href="#impl-From%3CExprParen%3E-for-Expr">From&lt;ExprParen&gt;</a></li><li><a href="#impl-From%3CExprPath%3E-for-Expr">From&lt;ExprPath&gt;</a></li><li><a href="#impl-From%3CExprRange%3E-for-Expr">From&lt;ExprRange&gt;</a></li><li><a href="#impl-From%3CExprReference%3E-for-Expr">From&lt;ExprReference&gt;</a></li><li><a href="#impl-From%3CExprRepeat%3E-for-Expr">From&lt;ExprRepeat&gt;</a></li><li><a href="#impl-From%3CExprReturn%3E-for-Expr">From&lt;ExprReturn&gt;</a></li><li><a href="#impl-From%3CExprStruct%3E-for-Expr">From&lt;ExprStruct&gt;</a></li><li><a href="#impl-From%3CExprTry%3E-for-Expr">From&lt;ExprTry&gt;</a></li><li><a href="#impl-From%3CExprTryBlock%3E-for-Expr">From&lt;ExprTryBlock&gt;</a></li><li><a href="#impl-From%3CExprTuple%3E-for-Expr">From&lt;ExprTuple&gt;</a></li><li><a href="#impl-From%3CExprType%3E-for-Expr">From&lt;ExprType&gt;</a></li><li><a href="#impl-From%3CExprUnary%3E-for-Expr">From&lt;ExprUnary&gt;</a></li><li><a href="#impl-From%3CExprUnsafe%3E-for-Expr">From&lt;ExprUnsafe&gt;</a></li><li><a href="#impl-From%3CExprWhile%3E-for-Expr">From&lt;ExprWhile&gt;</a></li><li><a href="#impl-From%3CExprYield%3E-for-Expr">From&lt;ExprYield&gt;</a></li><li><a href="#impl-Parse-for-Expr">Parse</a></li><li><a href="#impl-ToTokens-for-Expr">ToTokens</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul><li><a href="#impl-RefUnwindSafe-for-Expr">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Expr">!Send</a></li><li><a href="#impl-Sync-for-Expr">!Sync</a></li><li><a href="#impl-Unpin-for-Expr">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Expr">UnwindSafe</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><ul><li><a href="#impl-Any-for-Expr">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Expr">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Expr">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Expr">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Expr">Into&lt;U&gt;</a></li><li><a href="#impl-Spanned-for-Expr">Spanned</a></li><li><a href="#impl-ToOwned-for-Expr">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Expr">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Expr">TryInto&lt;U&gt;</a></li></ul></div></section><h2 class="location"><a href="index.html">In syn</a></h2></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../syn/index.html"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></a><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><button type="button">?</button></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></div></form></nav></div><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn"><span class="in-band">Enum <a href="index.html">syn</a>::<wbr><a class="enum" href="#">Expr</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust enum"><code>#[non_exhaustive]
pub enum Expr {
<details class="rustdoc-toggle type-contents-toggle"><summary class="hideme"><span>Show 40 variants</span></summary> Array(<a class="struct" href="struct.ExprArray.html" title="struct syn::ExprArray">ExprArray</a>),
Assign(<a class="struct" href="struct.ExprAssign.html" title="struct syn::ExprAssign">ExprAssign</a>),
AssignOp(<a class="struct" href="struct.ExprAssignOp.html" title="struct syn::ExprAssignOp">ExprAssignOp</a>),
Async(<a class="struct" href="struct.ExprAsync.html" title="struct syn::ExprAsync">ExprAsync</a>),
Await(<a class="struct" href="struct.ExprAwait.html" title="struct syn::ExprAwait">ExprAwait</a>),
Binary(<a class="struct" href="struct.ExprBinary.html" title="struct syn::ExprBinary">ExprBinary</a>),
Block(<a class="struct" href="struct.ExprBlock.html" title="struct syn::ExprBlock">ExprBlock</a>),
Box(<a class="struct" href="struct.ExprBox.html" title="struct syn::ExprBox">ExprBox</a>),
Break(<a class="struct" href="struct.ExprBreak.html" title="struct syn::ExprBreak">ExprBreak</a>),
Call(<a class="struct" href="struct.ExprCall.html" title="struct syn::ExprCall">ExprCall</a>),
Cast(<a class="struct" href="struct.ExprCast.html" title="struct syn::ExprCast">ExprCast</a>),
Closure(<a class="struct" href="struct.ExprClosure.html" title="struct syn::ExprClosure">ExprClosure</a>),
Continue(<a class="struct" href="struct.ExprContinue.html" title="struct syn::ExprContinue">ExprContinue</a>),
Field(<a class="struct" href="struct.ExprField.html" title="struct syn::ExprField">ExprField</a>),
ForLoop(<a class="struct" href="struct.ExprForLoop.html" title="struct syn::ExprForLoop">ExprForLoop</a>),
Group(<a class="struct" href="struct.ExprGroup.html" title="struct syn::ExprGroup">ExprGroup</a>),
If(<a class="struct" href="struct.ExprIf.html" title="struct syn::ExprIf">ExprIf</a>),
Index(<a class="struct" href="struct.ExprIndex.html" title="struct syn::ExprIndex">ExprIndex</a>),
Let(<a class="struct" href="struct.ExprLet.html" title="struct syn::ExprLet">ExprLet</a>),
Lit(<a class="struct" href="struct.ExprLit.html" title="struct syn::ExprLit">ExprLit</a>),
Loop(<a class="struct" href="struct.ExprLoop.html" title="struct syn::ExprLoop">ExprLoop</a>),
Macro(<a class="struct" href="struct.ExprMacro.html" title="struct syn::ExprMacro">ExprMacro</a>),
Match(<a class="struct" href="struct.ExprMatch.html" title="struct syn::ExprMatch">ExprMatch</a>),
MethodCall(<a class="struct" href="struct.ExprMethodCall.html" title="struct syn::ExprMethodCall">ExprMethodCall</a>),
Paren(<a class="struct" href="struct.ExprParen.html" title="struct syn::ExprParen">ExprParen</a>),
Path(<a class="struct" href="struct.ExprPath.html" title="struct syn::ExprPath">ExprPath</a>),
Range(<a class="struct" href="struct.ExprRange.html" title="struct syn::ExprRange">ExprRange</a>),
Reference(<a class="struct" href="struct.ExprReference.html" title="struct syn::ExprReference">ExprReference</a>),
Repeat(<a class="struct" href="struct.ExprRepeat.html" title="struct syn::ExprRepeat">ExprRepeat</a>),
Return(<a class="struct" href="struct.ExprReturn.html" title="struct syn::ExprReturn">ExprReturn</a>),
Struct(<a class="struct" href="struct.ExprStruct.html" title="struct syn::ExprStruct">ExprStruct</a>),
Try(<a class="struct" href="struct.ExprTry.html" title="struct syn::ExprTry">ExprTry</a>),
TryBlock(<a class="struct" href="struct.ExprTryBlock.html" title="struct syn::ExprTryBlock">ExprTryBlock</a>),
Tuple(<a class="struct" href="struct.ExprTuple.html" title="struct syn::ExprTuple">ExprTuple</a>),
Type(<a class="struct" href="struct.ExprType.html" title="struct syn::ExprType">ExprType</a>),
Unary(<a class="struct" href="struct.ExprUnary.html" title="struct syn::ExprUnary">ExprUnary</a>),
Unsafe(<a class="struct" href="struct.ExprUnsafe.html" title="struct syn::ExprUnsafe">ExprUnsafe</a>),
Verbatim(<a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a>),
While(<a class="struct" href="struct.ExprWhile.html" title="struct syn::ExprWhile">ExprWhile</a>),
Yield(<a class="struct" href="struct.ExprYield.html" title="struct syn::ExprYield">ExprYield</a>),
</details>}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A Rust expression.</p>
<p><em>This type is available only if Syn is built with the <code>&quot;derive&quot;</code> or <code>&quot;full&quot;</code>
feature, but most of the variants are not available unless “full” is enabled.</em></p>
<h2 id="syntax-tree-enums"><a href="#syntax-tree-enums">Syntax tree enums</a></h2>
<p>This type is a syntax tree enum. In Syn this and other syntax tree enums
are designed to be traversed using the following rebinding idiom.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">expr</span>: <span class="ident">Expr</span> <span class="op">=</span> <span class="comment">/* ... */</span>;
<span class="kw">match</span> <span class="ident">expr</span> {
<span class="ident">Expr::MethodCall</span>(<span class="ident">expr</span>) =&gt; {
<span class="comment">/* ... */</span>
}
<span class="ident">Expr::Cast</span>(<span class="ident">expr</span>) =&gt; {
<span class="comment">/* ... */</span>
}
<span class="ident">Expr::If</span>(<span class="ident">expr</span>) =&gt; {
<span class="comment">/* ... */</span>
}
<span class="comment">/* ... */</span></code></pre></div>
<p>We begin with a variable <code>expr</code> of type <code>Expr</code> that has no fields
(because it is an enum), and by matching on it and rebinding a variable
with the same name <code>expr</code> we effectively imbue our variable with all of
the data fields provided by the variant that it turned out to be. So for
example above if we ended up in the <code>MethodCall</code> case then we get to use
<code>expr.receiver</code>, <code>expr.args</code> etc; if we ended up in the <code>If</code> case we get
to use <code>expr.cond</code>, <code>expr.then_branch</code>, <code>expr.else_branch</code>.</p>
<p>This approach avoids repeating the variant names twice on every line.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Repetitive; recommend not doing this.</span>
<span class="kw">match</span> <span class="ident">expr</span> {
<span class="ident">Expr::MethodCall</span>(<span class="ident">ExprMethodCall</span> { <span class="ident">method</span>, <span class="ident">args</span>, .. }) =&gt; {</code></pre></div>
<p>In general, the name to which a syntax tree enum variant is bound should
be a suitable name for the complete syntax tree enum type.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="comment">// Binding is called `base` which is the name I would use if I were</span>
<span class="comment">// assigning `*discriminant.base` without an `if let`.</span>
<span class="kw">if</span> <span class="kw">let</span> <span class="ident">Expr::Tuple</span>(<span class="ident">base</span>) <span class="op">=</span> <span class="kw-2">*</span><span class="ident">discriminant</span>.<span class="ident">base</span> {</code></pre></div>
<p>A sign that you may not be choosing the right variable names is if you
see names getting repeated in your code, like accessing
<code>receiver.receiver</code> or <code>pat.pat</code> or <code>cond.cond</code>.</p>
</div></details><h2 id="variants" class="variants small-section-header">Variants (Non-exhaustive)<a href="#variants" class="anchor"></a></h2><details class="rustdoc-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><h3 id="variant.Array" class="variant small-section-header"><a href="#variant.Array" class="anchor field"></a><code>Array(<a class="struct" href="struct.ExprArray.html" title="struct syn::ExprArray">ExprArray</a>)</code></h3><div class="docblock"><p>A slice literal expression: <code>[a, b, c, d]</code>.</p>
</div><h3 id="variant.Assign" class="variant small-section-header"><a href="#variant.Assign" class="anchor field"></a><code>Assign(<a class="struct" href="struct.ExprAssign.html" title="struct syn::ExprAssign">ExprAssign</a>)</code></h3><div class="docblock"><p>An assignment expression: <code>a = compute()</code>.</p>
</div><h3 id="variant.AssignOp" class="variant small-section-header"><a href="#variant.AssignOp" class="anchor field"></a><code>AssignOp(<a class="struct" href="struct.ExprAssignOp.html" title="struct syn::ExprAssignOp">ExprAssignOp</a>)</code></h3><div class="docblock"><p>A compound assignment expression: <code>counter += 1</code>.</p>
</div><h3 id="variant.Async" class="variant small-section-header"><a href="#variant.Async" class="anchor field"></a><code>Async(<a class="struct" href="struct.ExprAsync.html" title="struct syn::ExprAsync">ExprAsync</a>)</code></h3><div class="docblock"><p>An async block: <code>async { ... }</code>.</p>
</div><h3 id="variant.Await" class="variant small-section-header"><a href="#variant.Await" class="anchor field"></a><code>Await(<a class="struct" href="struct.ExprAwait.html" title="struct syn::ExprAwait">ExprAwait</a>)</code></h3><div class="docblock"><p>An await expression: <code>fut.await</code>.</p>
</div><h3 id="variant.Binary" class="variant small-section-header"><a href="#variant.Binary" class="anchor field"></a><code>Binary(<a class="struct" href="struct.ExprBinary.html" title="struct syn::ExprBinary">ExprBinary</a>)</code></h3><div class="docblock"><p>A binary operation: <code>a + b</code>, <code>a * b</code>.</p>
</div><h3 id="variant.Block" class="variant small-section-header"><a href="#variant.Block" class="anchor field"></a><code>Block(<a class="struct" href="struct.ExprBlock.html" title="struct syn::ExprBlock">ExprBlock</a>)</code></h3><div class="docblock"><p>A blocked scope: <code>{ ... }</code>.</p>
</div><h3 id="variant.Box" class="variant small-section-header"><a href="#variant.Box" class="anchor field"></a><code>Box(<a class="struct" href="struct.ExprBox.html" title="struct syn::ExprBox">ExprBox</a>)</code></h3><div class="docblock"><p>A box expression: <code>box f</code>.</p>
</div><h3 id="variant.Break" class="variant small-section-header"><a href="#variant.Break" class="anchor field"></a><code>Break(<a class="struct" href="struct.ExprBreak.html" title="struct syn::ExprBreak">ExprBreak</a>)</code></h3><div class="docblock"><p>A <code>break</code>, with an optional label to break and an optional
expression.</p>
</div><h3 id="variant.Call" class="variant small-section-header"><a href="#variant.Call" class="anchor field"></a><code>Call(<a class="struct" href="struct.ExprCall.html" title="struct syn::ExprCall">ExprCall</a>)</code></h3><div class="docblock"><p>A function call expression: <code>invoke(a, b)</code>.</p>
</div><h3 id="variant.Cast" class="variant small-section-header"><a href="#variant.Cast" class="anchor field"></a><code>Cast(<a class="struct" href="struct.ExprCast.html" title="struct syn::ExprCast">ExprCast</a>)</code></h3><div class="docblock"><p>A cast expression: <code>foo as f64</code>.</p>
</div><h3 id="variant.Closure" class="variant small-section-header"><a href="#variant.Closure" class="anchor field"></a><code>Closure(<a class="struct" href="struct.ExprClosure.html" title="struct syn::ExprClosure">ExprClosure</a>)</code></h3><div class="docblock"><p>A closure expression: <code>|a, b| a + b</code>.</p>
</div><h3 id="variant.Continue" class="variant small-section-header"><a href="#variant.Continue" class="anchor field"></a><code>Continue(<a class="struct" href="struct.ExprContinue.html" title="struct syn::ExprContinue">ExprContinue</a>)</code></h3><div class="docblock"><p>A <code>continue</code>, with an optional label.</p>
</div><h3 id="variant.Field" class="variant small-section-header"><a href="#variant.Field" class="anchor field"></a><code>Field(<a class="struct" href="struct.ExprField.html" title="struct syn::ExprField">ExprField</a>)</code></h3><div class="docblock"><p>Access of a named struct field (<code>obj.k</code>) or unnamed tuple struct
field (<code>obj.0</code>).</p>
</div><h3 id="variant.ForLoop" class="variant small-section-header"><a href="#variant.ForLoop" class="anchor field"></a><code>ForLoop(<a class="struct" href="struct.ExprForLoop.html" title="struct syn::ExprForLoop">ExprForLoop</a>)</code></h3><div class="docblock"><p>A for loop: <code>for pat in expr { ... }</code>.</p>
</div><h3 id="variant.Group" class="variant small-section-header"><a href="#variant.Group" class="anchor field"></a><code>Group(<a class="struct" href="struct.ExprGroup.html" title="struct syn::ExprGroup">ExprGroup</a>)</code></h3><div class="docblock"><p>An expression contained within invisible delimiters.</p>
<p>This variant is important for faithfully representing the precedence
of expressions and is related to <code>None</code>-delimited spans in a
<code>TokenStream</code>.</p>
</div><h3 id="variant.If" class="variant small-section-header"><a href="#variant.If" class="anchor field"></a><code>If(<a class="struct" href="struct.ExprIf.html" title="struct syn::ExprIf">ExprIf</a>)</code></h3><div class="docblock"><p>An <code>if</code> expression with an optional <code>else</code> block: <code>if expr { ... } else { ... }</code>.</p>
<p>The <code>else</code> branch expression may only be an <code>If</code> or <code>Block</code>
expression, not any of the other types of expression.</p>
</div><h3 id="variant.Index" class="variant small-section-header"><a href="#variant.Index" class="anchor field"></a><code>Index(<a class="struct" href="struct.ExprIndex.html" title="struct syn::ExprIndex">ExprIndex</a>)</code></h3><div class="docblock"><p>A square bracketed indexing expression: <code>vector[2]</code>.</p>
</div><h3 id="variant.Let" class="variant small-section-header"><a href="#variant.Let" class="anchor field"></a><code>Let(<a class="struct" href="struct.ExprLet.html" title="struct syn::ExprLet">ExprLet</a>)</code></h3><div class="docblock"><p>A <code>let</code> guard: <code>let Some(x) = opt</code>.</p>
</div><h3 id="variant.Lit" class="variant small-section-header"><a href="#variant.Lit" class="anchor field"></a><code>Lit(<a class="struct" href="struct.ExprLit.html" title="struct syn::ExprLit">ExprLit</a>)</code></h3><div class="docblock"><p>A literal in place of an expression: <code>1</code>, <code>&quot;foo&quot;</code>.</p>
</div><h3 id="variant.Loop" class="variant small-section-header"><a href="#variant.Loop" class="anchor field"></a><code>Loop(<a class="struct" href="struct.ExprLoop.html" title="struct syn::ExprLoop">ExprLoop</a>)</code></h3><div class="docblock"><p>Conditionless loop: <code>loop { ... }</code>.</p>
</div><h3 id="variant.Macro" class="variant small-section-header"><a href="#variant.Macro" class="anchor field"></a><code>Macro(<a class="struct" href="struct.ExprMacro.html" title="struct syn::ExprMacro">ExprMacro</a>)</code></h3><div class="docblock"><p>A macro invocation expression: <code>format!(&quot;{}&quot;, q)</code>.</p>
</div><h3 id="variant.Match" class="variant small-section-header"><a href="#variant.Match" class="anchor field"></a><code>Match(<a class="struct" href="struct.ExprMatch.html" title="struct syn::ExprMatch">ExprMatch</a>)</code></h3><div class="docblock"><p>A <code>match</code> expression: <code>match n { Some(n) =&gt; {}, None =&gt; {} }</code>.</p>
</div><h3 id="variant.MethodCall" class="variant small-section-header"><a href="#variant.MethodCall" class="anchor field"></a><code>MethodCall(<a class="struct" href="struct.ExprMethodCall.html" title="struct syn::ExprMethodCall">ExprMethodCall</a>)</code></h3><div class="docblock"><p>A method call expression: <code>x.foo::&lt;T&gt;(a, b)</code>.</p>
</div><h3 id="variant.Paren" class="variant small-section-header"><a href="#variant.Paren" class="anchor field"></a><code>Paren(<a class="struct" href="struct.ExprParen.html" title="struct syn::ExprParen">ExprParen</a>)</code></h3><div class="docblock"><p>A parenthesized expression: <code>(a + b)</code>.</p>
</div><h3 id="variant.Path" class="variant small-section-header"><a href="#variant.Path" class="anchor field"></a><code>Path(<a class="struct" href="struct.ExprPath.html" title="struct syn::ExprPath">ExprPath</a>)</code></h3><div class="docblock"><p>A path like <code>std::mem::replace</code> possibly containing generic
parameters and a qualified self-type.</p>
<p>A plain identifier like <code>x</code> is a path of length 1.</p>
</div><h3 id="variant.Range" class="variant small-section-header"><a href="#variant.Range" class="anchor field"></a><code>Range(<a class="struct" href="struct.ExprRange.html" title="struct syn::ExprRange">ExprRange</a>)</code></h3><div class="docblock"><p>A range expression: <code>1..2</code>, <code>1..</code>, <code>..2</code>, <code>1..=2</code>, <code>..=2</code>.</p>
</div><h3 id="variant.Reference" class="variant small-section-header"><a href="#variant.Reference" class="anchor field"></a><code>Reference(<a class="struct" href="struct.ExprReference.html" title="struct syn::ExprReference">ExprReference</a>)</code></h3><div class="docblock"><p>A referencing operation: <code>&amp;a</code> or <code>&amp;mut a</code>.</p>
</div><h3 id="variant.Repeat" class="variant small-section-header"><a href="#variant.Repeat" class="anchor field"></a><code>Repeat(<a class="struct" href="struct.ExprRepeat.html" title="struct syn::ExprRepeat">ExprRepeat</a>)</code></h3><div class="docblock"><p>An array literal constructed from one repeated element: <code>[0u8; N]</code>.</p>
</div><h3 id="variant.Return" class="variant small-section-header"><a href="#variant.Return" class="anchor field"></a><code>Return(<a class="struct" href="struct.ExprReturn.html" title="struct syn::ExprReturn">ExprReturn</a>)</code></h3><div class="docblock"><p>A <code>return</code>, with an optional value to be returned.</p>
</div><h3 id="variant.Struct" class="variant small-section-header"><a href="#variant.Struct" class="anchor field"></a><code>Struct(<a class="struct" href="struct.ExprStruct.html" title="struct syn::ExprStruct">ExprStruct</a>)</code></h3><div class="docblock"><p>A struct literal expression: <code>Point { x: 1, y: 1 }</code>.</p>
<p>The <code>rest</code> provides the value of the remaining fields as in <code>S { a: 1, b: 1, ..rest }</code>.</p>
</div><h3 id="variant.Try" class="variant small-section-header"><a href="#variant.Try" class="anchor field"></a><code>Try(<a class="struct" href="struct.ExprTry.html" title="struct syn::ExprTry">ExprTry</a>)</code></h3><div class="docblock"><p>A try-expression: <code>expr?</code>.</p>
</div><h3 id="variant.TryBlock" class="variant small-section-header"><a href="#variant.TryBlock" class="anchor field"></a><code>TryBlock(<a class="struct" href="struct.ExprTryBlock.html" title="struct syn::ExprTryBlock">ExprTryBlock</a>)</code></h3><div class="docblock"><p>A try block: <code>try { ... }</code>.</p>
</div><h3 id="variant.Tuple" class="variant small-section-header"><a href="#variant.Tuple" class="anchor field"></a><code>Tuple(<a class="struct" href="struct.ExprTuple.html" title="struct syn::ExprTuple">ExprTuple</a>)</code></h3><div class="docblock"><p>A tuple expression: <code>(a, b, c, d)</code>.</p>
</div><h3 id="variant.Type" class="variant small-section-header"><a href="#variant.Type" class="anchor field"></a><code>Type(<a class="struct" href="struct.ExprType.html" title="struct syn::ExprType">ExprType</a>)</code></h3><div class="docblock"><p>A type ascription expression: <code>foo: f64</code>.</p>
</div><h3 id="variant.Unary" class="variant small-section-header"><a href="#variant.Unary" class="anchor field"></a><code>Unary(<a class="struct" href="struct.ExprUnary.html" title="struct syn::ExprUnary">ExprUnary</a>)</code></h3><div class="docblock"><p>A unary operation: <code>!x</code>, <code>*x</code>.</p>
</div><h3 id="variant.Unsafe" class="variant small-section-header"><a href="#variant.Unsafe" class="anchor field"></a><code>Unsafe(<a class="struct" href="struct.ExprUnsafe.html" title="struct syn::ExprUnsafe">ExprUnsafe</a>)</code></h3><div class="docblock"><p>An unsafe block: <code>unsafe { ... }</code>.</p>
</div><h3 id="variant.Verbatim" class="variant small-section-header"><a href="#variant.Verbatim" class="anchor field"></a><code>Verbatim(<a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a>)</code></h3><div class="docblock"><p>Tokens in expression position not interpreted by Syn.</p>
</div><h3 id="variant.While" class="variant small-section-header"><a href="#variant.While" class="anchor field"></a><code>While(<a class="struct" href="struct.ExprWhile.html" title="struct syn::ExprWhile">ExprWhile</a>)</code></h3><div class="docblock"><p>A while loop: <code>while expr { ... }</code>.</p>
</div><h3 id="variant.Yield" class="variant small-section-header"><a href="#variant.Yield" class="anchor field"></a><code>Yield(<a class="struct" href="struct.ExprYield.html" title="struct syn::ExprYield">ExprYield</a>)</code></h3><div class="docblock"><p>A yield expression: <code>yield expr</code>.</p>
</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#1166-1252">source</a></span><a href="#impl-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.parse_without_eager_brace" class="method has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#1249-1251">source</a></span><h4 class="code-header">pub fn <a href="#method.parse_without_eager_brace" class="fnname">parse_without_eager_brace</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;<a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a>&gt;</h4></section></summary><div class="docblock"><p>An alternative to the primary <code>Expr::parse</code> parser (from the
<a href="parse/trait.Parse.html" title="Parse"><code>Parse</code></a> trait) for ambiguous syntactic positions in which a
trailing brace should not be taken as part of the expression.</p>
<p>Rust grammar has an ambiguity where braces sometimes turn a path
expression into a struct initialization and sometimes do not. In the
following code, the expression <code>S {}</code> is one expression. Presumably
there is an empty struct <code>struct S {}</code> defined somewhere which it is
instantiating.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="kw">_</span> <span class="op">=</span> <span class="kw-2">*</span><span class="ident">S</span> {};
<span class="comment">// parsed by rustc as: `*(S {})`</span></code></pre></div>
<p>We would want to parse the above using <code>Expr::parse</code> after the <code>=</code>
token.</p>
<p>But in the following, <code>S {}</code> is <em>not</em> a struct init expression.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">if</span> <span class="kw-2">*</span><span class="ident">S</span> {} {}
<span class="comment">// parsed by rustc as:</span>
<span class="comment">//</span>
<span class="comment">// if (*S) {</span>
<span class="comment">// /* empty block */</span>
<span class="comment">// }</span>
<span class="comment">// {</span>
<span class="comment">// /* another empty block */</span>
<span class="comment">// }</span></code></pre></div>
<p>For that reason we would want to parse if-conditions using
<code>Expr::parse_without_eager_brace</code> after the <code>if</code> token. Same for
similar syntactic positions such as the condition expr after a
<code>while</code> token or the expr at the top of a <code>match</code>.</p>
<p>The Rust grammars choices around which way this ambiguity is
resolved at various syntactic positions is fairly arbitrary. Really
either parse behavior could work in most positions, and language
designers just decide each case based on which is more likely to be
what the programmer had in mind most of the time.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">if</span> <span class="kw">return</span> <span class="ident">S</span> {} {}
<span class="comment">// parsed by rustc as:</span>
<span class="comment">//</span>
<span class="comment">// if (return (S {})) {</span>
<span class="comment">// }</span>
<span class="comment">//</span>
<span class="comment">// but could equally well have been this other arbitrary choice:</span>
<span class="comment">//</span>
<span class="comment">// if (return S) {</span>
<span class="comment">// }</span>
<span class="comment">// {}</span></code></pre></div>
<p>Note the grammar ambiguity on trailing braces is distinct from
precedence and is not captured by assigning a precedence level to
the braced struct init expr in relation to other operators. This can
be illustrated by <code>return 0..S {}</code> vs <code>match 0..S {}</code>. The former
parses as <code>return (0..(S {}))</code> implying tighter precedence for
struct init than <code>..</code>, while the latter parses as <code>match (0..S) {}</code>
implying tighter precedence for <code>..</code> than struct init, a
contradiction.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/gen/clone.rs.html#203-280">source</a></span><a href="#impl-Clone-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/gen/clone.rs.html#204-279">source</a></span><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; Self</h4></section></summary><div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.64.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.64.0/std/primitive.reference.html">&amp;</a>Self)</h4></section></summary><div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.64.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprArray%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprArray%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprArray.html" title="struct syn::ExprArray">ExprArray</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprArray.html" title="struct syn::ExprArray">ExprArray</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprAssign%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprAssign%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprAssign.html" title="struct syn::ExprAssign">ExprAssign</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-1" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprAssign.html" title="struct syn::ExprAssign">ExprAssign</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprAssignOp%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprAssignOp%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprAssignOp.html" title="struct syn::ExprAssignOp">ExprAssignOp</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-2" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprAssignOp.html" title="struct syn::ExprAssignOp">ExprAssignOp</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprAsync%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprAsync%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprAsync.html" title="struct syn::ExprAsync">ExprAsync</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-3" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprAsync.html" title="struct syn::ExprAsync">ExprAsync</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprAwait%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprAwait%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprAwait.html" title="struct syn::ExprAwait">ExprAwait</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-4" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprAwait.html" title="struct syn::ExprAwait">ExprAwait</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprBinary%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprBinary%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprBinary.html" title="struct syn::ExprBinary">ExprBinary</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-5" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprBinary.html" title="struct syn::ExprBinary">ExprBinary</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprBlock%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprBlock%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprBlock.html" title="struct syn::ExprBlock">ExprBlock</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-6" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprBlock.html" title="struct syn::ExprBlock">ExprBlock</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprBox%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprBox%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprBox.html" title="struct syn::ExprBox">ExprBox</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-7" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-7" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprBox.html" title="struct syn::ExprBox">ExprBox</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprBreak%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprBreak%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprBreak.html" title="struct syn::ExprBreak">ExprBreak</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-8" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-8" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprBreak.html" title="struct syn::ExprBreak">ExprBreak</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprCall%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprCall%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprCall.html" title="struct syn::ExprCall">ExprCall</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-9" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-9" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprCall.html" title="struct syn::ExprCall">ExprCall</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprCast%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprCast%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprCast.html" title="struct syn::ExprCast">ExprCast</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-10" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-10" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprCast.html" title="struct syn::ExprCast">ExprCast</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprClosure%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprClosure%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprClosure.html" title="struct syn::ExprClosure">ExprClosure</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-11" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-11" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprClosure.html" title="struct syn::ExprClosure">ExprClosure</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprContinue%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprContinue%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprContinue.html" title="struct syn::ExprContinue">ExprContinue</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-12" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-12" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprContinue.html" title="struct syn::ExprContinue">ExprContinue</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprField%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprField%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprField.html" title="struct syn::ExprField">ExprField</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-13" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-13" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprField.html" title="struct syn::ExprField">ExprField</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprForLoop%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprForLoop%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprForLoop.html" title="struct syn::ExprForLoop">ExprForLoop</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-14" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-14" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprForLoop.html" title="struct syn::ExprForLoop">ExprForLoop</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprGroup%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprGroup%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprGroup.html" title="struct syn::ExprGroup">ExprGroup</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-15" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-15" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprGroup.html" title="struct syn::ExprGroup">ExprGroup</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprIf%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprIf%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprIf.html" title="struct syn::ExprIf">ExprIf</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-16" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-16" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprIf.html" title="struct syn::ExprIf">ExprIf</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprIndex%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprIndex%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprIndex.html" title="struct syn::ExprIndex">ExprIndex</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-17" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-17" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprIndex.html" title="struct syn::ExprIndex">ExprIndex</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprLet%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprLet%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprLet.html" title="struct syn::ExprLet">ExprLet</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-18" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-18" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprLet.html" title="struct syn::ExprLet">ExprLet</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprLit%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprLit%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.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.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-19" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-19" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprLit.html" title="struct syn::ExprLit">ExprLit</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprLoop%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprLoop%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprLoop.html" title="struct syn::ExprLoop">ExprLoop</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-20" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-20" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprLoop.html" title="struct syn::ExprLoop">ExprLoop</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprMacro%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprMacro%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.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.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-21" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-21" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprMacro.html" title="struct syn::ExprMacro">ExprMacro</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprMatch%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprMatch%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprMatch.html" title="struct syn::ExprMatch">ExprMatch</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-22" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-22" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprMatch.html" title="struct syn::ExprMatch">ExprMatch</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprMethodCall%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprMethodCall%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprMethodCall.html" title="struct syn::ExprMethodCall">ExprMethodCall</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-23" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-23" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprMethodCall.html" title="struct syn::ExprMethodCall">ExprMethodCall</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprParen%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprParen%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprParen.html" title="struct syn::ExprParen">ExprParen</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-24" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-24" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprParen.html" title="struct syn::ExprParen">ExprParen</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprPath%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprPath%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.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.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-25" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-25" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprPath.html" title="struct syn::ExprPath">ExprPath</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprRange%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprRange%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.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.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-26" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-26" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprRange.html" title="struct syn::ExprRange">ExprRange</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprReference%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprReference%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprReference.html" title="struct syn::ExprReference">ExprReference</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-27" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-27" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprReference.html" title="struct syn::ExprReference">ExprReference</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprRepeat%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprRepeat%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprRepeat.html" title="struct syn::ExprRepeat">ExprRepeat</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-28" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-28" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprRepeat.html" title="struct syn::ExprRepeat">ExprRepeat</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprReturn%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprReturn%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprReturn.html" title="struct syn::ExprReturn">ExprReturn</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-29" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-29" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprReturn.html" title="struct syn::ExprReturn">ExprReturn</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprStruct%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprStruct%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprStruct.html" title="struct syn::ExprStruct">ExprStruct</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-30" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-30" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprStruct.html" title="struct syn::ExprStruct">ExprStruct</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprTry%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprTry%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprTry.html" title="struct syn::ExprTry">ExprTry</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-31" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-31" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprTry.html" title="struct syn::ExprTry">ExprTry</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprTryBlock%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprTryBlock%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprTryBlock.html" title="struct syn::ExprTryBlock">ExprTryBlock</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-32" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-32" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprTryBlock.html" title="struct syn::ExprTryBlock">ExprTryBlock</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprTuple%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprTuple%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprTuple.html" title="struct syn::ExprTuple">ExprTuple</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-33" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-33" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprTuple.html" title="struct syn::ExprTuple">ExprTuple</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprType%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprType%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprType.html" title="struct syn::ExprType">ExprType</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-34" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-34" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprType.html" title="struct syn::ExprType">ExprType</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprUnary%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprUnary%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprUnary.html" title="struct syn::ExprUnary">ExprUnary</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-35" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-35" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprUnary.html" title="struct syn::ExprUnary">ExprUnary</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprUnsafe%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprUnsafe%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprUnsafe.html" title="struct syn::ExprUnsafe">ExprUnsafe</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-36" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-36" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprUnsafe.html" title="struct syn::ExprUnsafe">ExprUnsafe</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprWhile%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprWhile%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprWhile.html" title="struct syn::ExprWhile">ExprWhile</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-37" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-37" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprWhile.html" title="struct syn::ExprWhile">ExprWhile</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CExprYield%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-From%3CExprYield%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.ExprYield.html" title="struct syn::ExprYield">ExprYield</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-38" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#method.from-38" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(e: <a class="struct" href="struct.ExprYield.html" title="struct syn::ExprYield">ExprYield</a>) -&gt; <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'><p>Converts to this type from the input type.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Parse-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#1160-1164">source</a></span><a href="#impl-Parse-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="parse/trait.Parse.html" title="trait syn::parse::Parse">Parse</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><section id="method.parse" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#1161-1163">source</a></span><a href="#method.parse" class="anchor"></a><h4 class="code-header">fn <a href="parse/trait.Parse.html#tymethod.parse" class="fnname">parse</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></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-ToTokens-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><a href="#impl-ToTokens-for-Expr" class="anchor"></a><h3 class="code-header in-band">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.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_tokens" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-250">source</a></span><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="fnname">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'><p>Write <code>self</code> to the given <code>TokenStream</code>. <a href="../quote/to_tokens/trait.ToTokens.html#tymethod.to_tokens">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_token_stream" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/quote/to_tokens.rs.html#59">source</a></span><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="fnname">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'><p>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></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into_token_stream" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/quote/to_tokens.rs.html#69-71">source</a></span><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="fnname">into_token_stream</a>(self) -&gt; <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a></h4></section></summary><div class='docblock'><p>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></p>
</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Expr" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section><section id="impl-Send-for-Expr" class="impl has-srclink"><a href="#impl-Send-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl !<a class="trait" href="https://doc.rust-lang.org/1.64.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section><section id="impl-Sync-for-Expr" class="impl has-srclink"><a href="#impl-Sync-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl !<a class="trait" href="https://doc.rust-lang.org/1.64.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section><section id="impl-Unpin-for-Expr" class="impl has-srclink"><a href="#impl-Unpin-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section><section id="impl-UnwindSafe-for-Expr" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/any.rs.html#203">source</a></span><a href="#impl-Any-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.64.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/any.rs.html#204">source</a></span><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.64.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.64.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/borrow.rs.html#209">source</a></span><a href="#impl-Borrow%3CT%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.64.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/borrow.rs.html#211">source</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.64.0/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.64.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/borrow.rs.html#218">source</a></span><a href="#impl-BorrowMut%3CT%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.64.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/borrow.rs.html#219">source</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.64.0/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.64.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/convert/mod.rs.html#557">source</a></span><a href="#impl-From%3CT%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.64.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="rustdoc-toggle method-toggle" open><summary><section id="method.from-39" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/convert/mod.rs.html#559">source</a></span><a href="#method.from-39" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/convert/mod.rs.html#541">source</a></span><a href="#impl-Into%3CU%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/convert/mod.rs.html#549">source</a></span><a href="#method.into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.Into.html#tymethod.into" class="fnname">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.64.0/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Spanned-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/spanned.rs.html#110-114">source</a></span><a href="#impl-Spanned-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="spanned/trait.Spanned.html" title="trait syn::spanned::Spanned">Spanned</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Spanned + ?<a class="trait" href="https://doc.rust-lang.org/1.64.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.span" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../src/syn/spanned.rs.html#111-113">source</a></span><a href="#method.span" class="anchor"></a><h4 class="code-header">fn <a href="spanned/trait.Spanned.html#tymethod.span" class="fnname">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'><p>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"><code>Span::call_site()</code></a> if this node is empty. <a href="spanned/trait.Spanned.html#tymethod.span">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/alloc/borrow.rs.html#83">source</a></span><a href="#impl-ToOwned-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.64.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.64.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'><p>The resulting type after obtaining ownership.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/alloc/borrow.rs.html#88">source</a></span><a href="#method.to_owned" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.64.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/alloc/borrow.rs.html#92">source</a></span><a href="#method.clone_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.64.0/std/primitive.reference.html">&amp;mut </a>T)</h4></section></summary><div class='docblock'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.64.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/convert/mod.rs.html#598">source</a></span><a href="#impl-TryFrom%3CU%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.64.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/convert/mod.rs.html#604">source</a></span><a href="#method.try_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.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.64.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.64.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Expr" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/convert/mod.rs.html#583">source</a></span><a href="#impl-TryInto%3CU%3E-for-Expr" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.64.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.64.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.64.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.64.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.64.0/src/core/convert/mod.rs.html#589">source</a></span><a href="#method.try_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.64.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.64.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.64.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.64.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="syn" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.64.0 (a55dd71d5 2022-09-19)" ></div></body></html>