257 lines
134 KiB
HTML
257 lines
134 KiB
HTML
<!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">☰</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<ExprArray></a><a href="#impl-From%3CExprAssign%3E">From<ExprAssign></a><a href="#impl-From%3CExprAssignOp%3E">From<ExprAssignOp></a><a href="#impl-From%3CExprAsync%3E">From<ExprAsync></a><a href="#impl-From%3CExprAwait%3E">From<ExprAwait></a><a href="#impl-From%3CExprBinary%3E">From<ExprBinary></a><a href="#impl-From%3CExprBlock%3E">From<ExprBlock></a><a href="#impl-From%3CExprBox%3E">From<ExprBox></a><a href="#impl-From%3CExprBreak%3E">From<ExprBreak></a><a href="#impl-From%3CExprCall%3E">From<ExprCall></a><a href="#impl-From%3CExprCast%3E">From<ExprCast></a><a href="#impl-From%3CExprClosure%3E">From<ExprClosure></a><a href="#impl-From%3CExprContinue%3E">From<ExprContinue></a><a href="#impl-From%3CExprField%3E">From<ExprField></a><a href="#impl-From%3CExprForLoop%3E">From<ExprForLoop></a><a href="#impl-From%3CExprGroup%3E">From<ExprGroup></a><a href="#impl-From%3CExprIf%3E">From<ExprIf></a><a href="#impl-From%3CExprIndex%3E">From<ExprIndex></a><a href="#impl-From%3CExprLet%3E">From<ExprLet></a><a href="#impl-From%3CExprLit%3E">From<ExprLit></a><a href="#impl-From%3CExprLoop%3E">From<ExprLoop></a><a href="#impl-From%3CExprMacro%3E">From<ExprMacro></a><a href="#impl-From%3CExprMatch%3E">From<ExprMatch></a><a href="#impl-From%3CExprMethodCall%3E">From<ExprMethodCall></a><a href="#impl-From%3CExprParen%3E">From<ExprParen></a><a href="#impl-From%3CExprPath%3E">From<ExprPath></a><a href="#impl-From%3CExprRange%3E">From<ExprRange></a><a href="#impl-From%3CExprReference%3E">From<ExprReference></a><a href="#impl-From%3CExprRepeat%3E">From<ExprRepeat></a><a href="#impl-From%3CExprReturn%3E">From<ExprReturn></a><a href="#impl-From%3CExprStruct%3E">From<ExprStruct></a><a href="#impl-From%3CExprTry%3E">From<ExprTry></a><a href="#impl-From%3CExprTryBlock%3E">From<ExprTryBlock></a><a href="#impl-From%3CExprTuple%3E">From<ExprTuple></a><a href="#impl-From%3CExprType%3E">From<ExprType></a><a href="#impl-From%3CExprUnary%3E">From<ExprUnary></a><a href="#impl-From%3CExprUnsafe%3E">From<ExprUnsafe></a><a href="#impl-From%3CExprWhile%3E">From<ExprWhile></a><a href="#impl-From%3CExprYield%3E">From<ExprYield></a><a href="#impl-Hash">Hash</a><a href="#impl-Parse">Parse</a><a href="#impl-PartialEq%3CExpr%3E">PartialEq<Expr></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<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Spanned">Spanned</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></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">−</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>"derive"</code> or <code>"full"</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>) => {
|
||
<span class="comment">/* ... */</span>
|
||
}
|
||
<span class="ident">Expr::Cast</span>(<span class="ident">expr</span>) => {
|
||
<span class="comment">/* ... */</span>
|
||
}
|
||
<span class="ident">Expr::If</span>(<span class="ident">expr</span>) => {
|
||
<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>, .. }) => {</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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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>"foo"</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: <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: <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!("{}", 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: <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) => {}, None => {} }</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: <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::<T>(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: <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: <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: <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: <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>&a</code> or <code>&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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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><'_>) -> <a class="type" href="parse/type.Result.html" title="type syn::parse::Result">Result</a><<a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a>></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 grammar’s 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>(&self) -> 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>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</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>(&self, formatter: &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><'_>) -> <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><<a class="struct" href="struct.ExprArray.html" title="struct syn::ExprArray">ExprArray</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.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>) -> <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><<a class="struct" href="struct.ExprAssign.html" title="struct syn::ExprAssign">ExprAssign</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.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>) -> <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><<a class="struct" href="struct.ExprAssignOp.html" title="struct syn::ExprAssignOp">ExprAssignOp</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.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>) -> <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><<a class="struct" href="struct.ExprAsync.html" title="struct syn::ExprAsync">ExprAsync</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.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>) -> <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><<a class="struct" href="struct.ExprAwait.html" title="struct syn::ExprAwait">ExprAwait</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.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>) -> <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><<a class="struct" href="struct.ExprBinary.html" title="struct syn::ExprBinary">ExprBinary</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.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>) -> <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><<a class="struct" href="struct.ExprBlock.html" title="struct syn::ExprBlock">ExprBlock</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.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>) -> <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><<a class="struct" href="struct.ExprBox.html" title="struct syn::ExprBox">ExprBox</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.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>) -> <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><<a class="struct" href="struct.ExprBreak.html" title="struct syn::ExprBreak">ExprBreak</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.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>) -> <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><<a class="struct" href="struct.ExprCall.html" title="struct syn::ExprCall">ExprCall</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.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>) -> <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><<a class="struct" href="struct.ExprCast.html" title="struct syn::ExprCast">ExprCast</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.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>) -> <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><<a class="struct" href="struct.ExprClosure.html" title="struct syn::ExprClosure">ExprClosure</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.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>) -> <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><<a class="struct" href="struct.ExprContinue.html" title="struct syn::ExprContinue">ExprContinue</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.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>) -> <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><<a class="struct" href="struct.ExprField.html" title="struct syn::ExprField">ExprField</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.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>) -> <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><<a class="struct" href="struct.ExprForLoop.html" title="struct syn::ExprForLoop">ExprForLoop</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.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>) -> <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><<a class="struct" href="struct.ExprGroup.html" title="struct syn::ExprGroup">ExprGroup</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.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>) -> <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><<a class="struct" href="struct.ExprIf.html" title="struct syn::ExprIf">ExprIf</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.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>) -> <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><<a class="struct" href="struct.ExprIndex.html" title="struct syn::ExprIndex">ExprIndex</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.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>) -> <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><<a class="struct" href="struct.ExprLet.html" title="struct syn::ExprLet">ExprLet</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.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>) -> <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><<a class="struct" href="struct.ExprLit.html" title="struct syn::ExprLit">ExprLit</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.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>) -> <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><<a class="struct" href="struct.ExprLoop.html" title="struct syn::ExprLoop">ExprLoop</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.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>) -> <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><<a class="struct" href="struct.ExprMacro.html" title="struct syn::ExprMacro">ExprMacro</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.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>) -> <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><<a class="struct" href="struct.ExprMatch.html" title="struct syn::ExprMatch">ExprMatch</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.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>) -> <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><<a class="struct" href="struct.ExprMethodCall.html" title="struct syn::ExprMethodCall">ExprMethodCall</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.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>) -> <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><<a class="struct" href="struct.ExprParen.html" title="struct syn::ExprParen">ExprParen</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.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>) -> <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><<a class="struct" href="struct.ExprPath.html" title="struct syn::ExprPath">ExprPath</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.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>) -> <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><<a class="struct" href="struct.ExprRange.html" title="struct syn::ExprRange">ExprRange</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.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>) -> <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><<a class="struct" href="struct.ExprReference.html" title="struct syn::ExprReference">ExprReference</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.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>) -> <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><<a class="struct" href="struct.ExprRepeat.html" title="struct syn::ExprRepeat">ExprRepeat</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.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>) -> <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><<a class="struct" href="struct.ExprReturn.html" title="struct syn::ExprReturn">ExprReturn</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.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>) -> <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><<a class="struct" href="struct.ExprStruct.html" title="struct syn::ExprStruct">ExprStruct</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.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>) -> <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><<a class="struct" href="struct.ExprTry.html" title="struct syn::ExprTry">ExprTry</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.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>) -> <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><<a class="struct" href="struct.ExprTryBlock.html" title="struct syn::ExprTryBlock">ExprTryBlock</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.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>) -> <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><<a class="struct" href="struct.ExprTuple.html" title="struct syn::ExprTuple">ExprTuple</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.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>) -> <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><<a class="struct" href="struct.ExprType.html" title="struct syn::ExprType">ExprType</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.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>) -> <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><<a class="struct" href="struct.ExprUnary.html" title="struct syn::ExprUnary">ExprUnary</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.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>) -> <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><<a class="struct" href="struct.ExprUnsafe.html" title="struct syn::ExprUnsafe">ExprUnsafe</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.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>) -> <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><<a class="struct" href="struct.ExprWhile.html" title="struct syn::ExprWhile">ExprWhile</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.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>) -> <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><<a class="struct" href="struct.ExprYield.html" title="struct syn::ExprYield">ExprYield</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.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>) -> <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><H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> 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>, </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><H>(data: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> 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>, </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><'_>) -> <a class="type" href="parse/type.Result.html" title="type syn::parse::Result">Result</a><Self></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><<a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</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.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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>Self) -> <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>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</a>Rhs) -> <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>(&self, tokens: &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>(&self) -> <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) -> <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<T> <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> 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>, </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>(&self) -> <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<T> <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> 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>, </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>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&</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<T> <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> 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>, </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>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&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<T> <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> 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) -> 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<T, 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><U> for T <span class="where fmt-newline">where<br> 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><T>, </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) -> 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<T> <a class="trait" href="spanned/trait.Spanned.html" title="trait syn::spanned::Spanned">Spanned</a> for T <span class="where fmt-newline">where<br> 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>, </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">&</a>Self) -> <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<T> <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> 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>, </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>(&self) -> 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>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&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<T, 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><U> for T <span class="where fmt-newline">where<br> 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><T>, </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) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <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><U>>::<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>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<T, U> <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> 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><T>, </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> = <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><T>>::<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) -> <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <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><T>>::<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>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> |