This repository has been archived on 2022-04-04. You can view files and clone it, but cannot push or open issues or pull requests.
ludum-dare-50/rustdoc/syn/enum.Expr.html

257 lines
134 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 src="../crates.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="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a class="sidebar-logo" href="../syn/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.png" alt="logo"></div>
</a><h2 class="location">Enum Expr</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#variants">Variants</a></h3><div class="sidebar-links"><a href="#variant.Array">Array</a><a href="#variant.Assign">Assign</a><a href="#variant.AssignOp">AssignOp</a><a href="#variant.Async">Async</a><a href="#variant.Await">Await</a><a href="#variant.Binary">Binary</a><a href="#variant.Block">Block</a><a href="#variant.Box">Box</a><a href="#variant.Break">Break</a><a href="#variant.Call">Call</a><a href="#variant.Cast">Cast</a><a href="#variant.Closure">Closure</a><a href="#variant.Continue">Continue</a><a href="#variant.Field">Field</a><a href="#variant.ForLoop">ForLoop</a><a href="#variant.Group">Group</a><a href="#variant.If">If</a><a href="#variant.Index">Index</a><a href="#variant.Let">Let</a><a href="#variant.Lit">Lit</a><a href="#variant.Loop">Loop</a><a href="#variant.Macro">Macro</a><a href="#variant.Match">Match</a><a href="#variant.MethodCall">MethodCall</a><a href="#variant.Paren">Paren</a><a href="#variant.Path">Path</a><a href="#variant.Range">Range</a><a href="#variant.Reference">Reference</a><a href="#variant.Repeat">Repeat</a><a href="#variant.Return">Return</a><a href="#variant.Struct">Struct</a><a href="#variant.Try">Try</a><a href="#variant.TryBlock">TryBlock</a><a href="#variant.Tuple">Tuple</a><a href="#variant.Type">Type</a><a href="#variant.Unary">Unary</a><a href="#variant.Unsafe">Unsafe</a><a href="#variant.Verbatim">Verbatim</a><a href="#variant.While">While</a><a href="#variant.Yield">Yield</a></div><h3 class="sidebar-title"><a href="#implementations">Methods</a></h3><div class="sidebar-links"><a href="#method.parse_without_eager_brace">parse_without_eager_brace</a></div><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-From%3CExprArray%3E">From&lt;ExprArray&gt;</a><a href="#impl-From%3CExprAssign%3E">From&lt;ExprAssign&gt;</a><a href="#impl-From%3CExprAssignOp%3E">From&lt;ExprAssignOp&gt;</a><a href="#impl-From%3CExprAsync%3E">From&lt;ExprAsync&gt;</a><a href="#impl-From%3CExprAwait%3E">From&lt;ExprAwait&gt;</a><a href="#impl-From%3CExprBinary%3E">From&lt;ExprBinary&gt;</a><a href="#impl-From%3CExprBlock%3E">From&lt;ExprBlock&gt;</a><a href="#impl-From%3CExprBox%3E">From&lt;ExprBox&gt;</a><a href="#impl-From%3CExprBreak%3E">From&lt;ExprBreak&gt;</a><a href="#impl-From%3CExprCall%3E">From&lt;ExprCall&gt;</a><a href="#impl-From%3CExprCast%3E">From&lt;ExprCast&gt;</a><a href="#impl-From%3CExprClosure%3E">From&lt;ExprClosure&gt;</a><a href="#impl-From%3CExprContinue%3E">From&lt;ExprContinue&gt;</a><a href="#impl-From%3CExprField%3E">From&lt;ExprField&gt;</a><a href="#impl-From%3CExprForLoop%3E">From&lt;ExprForLoop&gt;</a><a href="#impl-From%3CExprGroup%3E">From&lt;ExprGroup&gt;</a><a href="#impl-From%3CExprIf%3E">From&lt;ExprIf&gt;</a><a href="#impl-From%3CExprIndex%3E">From&lt;ExprIndex&gt;</a><a href="#impl-From%3CExprLet%3E">From&lt;ExprLet&gt;</a><a href="#impl-From%3CExprLit%3E">From&lt;ExprLit&gt;</a><a href="#impl-From%3CExprLoop%3E">From&lt;ExprLoop&gt;</a><a href="#impl-From%3CExprMacro%3E">From&lt;ExprMacro&gt;</a><a href="#impl-From%3CExprMatch%3E">From&lt;ExprMatch&gt;</a><a href="#impl-From%3CExprMethodCall%3E">From&lt;ExprMethodCall&gt;</a><a href="#impl-From%3CExprParen%3E">From&lt;ExprParen&gt;</a><a href="#impl-From%3CExprPath%3E">From&lt;ExprPath&gt;</a><a href="#impl-From%3CExprRange%3E">From&lt;ExprRange&gt;</a><a href="#impl-From%3CExprReference%3E">From&lt;ExprReference&gt;</a><a href="#impl-From%3CExprRepeat%3E">From&lt;ExprRepeat&gt;</a><a href="#impl-From%3CExprReturn%3E">From&lt;ExprReturn&gt;</a><a href="#impl-From%3CExprStruct%3E">From&lt;ExprStruct&gt;</a><a href="#impl-From%3CExprTry%3E">From&lt;ExprTry&gt;</a><a href="#impl-From%3CExprTryBlock%3E">From&lt;ExprTryBlock&gt;</a><a href="#impl-From%3CExprTuple%3E">From&lt;ExprTuple&gt;</a><a href="#impl-From%3CExprType%3E">From&lt;ExprType&gt;</a><a href="#impl-From%3CExprUnary%3E">From&lt;ExprUnary&gt;</a><a href="#impl-From%3CExprUnsafe%3E">From&lt;ExprUnsafe&gt;</a><a href="#impl-From%3CExprWhile%3E">From&lt;ExprWhile&gt;</a><a href="#impl-From%3CExprYield%3E">From&lt;ExprYield&gt;</a><a href="#impl-Hash">Hash</a><a href="#impl-Parse">Parse</a><a href="#impl-PartialEq%3CExpr%3E">PartialEq&lt;Expr&gt;</a><a href="#impl-ToTokens">ToTokens</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-Spanned">Spanned</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a></div></div><h2 class="location">Other items in<br><a href="index.html">syn</a></h2><div id="sidebar-vars" data-name="Expr" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></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.png" alt="logo"></a><nav class="sub"><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><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><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></span></h1><div class="docblock item-decl"><pre class="rust enum"><code>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>),
// some variants omitted
</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" class="section-header"><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<a href="#variants" class="anchor"></a></h2><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="sub-variant" id="variant.Array.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Array.field.0" class="variant small-section-header"><a href="#variant.Array.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprArray.html" title="struct syn::ExprArray">ExprArray</a></code></span></div></div><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="sub-variant" id="variant.Assign.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Assign.field.0" class="variant small-section-header"><a href="#variant.Assign.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprAssign.html" title="struct syn::ExprAssign">ExprAssign</a></code></span></div></div><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="sub-variant" id="variant.AssignOp.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.AssignOp.field.0" class="variant small-section-header"><a href="#variant.AssignOp.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprAssignOp.html" title="struct syn::ExprAssignOp">ExprAssignOp</a></code></span></div></div><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="sub-variant" id="variant.Async.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Async.field.0" class="variant small-section-header"><a href="#variant.Async.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprAsync.html" title="struct syn::ExprAsync">ExprAsync</a></code></span></div></div><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="sub-variant" id="variant.Await.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Await.field.0" class="variant small-section-header"><a href="#variant.Await.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprAwait.html" title="struct syn::ExprAwait">ExprAwait</a></code></span></div></div><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="sub-variant" id="variant.Binary.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Binary.field.0" class="variant small-section-header"><a href="#variant.Binary.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprBinary.html" title="struct syn::ExprBinary">ExprBinary</a></code></span></div></div><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="sub-variant" id="variant.Block.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Block.field.0" class="variant small-section-header"><a href="#variant.Block.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprBlock.html" title="struct syn::ExprBlock">ExprBlock</a></code></span></div></div><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="sub-variant" id="variant.Box.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Box.field.0" class="variant small-section-header"><a href="#variant.Box.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprBox.html" title="struct syn::ExprBox">ExprBox</a></code></span></div></div><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="sub-variant" id="variant.Break.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Break.field.0" class="variant small-section-header"><a href="#variant.Break.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprBreak.html" title="struct syn::ExprBreak">ExprBreak</a></code></span></div></div><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="sub-variant" id="variant.Call.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Call.field.0" class="variant small-section-header"><a href="#variant.Call.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprCall.html" title="struct syn::ExprCall">ExprCall</a></code></span></div></div><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="sub-variant" id="variant.Cast.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Cast.field.0" class="variant small-section-header"><a href="#variant.Cast.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprCast.html" title="struct syn::ExprCast">ExprCast</a></code></span></div></div><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="sub-variant" id="variant.Closure.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Closure.field.0" class="variant small-section-header"><a href="#variant.Closure.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprClosure.html" title="struct syn::ExprClosure">ExprClosure</a></code></span></div></div><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="sub-variant" id="variant.Continue.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Continue.field.0" class="variant small-section-header"><a href="#variant.Continue.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprContinue.html" title="struct syn::ExprContinue">ExprContinue</a></code></span></div></div><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="sub-variant" id="variant.Field.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Field.field.0" class="variant small-section-header"><a href="#variant.Field.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprField.html" title="struct syn::ExprField">ExprField</a></code></span></div></div><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="sub-variant" id="variant.ForLoop.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.ForLoop.field.0" class="variant small-section-header"><a href="#variant.ForLoop.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprForLoop.html" title="struct syn::ExprForLoop">ExprForLoop</a></code></span></div></div><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="sub-variant" id="variant.Group.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Group.field.0" class="variant small-section-header"><a href="#variant.Group.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprGroup.html" title="struct syn::ExprGroup">ExprGroup</a></code></span></div></div><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="sub-variant" id="variant.If.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.If.field.0" class="variant small-section-header"><a href="#variant.If.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprIf.html" title="struct syn::ExprIf">ExprIf</a></code></span></div></div><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="sub-variant" id="variant.Index.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Index.field.0" class="variant small-section-header"><a href="#variant.Index.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprIndex.html" title="struct syn::ExprIndex">ExprIndex</a></code></span></div></div><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="sub-variant" id="variant.Let.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Let.field.0" class="variant small-section-header"><a href="#variant.Let.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprLet.html" title="struct syn::ExprLet">ExprLet</a></code></span></div></div><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="sub-variant" id="variant.Lit.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Lit.field.0" class="variant small-section-header"><a href="#variant.Lit.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprLit.html" title="struct syn::ExprLit">ExprLit</a></code></span></div></div><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="sub-variant" id="variant.Loop.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Loop.field.0" class="variant small-section-header"><a href="#variant.Loop.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprLoop.html" title="struct syn::ExprLoop">ExprLoop</a></code></span></div></div><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="sub-variant" id="variant.Macro.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Macro.field.0" class="variant small-section-header"><a href="#variant.Macro.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprMacro.html" title="struct syn::ExprMacro">ExprMacro</a></code></span></div></div><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="sub-variant" id="variant.Match.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Match.field.0" class="variant small-section-header"><a href="#variant.Match.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprMatch.html" title="struct syn::ExprMatch">ExprMatch</a></code></span></div></div><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="sub-variant" id="variant.MethodCall.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.MethodCall.field.0" class="variant small-section-header"><a href="#variant.MethodCall.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprMethodCall.html" title="struct syn::ExprMethodCall">ExprMethodCall</a></code></span></div></div><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="sub-variant" id="variant.Paren.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Paren.field.0" class="variant small-section-header"><a href="#variant.Paren.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprParen.html" title="struct syn::ExprParen">ExprParen</a></code></span></div></div><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="sub-variant" id="variant.Path.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Path.field.0" class="variant small-section-header"><a href="#variant.Path.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprPath.html" title="struct syn::ExprPath">ExprPath</a></code></span></div></div><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="sub-variant" id="variant.Range.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Range.field.0" class="variant small-section-header"><a href="#variant.Range.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprRange.html" title="struct syn::ExprRange">ExprRange</a></code></span></div></div><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="sub-variant" id="variant.Reference.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Reference.field.0" class="variant small-section-header"><a href="#variant.Reference.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprReference.html" title="struct syn::ExprReference">ExprReference</a></code></span></div></div><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="sub-variant" id="variant.Repeat.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Repeat.field.0" class="variant small-section-header"><a href="#variant.Repeat.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprRepeat.html" title="struct syn::ExprRepeat">ExprRepeat</a></code></span></div></div><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="sub-variant" id="variant.Return.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Return.field.0" class="variant small-section-header"><a href="#variant.Return.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprReturn.html" title="struct syn::ExprReturn">ExprReturn</a></code></span></div></div><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="sub-variant" id="variant.Struct.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Struct.field.0" class="variant small-section-header"><a href="#variant.Struct.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprStruct.html" title="struct syn::ExprStruct">ExprStruct</a></code></span></div></div><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="sub-variant" id="variant.Try.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Try.field.0" class="variant small-section-header"><a href="#variant.Try.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprTry.html" title="struct syn::ExprTry">ExprTry</a></code></span></div></div><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="sub-variant" id="variant.TryBlock.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.TryBlock.field.0" class="variant small-section-header"><a href="#variant.TryBlock.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprTryBlock.html" title="struct syn::ExprTryBlock">ExprTryBlock</a></code></span></div></div><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="sub-variant" id="variant.Tuple.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Tuple.field.0" class="variant small-section-header"><a href="#variant.Tuple.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprTuple.html" title="struct syn::ExprTuple">ExprTuple</a></code></span></div></div><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="sub-variant" id="variant.Type.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Type.field.0" class="variant small-section-header"><a href="#variant.Type.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprType.html" title="struct syn::ExprType">ExprType</a></code></span></div></div><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="sub-variant" id="variant.Unary.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Unary.field.0" class="variant small-section-header"><a href="#variant.Unary.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprUnary.html" title="struct syn::ExprUnary">ExprUnary</a></code></span></div></div><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="sub-variant" id="variant.Unsafe.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Unsafe.field.0" class="variant small-section-header"><a href="#variant.Unsafe.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprUnsafe.html" title="struct syn::ExprUnsafe">ExprUnsafe</a></code></span></div></div><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="sub-variant" id="variant.Verbatim.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Verbatim.field.0" class="variant small-section-header"><a href="#variant.Verbatim.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a></code></span></div></div><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="sub-variant" id="variant.While.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.While.field.0" class="variant small-section-header"><a href="#variant.While.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprWhile.html" title="struct syn::ExprWhile">ExprWhile</a></code></span></div></div><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="sub-variant" id="variant.Yield.fields"><h4>Tuple Fields</h4><div class="sub-variant-field"><span id="variant.Yield.field.0" class="variant small-section-header"><a href="#variant.Yield.field.0" class="anchor field"></a><code>0:&nbsp;<a class="struct" href="struct.ExprYield.html" title="struct syn::ExprYield">ExprYield</a></code></span></div></div><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><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#1159-1245" title="goto source code">[src]</a></div><a href="#impl" class="anchor"></a><h3 class="code-header in-band">impl <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.parse_without_eager_brace" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#1242-1244" title="goto source code">[src]</a></div><a href="#method.parse_without_eager_brace" class="anchor"></a><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></div></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><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><div id="impl-Clone" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/gen/clone.rs.html#203-279" title="goto source code">[src]</a></div><a href="#impl-Clone" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/gen/clone.rs.html#204-278" title="goto source code">[src]</a></div><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; Self</h4></div></summary><div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone_from" class="method trait-impl has-srclink"><div 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.59.0/src/core/clone.rs.html#130" title="goto source code">[src]</a></div><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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.59.0/std/primitive.reference.html">&amp;</a>Self)</h4></div></summary><div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.59.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><div id="impl-Debug" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/gen/debug.rs.html#357-593" title="goto source code">[src]</a></div><a href="#impl-Debug" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/gen/debug.rs.html#358-592" title="goto source code">[src]</a></div><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, formatter: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div></summary><div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprArray%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprArray%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprAssign%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprAssign%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-1" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-1" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprAssignOp%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprAssignOp%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-2" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-2" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprAsync%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprAsync%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-3" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-3" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprAwait%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprAwait%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-4" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-4" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprBinary%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprBinary%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-5" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-5" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprBlock%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprBlock%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-6" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-6" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprBox%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprBox%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-7" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-7" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprBreak%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprBreak%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-8" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-8" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprCall%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprCall%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-9" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-9" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprCast%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprCast%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-10" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-10" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprClosure%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprClosure%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-11" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-11" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprContinue%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprContinue%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-12" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-12" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprField%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprField%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-13" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-13" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprForLoop%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprForLoop%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-14" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-14" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprGroup%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprGroup%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-15" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-15" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprIf%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprIf%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-16" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-16" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprIndex%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprIndex%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-17" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-17" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprLet%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprLet%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-18" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-18" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprLit%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprLit%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-19" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-19" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprLoop%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprLoop%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-20" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-20" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprMacro%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprMacro%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-21" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-21" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprMatch%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprMatch%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-22" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-22" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprMethodCall%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprMethodCall%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-23" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-23" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprParen%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprParen%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-24" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-24" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprPath%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprPath%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-25" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-25" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprRange%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprRange%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-26" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-26" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprReference%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprReference%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-27" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-27" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprRepeat%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprRepeat%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-28" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-28" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprReturn%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprReturn%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-29" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-29" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprStruct%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprStruct%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-30" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-30" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprTry%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprTry%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-31" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-31" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprTryBlock%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprTryBlock%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-32" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-32" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprTuple%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprTuple%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-33" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-33" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprType%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprType%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-34" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-34" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprUnary%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprUnary%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-35" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-35" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprUnsafe%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprUnsafe%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-36" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-36" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprWhile%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprWhile%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-37" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-37" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CExprYield%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-From%3CExprYield%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-38" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#method.from-38" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.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></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Hash" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/gen/hash.rs.html#305-504" title="goto source code">[src]</a></div><a href="#impl-Hash" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.hash" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/gen/hash.rs.html#306-503" title="goto source code">[src]</a></div><a href="#method.hash" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a>&lt;H&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;mut </a>H) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;H: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,&nbsp;</span></h4></div></summary><div class='docblock'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/1.59.0/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.59.0/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.hash_slice" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/hash/mod.rs.html#237-239" title="goto source code">[src]</a></div><a href="#method.hash_slice" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a>&lt;H&gt;(data: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">&amp;[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;mut </a>H) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;H: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,&nbsp;</span></h4></div></summary><div class='docblock'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.59.0/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.59.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Parse" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#1153-1157" title="goto source code">[src]</a></div><a href="#impl-Parse" 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></div></summary><div class="impl-items"><div id="method.parse" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#1154-1156" title="goto source code">[src]</a></div><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></div></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-PartialEq%3CExpr%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/gen/eq.rs.html#225-303" title="goto source code">[src]</a></div><a href="#impl-PartialEq%3CExpr%3E" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a>&gt; for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.eq" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/gen/eq.rs.html#226-302" title="goto source code">[src]</a></div><a href="#method.eq" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;</a>Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a></h4></div></summary><div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/1.59.0/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.ne" class="method trait-impl has-srclink"><div 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.59.0/src/core/cmp.rs.html#219" title="goto source code">[src]</a></div><a href="#method.ne" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;</a>Rhs) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a></h4></div></summary><div class='docblock'><p>This method tests for <code>!=</code>.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-ToTokens" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><a href="#impl-ToTokens" 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></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.to_tokens" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/expr.rs.html#14-253" title="goto source code">[src]</a></div><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></div></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><div id="method.to_token_stream" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/quote/to_tokens.rs.html#61" title="goto source code">[src]</a></div><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></div></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><div id="method.into_token_stream" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/quote/to_tokens.rs.html#71-73" title="goto source code">[src]</a></div><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></div></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 id="impl-Eq" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/gen/eq.rs.html#222" title="goto source code">[src]</a></div><a href="#impl-Eq" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><div id="impl-RefUnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-RefUnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div><div id="impl-Send" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Send" class="anchor"></a><h3 class="code-header in-band">impl !<a class="trait" href="https://doc.rust-lang.org/1.59.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></div><div id="impl-Sync" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Sync" class="anchor"></a><h3 class="code-header in-band">impl !<a class="trait" href="https://doc.rust-lang.org/1.59.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></div><div id="impl-Unpin" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Unpin" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div><div id="impl-UnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-UnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.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></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Any" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/any.rs.html#132-136" title="goto source code">[src]</a></div><a href="#impl-Any" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.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.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.type_id" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/any.rs.html#133" title="goto source code">[src]</a></div><a href="#method.type_id" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.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.59.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></div></summary><div class='docblock'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.59.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Borrow%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/borrow.rs.html#209-214" title="goto source code">[src]</a></div><a href="#impl-Borrow%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.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.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/borrow.rs.html#211" title="goto source code">[src]</a></div><a href="#method.borrow" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.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.59.0/std/primitive.reference.html">&amp;</a>T</h4></div></summary><div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-BorrowMut%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/borrow.rs.html#218-222" title="goto source code">[src]</a></div><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.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.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow_mut" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/borrow.rs.html#219" title="goto source code">[src]</a></div><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.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.59.0/std/primitive.reference.html">&amp;mut </a>T</h4></div></summary><div class='docblock'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#550-554" title="goto source code">[src]</a></div><a href="#impl-From%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-39" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#551" title="goto source code">[src]</a></div><a href="#method.from-39" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Into%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#538-545" title="goto source code">[src]</a></div><a href="#impl-Into%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.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.59.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#542" title="goto source code">[src]</a></div><a href="#method.into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -&gt; U</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Spanned" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/spanned.rs.html#110-114" title="goto source code">[src]</a></div><a href="#impl-Spanned" 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.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.span" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/syn/spanned.rs.html#111-113" title="goto source code">[src]</a></div><a href="#method.span" class="anchor"></a><h4 class="code-header">pub fn <a href="spanned/trait.Spanned.html#tymethod.span" class="fnname">span</a>(<a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;</a>Self) -&gt; <a class="struct" href="../proc_macro2/struct.Span.html" title="struct proc_macro2::Span">Span</a></h4></div></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" open><summary><div id="impl-ToOwned" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/alloc/borrow.rs.html#84-96" title="goto source code">[src]</a></div><a href="#impl-ToOwned" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.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.59.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Owned" class="type trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></div></summary><div class='docblock'><p>The resulting type after obtaining ownership.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.to_owned" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/alloc/borrow.rs.html#89" title="goto source code">[src]</a></div><a href="#method.to_owned" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&amp;self) -&gt; T</h4></div></summary><div class='docblock'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone_into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/alloc/borrow.rs.html#93" title="goto source code">[src]</a></div><a href="#method.clone_into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.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.59.0/std/primitive.reference.html">&amp;mut </a>T)</h4></div></summary><div class="item-info"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</div></div><div class='docblock'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryFrom%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#588-597" title="goto source code">[src]</a></div><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.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.59.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error-1" class="type 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.59.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></div></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><div id="method.try_from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#594" title="goto source code">[src]</a></div><a href="#method.try_from" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.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.59.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.59.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.59.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryInto%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#574-583" title="goto source code">[src]</a></div><a href="#impl-TryInto%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.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.59.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error" class="type trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.59.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.59.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.59.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></div></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><div id="method.try_into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#580" title="goto source code">[src]</a></div><a href="#method.try_into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.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.59.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.59.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.59.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details></div></section><section id="search" class="content hidden"></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.59.0 (9d1b2106e 2022-02-23)" ></div>
</body></html>