mirror of
https://github.com/rtic-rs/rtic.git
synced 2024-12-11 12:47:16 +01:00
267 lines
No EOL
123 KiB
HTML
267 lines
No EOL
123 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."><title>Expr in syn - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-b0742ba02757f159.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="syn" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0 (90b35a623 2024-11-26)" data-channel="1.83.0" data-search-js="search-f0d225181b97f9a4.js" data-settings-js="settings-805db61a62df4bd2.js" ><script src="../static.files/storage-1d39b6787ed640ff.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-f070b9041d14864c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-0111fcff984fae8f.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../syn/index.html">syn</a><span class="version">2.0.90</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Expr</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#syntax-tree-enums" title="Syntax tree enums">Syntax tree enums</a></li></ul><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.Array" title="Array">Array</a></li><li><a href="#variant.Assign" title="Assign">Assign</a></li><li><a href="#variant.Async" title="Async">Async</a></li><li><a href="#variant.Await" title="Await">Await</a></li><li><a href="#variant.Binary" title="Binary">Binary</a></li><li><a href="#variant.Block" title="Block">Block</a></li><li><a href="#variant.Break" title="Break">Break</a></li><li><a href="#variant.Call" title="Call">Call</a></li><li><a href="#variant.Cast" title="Cast">Cast</a></li><li><a href="#variant.Closure" title="Closure">Closure</a></li><li><a href="#variant.Const" title="Const">Const</a></li><li><a href="#variant.Continue" title="Continue">Continue</a></li><li><a href="#variant.Field" title="Field">Field</a></li><li><a href="#variant.ForLoop" title="ForLoop">ForLoop</a></li><li><a href="#variant.Group" title="Group">Group</a></li><li><a href="#variant.If" title="If">If</a></li><li><a href="#variant.Index" title="Index">Index</a></li><li><a href="#variant.Infer" title="Infer">Infer</a></li><li><a href="#variant.Let" title="Let">Let</a></li><li><a href="#variant.Lit" title="Lit">Lit</a></li><li><a href="#variant.Loop" title="Loop">Loop</a></li><li><a href="#variant.Macro" title="Macro">Macro</a></li><li><a href="#variant.Match" title="Match">Match</a></li><li><a href="#variant.MethodCall" title="MethodCall">MethodCall</a></li><li><a href="#variant.Paren" title="Paren">Paren</a></li><li><a href="#variant.Path" title="Path">Path</a></li><li><a href="#variant.Range" title="Range">Range</a></li><li><a href="#variant.RawAddr" title="RawAddr">RawAddr</a></li><li><a href="#variant.Reference" title="Reference">Reference</a></li><li><a href="#variant.Repeat" title="Repeat">Repeat</a></li><li><a href="#variant.Return" title="Return">Return</a></li><li><a href="#variant.Struct" title="Struct">Struct</a></li><li><a href="#variant.Try" title="Try">Try</a></li><li><a href="#variant.TryBlock" title="TryBlock">TryBlock</a></li><li><a href="#variant.Tuple" title="Tuple">Tuple</a></li><li><a href="#variant.Unary" title="Unary">Unary</a></li><li><a href="#variant.Unsafe" title="Unsafe">Unsafe</a></li><li><a href="#variant.Verbatim" title="Verbatim">Verbatim</a></li><li><a href="#variant.While" title="While">While</a></li><li><a href="#variant.Yield" title="Yield">Yield</a></li></ul><h3><a href="#implementations">Associated Constants</a></h3><ul class="block associatedconstant"><li><a href="#associatedconstant.PLACEHOLDER" title="PLACEHOLDER">PLACEHOLDER</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.parse_with_earlier_boundary_rule" title="parse_with_earlier_boundary_rule">parse_with_earlier_boundary_rule</a></li><li><a href="#method.parse_without_eager_brace" title="parse_without_eager_brace">parse_without_eager_brace</a></li><li><a href="#method.peek" title="peek">peek</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Expr" title="Clone">Clone</a></li><li><a href="#impl-Debug-for-Expr" title="Debug">Debug</a></li><li><a href="#impl-Eq-for-Expr" title="Eq">Eq</a></li><li><a href="#impl-From%3CExprArray%3E-for-Expr" title="From<ExprArray>">From<ExprArray></a></li><li><a href="#impl-From%3CExprAssign%3E-for-Expr" title="From<ExprAssign>">From<ExprAssign></a></li><li><a href="#impl-From%3CExprAsync%3E-for-Expr" title="From<ExprAsync>">From<ExprAsync></a></li><li><a href="#impl-From%3CExprAwait%3E-for-Expr" title="From<ExprAwait>">From<ExprAwait></a></li><li><a href="#impl-From%3CExprBinary%3E-for-Expr" title="From<ExprBinary>">From<ExprBinary></a></li><li><a href="#impl-From%3CExprBlock%3E-for-Expr" title="From<ExprBlock>">From<ExprBlock></a></li><li><a href="#impl-From%3CExprBreak%3E-for-Expr" title="From<ExprBreak>">From<ExprBreak></a></li><li><a href="#impl-From%3CExprCall%3E-for-Expr" title="From<ExprCall>">From<ExprCall></a></li><li><a href="#impl-From%3CExprCast%3E-for-Expr" title="From<ExprCast>">From<ExprCast></a></li><li><a href="#impl-From%3CExprClosure%3E-for-Expr" title="From<ExprClosure>">From<ExprClosure></a></li><li><a href="#impl-From%3CExprConst%3E-for-Expr" title="From<ExprConst>">From<ExprConst></a></li><li><a href="#impl-From%3CExprContinue%3E-for-Expr" title="From<ExprContinue>">From<ExprContinue></a></li><li><a href="#impl-From%3CExprField%3E-for-Expr" title="From<ExprField>">From<ExprField></a></li><li><a href="#impl-From%3CExprForLoop%3E-for-Expr" title="From<ExprForLoop>">From<ExprForLoop></a></li><li><a href="#impl-From%3CExprGroup%3E-for-Expr" title="From<ExprGroup>">From<ExprGroup></a></li><li><a href="#impl-From%3CExprIf%3E-for-Expr" title="From<ExprIf>">From<ExprIf></a></li><li><a href="#impl-From%3CExprIndex%3E-for-Expr" title="From<ExprIndex>">From<ExprIndex></a></li><li><a href="#impl-From%3CExprInfer%3E-for-Expr" title="From<ExprInfer>">From<ExprInfer></a></li><li><a href="#impl-From%3CExprLet%3E-for-Expr" title="From<ExprLet>">From<ExprLet></a></li><li><a href="#impl-From%3CExprLit%3E-for-Expr" title="From<ExprLit>">From<ExprLit></a></li><li><a href="#impl-From%3CExprLoop%3E-for-Expr" title="From<ExprLoop>">From<ExprLoop></a></li><li><a href="#impl-From%3CExprMacro%3E-for-Expr" title="From<ExprMacro>">From<ExprMacro></a></li><li><a href="#impl-From%3CExprMatch%3E-for-Expr" title="From<ExprMatch>">From<ExprMatch></a></li><li><a href="#impl-From%3CExprMethodCall%3E-for-Expr" title="From<ExprMethodCall>">From<ExprMethodCall></a></li><li><a href="#impl-From%3CExprParen%3E-for-Expr" title="From<ExprParen>">From<ExprParen></a></li><li><a href="#impl-From%3CExprPath%3E-for-Expr" title="From<ExprPath>">From<ExprPath></a></li><li><a href="#impl-From%3CExprRange%3E-for-Expr" title="From<ExprRange>">From<ExprRange></a></li><li><a href="#impl-From%3CExprRawAddr%3E-for-Expr" title="From<ExprRawAddr>">From<ExprRawAddr></a></li><li><a href="#impl-From%3CExprReference%3E-for-Expr" title="From<ExprReference>">From<ExprReference></a></li><li><a href="#impl-From%3CExprRepeat%3E-for-Expr" title="From<ExprRepeat>">From<ExprRepeat></a></li><li><a href="#impl-From%3CExprReturn%3E-for-Expr" title="From<ExprReturn>">From<ExprReturn></a></li><li><a href="#impl-From%3CExprStruct%3E-for-Expr" title="From<ExprStruct>">From<ExprStruct></a></li><li><a href="#impl-From%3CExprTry%3E-for-Expr" title="From<ExprTry>">From<ExprTry></a></li><li><a href="#impl-From%3CExprTryBlock%3E-for-Expr" title="From<ExprTryBlock>">From<ExprTryBlock></a></li><li><a href="#impl-From%3CExprTuple%3E-for-Expr" title="From<ExprTuple>">From<ExprTuple></a></li><li><a href="#impl-From%3CExprUnary%3E-for-Expr" title="From<ExprUnary>">From<ExprUnary></a></li><li><a href="#impl-From%3CExprUnsafe%3E-for-Expr" title="From<ExprUnsafe>">From<ExprUnsafe></a></li><li><a href="#impl-From%3CExprWhile%3E-for-Expr" title="From<ExprWhile>">From<ExprWhile></a></li><li><a href="#impl-From%3CExprYield%3E-for-Expr" title="From<ExprYield>">From<ExprYield></a></li><li><a href="#impl-Hash-for-Expr" title="Hash">Hash</a></li><li><a href="#impl-Parse-for-Expr" title="Parse">Parse</a></li><li><a href="#impl-PartialEq-for-Expr" title="PartialEq">PartialEq</a></li><li><a href="#impl-ToTokens-for-Expr" title="ToTokens">ToTokens</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Send-for-Expr" title="!Send">!Send</a></li><li><a href="#impl-Sync-for-Expr" title="!Sync">!Sync</a></li><li><a href="#impl-Freeze-for-Expr" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Expr" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Unpin-for-Expr" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Expr" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow<T>">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut<T>">BorrowMut<T></a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From<T>">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into<U>">Into<U></a></li><li><a href="#impl-Spanned-for-T" title="Spanned">Spanned</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom<U>">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto<U>">TryInto<U></a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate syn</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">syn</a></span><h1>Enum <span class="enum">Expr</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/syn/expr.rs.html#35-267">source</a> </span></div><pre class="rust item-decl"><code><div class="code-attribute">#[non_exhaustive]</div>pub enum Expr {
|
||
<details class="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>),
|
||
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>),
|
||
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>),
|
||
Const(<a class="struct" href="struct.ExprConst.html" title="struct syn::ExprConst">ExprConst</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>),
|
||
Infer(<a class="struct" href="struct.ExprInfer.html" title="struct syn::ExprInfer">ExprInfer</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>),
|
||
RawAddr(<a class="struct" href="struct.ExprRawAddr.html" title="struct syn::ExprRawAddr">ExprRawAddr</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>),
|
||
Unary(<a class="struct" href="struct.ExprUnary.html" title="struct syn::ExprUnary">ExprUnary</a>),
|
||
Unsafe(<a class="struct" href="struct.ExprUnsafe.html" title="struct syn::ExprUnsafe">ExprUnsafe</a>),
|
||
Verbatim(<a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a>),
|
||
While(<a class="struct" href="struct.ExprWhile.html" title="struct syn::ExprWhile">ExprWhile</a>),
|
||
Yield(<a class="struct" href="struct.ExprYield.html" title="struct syn::ExprYield">ExprYield</a>),
|
||
</details>}</code></pre><details class="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"><a class="doc-anchor" href="#syntax-tree-enums">§</a>Syntax tree enums</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>expr: Expr = <span class="comment">/* ... */</span>;
|
||
<span class="kw">match </span>expr {
|
||
Expr::MethodCall(expr) => {
|
||
<span class="comment">/* ... */
|
||
</span>}
|
||
Expr::Cast(expr) => {
|
||
<span class="comment">/* ... */
|
||
</span>}
|
||
Expr::If(expr) => {
|
||
<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>expr {
|
||
Expr::MethodCall(ExprMethodCall { method, args, .. }) => {</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
|
||
// assigning `*discriminant.base` without an `if let`.
|
||
</span><span class="kw">if let </span>Expr::Tuple(base) = <span class="kw-2">*</span>discriminant.base {</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 section-header">Variants (Non-exhaustive)<a href="#variants" class="anchor">§</a></h2><details class="toggle non-exhaustive"><summary class="hideme"><span>This enum is marked as non-exhaustive</span></summary><div class="docblock">Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.</div></details><div class="variants"><section id="variant.Array" class="variant"><a href="#variant.Array" class="anchor">§</a><h3 class="code-header">Array(<a class="struct" href="struct.ExprArray.html" title="struct syn::ExprArray">ExprArray</a>)</h3></section><div class="docblock"><p>A slice literal expression: <code>[a, b, c, d]</code>.</p>
|
||
</div><section id="variant.Assign" class="variant"><a href="#variant.Assign" class="anchor">§</a><h3 class="code-header">Assign(<a class="struct" href="struct.ExprAssign.html" title="struct syn::ExprAssign">ExprAssign</a>)</h3></section><div class="docblock"><p>An assignment expression: <code>a = compute()</code>.</p>
|
||
</div><section id="variant.Async" class="variant"><a href="#variant.Async" class="anchor">§</a><h3 class="code-header">Async(<a class="struct" href="struct.ExprAsync.html" title="struct syn::ExprAsync">ExprAsync</a>)</h3></section><div class="docblock"><p>An async block: <code>async { ... }</code>.</p>
|
||
</div><section id="variant.Await" class="variant"><a href="#variant.Await" class="anchor">§</a><h3 class="code-header">Await(<a class="struct" href="struct.ExprAwait.html" title="struct syn::ExprAwait">ExprAwait</a>)</h3></section><div class="docblock"><p>An await expression: <code>fut.await</code>.</p>
|
||
</div><section id="variant.Binary" class="variant"><a href="#variant.Binary" class="anchor">§</a><h3 class="code-header">Binary(<a class="struct" href="struct.ExprBinary.html" title="struct syn::ExprBinary">ExprBinary</a>)</h3></section><div class="docblock"><p>A binary operation: <code>a + b</code>, <code>a += b</code>.</p>
|
||
</div><section id="variant.Block" class="variant"><a href="#variant.Block" class="anchor">§</a><h3 class="code-header">Block(<a class="struct" href="struct.ExprBlock.html" title="struct syn::ExprBlock">ExprBlock</a>)</h3></section><div class="docblock"><p>A blocked scope: <code>{ ... }</code>.</p>
|
||
</div><section id="variant.Break" class="variant"><a href="#variant.Break" class="anchor">§</a><h3 class="code-header">Break(<a class="struct" href="struct.ExprBreak.html" title="struct syn::ExprBreak">ExprBreak</a>)</h3></section><div class="docblock"><p>A <code>break</code>, with an optional label to break and an optional
|
||
expression.</p>
|
||
</div><section id="variant.Call" class="variant"><a href="#variant.Call" class="anchor">§</a><h3 class="code-header">Call(<a class="struct" href="struct.ExprCall.html" title="struct syn::ExprCall">ExprCall</a>)</h3></section><div class="docblock"><p>A function call expression: <code>invoke(a, b)</code>.</p>
|
||
</div><section id="variant.Cast" class="variant"><a href="#variant.Cast" class="anchor">§</a><h3 class="code-header">Cast(<a class="struct" href="struct.ExprCast.html" title="struct syn::ExprCast">ExprCast</a>)</h3></section><div class="docblock"><p>A cast expression: <code>foo as f64</code>.</p>
|
||
</div><section id="variant.Closure" class="variant"><a href="#variant.Closure" class="anchor">§</a><h3 class="code-header">Closure(<a class="struct" href="struct.ExprClosure.html" title="struct syn::ExprClosure">ExprClosure</a>)</h3></section><div class="docblock"><p>A closure expression: <code>|a, b| a + b</code>.</p>
|
||
</div><section id="variant.Const" class="variant"><a href="#variant.Const" class="anchor">§</a><h3 class="code-header">Const(<a class="struct" href="struct.ExprConst.html" title="struct syn::ExprConst">ExprConst</a>)</h3></section><div class="docblock"><p>A const block: <code>const { ... }</code>.</p>
|
||
</div><section id="variant.Continue" class="variant"><a href="#variant.Continue" class="anchor">§</a><h3 class="code-header">Continue(<a class="struct" href="struct.ExprContinue.html" title="struct syn::ExprContinue">ExprContinue</a>)</h3></section><div class="docblock"><p>A <code>continue</code>, with an optional label.</p>
|
||
</div><section id="variant.Field" class="variant"><a href="#variant.Field" class="anchor">§</a><h3 class="code-header">Field(<a class="struct" href="struct.ExprField.html" title="struct syn::ExprField">ExprField</a>)</h3></section><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><section id="variant.ForLoop" class="variant"><a href="#variant.ForLoop" class="anchor">§</a><h3 class="code-header">ForLoop(<a class="struct" href="struct.ExprForLoop.html" title="struct syn::ExprForLoop">ExprForLoop</a>)</h3></section><div class="docblock"><p>A for loop: <code>for pat in expr { ... }</code>.</p>
|
||
</div><section id="variant.Group" class="variant"><a href="#variant.Group" class="anchor">§</a><h3 class="code-header">Group(<a class="struct" href="struct.ExprGroup.html" title="struct syn::ExprGroup">ExprGroup</a>)</h3></section><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><section id="variant.If" class="variant"><a href="#variant.If" class="anchor">§</a><h3 class="code-header">If(<a class="struct" href="struct.ExprIf.html" title="struct syn::ExprIf">ExprIf</a>)</h3></section><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><section id="variant.Index" class="variant"><a href="#variant.Index" class="anchor">§</a><h3 class="code-header">Index(<a class="struct" href="struct.ExprIndex.html" title="struct syn::ExprIndex">ExprIndex</a>)</h3></section><div class="docblock"><p>A square bracketed indexing expression: <code>vector[2]</code>.</p>
|
||
</div><section id="variant.Infer" class="variant"><a href="#variant.Infer" class="anchor">§</a><h3 class="code-header">Infer(<a class="struct" href="struct.ExprInfer.html" title="struct syn::ExprInfer">ExprInfer</a>)</h3></section><div class="docblock"><p>The inferred value of a const generic argument, denoted <code>_</code>.</p>
|
||
</div><section id="variant.Let" class="variant"><a href="#variant.Let" class="anchor">§</a><h3 class="code-header">Let(<a class="struct" href="struct.ExprLet.html" title="struct syn::ExprLet">ExprLet</a>)</h3></section><div class="docblock"><p>A <code>let</code> guard: <code>let Some(x) = opt</code>.</p>
|
||
</div><section id="variant.Lit" class="variant"><a href="#variant.Lit" class="anchor">§</a><h3 class="code-header">Lit(<a class="struct" href="struct.ExprLit.html" title="struct syn::ExprLit">ExprLit</a>)</h3></section><div class="docblock"><p>A literal in place of an expression: <code>1</code>, <code>"foo"</code>.</p>
|
||
</div><section id="variant.Loop" class="variant"><a href="#variant.Loop" class="anchor">§</a><h3 class="code-header">Loop(<a class="struct" href="struct.ExprLoop.html" title="struct syn::ExprLoop">ExprLoop</a>)</h3></section><div class="docblock"><p>Conditionless loop: <code>loop { ... }</code>.</p>
|
||
</div><section id="variant.Macro" class="variant"><a href="#variant.Macro" class="anchor">§</a><h3 class="code-header">Macro(<a class="struct" href="struct.ExprMacro.html" title="struct syn::ExprMacro">ExprMacro</a>)</h3></section><div class="docblock"><p>A macro invocation expression: <code>format!("{}", q)</code>.</p>
|
||
</div><section id="variant.Match" class="variant"><a href="#variant.Match" class="anchor">§</a><h3 class="code-header">Match(<a class="struct" href="struct.ExprMatch.html" title="struct syn::ExprMatch">ExprMatch</a>)</h3></section><div class="docblock"><p>A <code>match</code> expression: <code>match n { Some(n) => {}, None => {} }</code>.</p>
|
||
</div><section id="variant.MethodCall" class="variant"><a href="#variant.MethodCall" class="anchor">§</a><h3 class="code-header">MethodCall(<a class="struct" href="struct.ExprMethodCall.html" title="struct syn::ExprMethodCall">ExprMethodCall</a>)</h3></section><div class="docblock"><p>A method call expression: <code>x.foo::<T>(a, b)</code>.</p>
|
||
</div><section id="variant.Paren" class="variant"><a href="#variant.Paren" class="anchor">§</a><h3 class="code-header">Paren(<a class="struct" href="struct.ExprParen.html" title="struct syn::ExprParen">ExprParen</a>)</h3></section><div class="docblock"><p>A parenthesized expression: <code>(a + b)</code>.</p>
|
||
</div><section id="variant.Path" class="variant"><a href="#variant.Path" class="anchor">§</a><h3 class="code-header">Path(<a class="struct" href="struct.ExprPath.html" title="struct syn::ExprPath">ExprPath</a>)</h3></section><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><section id="variant.Range" class="variant"><a href="#variant.Range" class="anchor">§</a><h3 class="code-header">Range(<a class="struct" href="struct.ExprRange.html" title="struct syn::ExprRange">ExprRange</a>)</h3></section><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><section id="variant.RawAddr" class="variant"><a href="#variant.RawAddr" class="anchor">§</a><h3 class="code-header">RawAddr(<a class="struct" href="struct.ExprRawAddr.html" title="struct syn::ExprRawAddr">ExprRawAddr</a>)</h3></section><div class="docblock"><p>Address-of operation: <code>&raw const place</code> or <code>&raw mut place</code>.</p>
|
||
</div><section id="variant.Reference" class="variant"><a href="#variant.Reference" class="anchor">§</a><h3 class="code-header">Reference(<a class="struct" href="struct.ExprReference.html" title="struct syn::ExprReference">ExprReference</a>)</h3></section><div class="docblock"><p>A referencing operation: <code>&a</code> or <code>&mut a</code>.</p>
|
||
</div><section id="variant.Repeat" class="variant"><a href="#variant.Repeat" class="anchor">§</a><h3 class="code-header">Repeat(<a class="struct" href="struct.ExprRepeat.html" title="struct syn::ExprRepeat">ExprRepeat</a>)</h3></section><div class="docblock"><p>An array literal constructed from one repeated element: <code>[0u8; N]</code>.</p>
|
||
</div><section id="variant.Return" class="variant"><a href="#variant.Return" class="anchor">§</a><h3 class="code-header">Return(<a class="struct" href="struct.ExprReturn.html" title="struct syn::ExprReturn">ExprReturn</a>)</h3></section><div class="docblock"><p>A <code>return</code>, with an optional value to be returned.</p>
|
||
</div><section id="variant.Struct" class="variant"><a href="#variant.Struct" class="anchor">§</a><h3 class="code-header">Struct(<a class="struct" href="struct.ExprStruct.html" title="struct syn::ExprStruct">ExprStruct</a>)</h3></section><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><section id="variant.Try" class="variant"><a href="#variant.Try" class="anchor">§</a><h3 class="code-header">Try(<a class="struct" href="struct.ExprTry.html" title="struct syn::ExprTry">ExprTry</a>)</h3></section><div class="docblock"><p>A try-expression: <code>expr?</code>.</p>
|
||
</div><section id="variant.TryBlock" class="variant"><a href="#variant.TryBlock" class="anchor">§</a><h3 class="code-header">TryBlock(<a class="struct" href="struct.ExprTryBlock.html" title="struct syn::ExprTryBlock">ExprTryBlock</a>)</h3></section><div class="docblock"><p>A try block: <code>try { ... }</code>.</p>
|
||
</div><section id="variant.Tuple" class="variant"><a href="#variant.Tuple" class="anchor">§</a><h3 class="code-header">Tuple(<a class="struct" href="struct.ExprTuple.html" title="struct syn::ExprTuple">ExprTuple</a>)</h3></section><div class="docblock"><p>A tuple expression: <code>(a, b, c, d)</code>.</p>
|
||
</div><section id="variant.Unary" class="variant"><a href="#variant.Unary" class="anchor">§</a><h3 class="code-header">Unary(<a class="struct" href="struct.ExprUnary.html" title="struct syn::ExprUnary">ExprUnary</a>)</h3></section><div class="docblock"><p>A unary operation: <code>!x</code>, <code>*x</code>.</p>
|
||
</div><section id="variant.Unsafe" class="variant"><a href="#variant.Unsafe" class="anchor">§</a><h3 class="code-header">Unsafe(<a class="struct" href="struct.ExprUnsafe.html" title="struct syn::ExprUnsafe">ExprUnsafe</a>)</h3></section><div class="docblock"><p>An unsafe block: <code>unsafe { ... }</code>.</p>
|
||
</div><section id="variant.Verbatim" class="variant"><a href="#variant.Verbatim" class="anchor">§</a><h3 class="code-header">Verbatim(<a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a>)</h3></section><div class="docblock"><p>Tokens in expression position not interpreted by Syn.</p>
|
||
</div><section id="variant.While" class="variant"><a href="#variant.While" class="anchor">§</a><h3 class="code-header">While(<a class="struct" href="struct.ExprWhile.html" title="struct syn::ExprWhile">ExprWhile</a>)</h3></section><div class="docblock"><p>A while loop: <code>while expr { ... }</code>.</p>
|
||
</div><section id="variant.Yield" class="variant"><a href="#variant.Yield" class="anchor">§</a><h3 class="code-header">Yield(<a class="struct" href="struct.ExprYield.html" title="struct syn::ExprYield">ExprYield</a>)</h3></section><div class="docblock"><p>A yield expression: <code>yield expr</code>.</p>
|
||
</div></div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#716-969">source</a><a href="#impl-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.PLACEHOLDER" class="associatedconstant"><a class="src rightside" href="../src/syn/expr.rs.html#736-743">source</a><h4 class="code-header">pub const <a href="#associatedconstant.PLACEHOLDER" class="constant">PLACEHOLDER</a>: Self = _</h4></section></summary><div class="docblock"><p>An unspecified invalid expression.</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>quote::ToTokens;
|
||
<span class="kw">use </span>std::mem;
|
||
<span class="kw">use </span>syn::{parse_quote, Expr};
|
||
|
||
<span class="kw">fn </span>unparenthesize(e: <span class="kw-2">&mut </span>Expr) {
|
||
<span class="kw">while let </span>Expr::Paren(paren) = e {
|
||
<span class="kw-2">*</span>e = mem::replace(<span class="kw-2">&mut *</span>paren.expr, Expr::PLACEHOLDER);
|
||
}
|
||
}
|
||
|
||
<span class="kw">fn </span>main() {
|
||
<span class="kw">let </span><span class="kw-2">mut </span>e: Expr = <span class="macro">parse_quote!</span> { ((<span class="number">1 </span>+ <span class="number">1</span>)) };
|
||
unparenthesize(<span class="kw-2">&mut </span>e);
|
||
<span class="macro">assert_eq!</span>(<span class="string">"1 + 1"</span>, e.to_token_stream().to_string());
|
||
}</code></pre></div>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.parse_without_eager_brace" class="method"><a class="src rightside" href="../src/syn/expr.rs.html#828-830">source</a><h4 class="code-header">pub fn <a href="#method.parse_without_eager_brace" class="fn">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></section></summary><div class="docblock"><p>An alternative to the primary <code>Expr::parse</code> parser (from the <a href="parse/trait.Parse.html" title="trait syn::parse::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-2">*</span>S {};
|
||
|
||
<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>S {} {}
|
||
|
||
<span class="comment">// parsed by rustc as:
|
||
//
|
||
// if (*S) {
|
||
// /* empty block */
|
||
// }
|
||
// {
|
||
// /* another empty block */
|
||
// }</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 return </span>S {} {}
|
||
|
||
<span class="comment">// parsed by rustc as:
|
||
//
|
||
// if (return (S {})) {
|
||
// }
|
||
//
|
||
// but could equally well have been this other arbitrary choice:
|
||
//
|
||
// if (return S) {
|
||
// }
|
||
// {}</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><details class="toggle method-toggle" open><summary><section id="method.parse_with_earlier_boundary_rule" class="method"><a class="src rightside" href="../src/syn/expr.rs.html#890-892">source</a><h4 class="code-header">pub fn <a href="#method.parse_with_earlier_boundary_rule" class="fn">parse_with_earlier_boundary_rule</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></section></summary><div class="docblock"><p>An alternative to the primary <code>Expr::parse</code> parser (from the <a href="parse/trait.Parse.html" title="trait syn::parse::Parse"><code>Parse</code></a>
|
||
trait) for syntactic positions in which expression boundaries are placed
|
||
more eagerly than done by the typical expression grammar. This includes
|
||
expressions at the head of a statement or in the right-hand side of a
|
||
<code>match</code> arm.</p>
|
||
<p>Compare the following cases:</p>
|
||
<ol>
|
||
<li></li>
|
||
</ol>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let _ </span>= <span class="kw">match </span>result {
|
||
() <span class="kw">if </span>guard => <span class="kw">if </span>cond { f } <span class="kw">else </span>{ g }
|
||
() => <span class="bool-val">false</span>,
|
||
};</code></pre></div>
|
||
<ol start="2">
|
||
<li></li>
|
||
</ol>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let _ </span>= || {
|
||
<span class="kw">if </span>cond { f } <span class="kw">else </span>{ g }
|
||
()
|
||
};</code></pre></div>
|
||
<ol start="3">
|
||
<li></li>
|
||
</ol>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let _ </span>= [<span class="kw">if </span>cond { f } <span class="kw">else </span>{ g } ()];</code></pre></div>
|
||
<p>The same sequence of tokens <code>if cond { f } else { g } ()</code> appears in
|
||
expression position 3 times. The first two syntactic positions use eager
|
||
placement of expression boundaries, and parse as <code>Expr::If</code>, with the
|
||
adjacent <code>()</code> becoming <code>Pat::Tuple</code> or <code>Expr::Tuple</code>. In contrast, the
|
||
third case uses standard expression boundaries and parses as
|
||
<code>Expr::Call</code>.</p>
|
||
<p>As with <a href="enum.Expr.html#method.parse_without_eager_brace" title="associated function syn::Expr::parse_without_eager_brace"><code>parse_without_eager_brace</code></a>, this ambiguity in the Rust
|
||
grammar is independent of precedence.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.peek" class="method"><a class="src rightside" href="../src/syn/expr.rs.html#906-922">source</a><h4 class="code-header">pub fn <a href="#method.peek" class="fn">peek</a>(input: <a class="type" href="parse/type.ParseStream.html" title="type syn::parse::ParseStream">ParseStream</a><'_>) -> <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns whether the next token in the parse stream is one that might
|
||
possibly form the beginning of an expr.</p>
|
||
<p>This classification is a load-bearing part of the grammar of some Rust
|
||
expressions, notably <code>return</code> and <code>break</code>. For example <code>return < …</code> will
|
||
never parse <code><</code> as a binary operator regardless of what comes after,
|
||
because <code><</code> is a legal starting token for an expression and so it’s
|
||
required to be continued as a return value, such as <code>return <Struct as Trait>::CONST</code>. Meanwhile <code>return > …</code> treats the <code>></code> as a binary
|
||
operator because it cannot be a starting token for any Rust expression.</p>
|
||
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Expr" class="impl"><a class="src rightside" href="../src/syn/gen/clone.rs.html#239-310">source</a><a href="#impl-Clone-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/syn/gen/clone.rs.html#240-309">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&self) -> Self</h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&mut self, source: &Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Expr" class="impl"><a class="src rightside" href="../src/syn/gen/debug.rs.html#416-492">source</a><a href="#impl-Debug-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/syn/gen/debug.rs.html#417-491">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&self, formatter: &mut <a class="struct" href="https://doc.rust-lang.org/1.83.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/1.83.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.83.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprArray%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprArray%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprArray.html" title="struct syn::ExprArray">ExprArray</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprAssign%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprAssign%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprAssign.html" title="struct syn::ExprAssign">ExprAssign</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprAsync%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprAsync%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprAsync.html" title="struct syn::ExprAsync">ExprAsync</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprAwait%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprAwait%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprAwait.html" title="struct syn::ExprAwait">ExprAwait</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprBinary%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprBinary%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprBinary.html" title="struct syn::ExprBinary">ExprBinary</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprBlock%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprBlock%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprBlock.html" title="struct syn::ExprBlock">ExprBlock</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprBreak%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprBreak%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprBreak.html" title="struct syn::ExprBreak">ExprBreak</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprCall%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprCall%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-7" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-7" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprCall.html" title="struct syn::ExprCall">ExprCall</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprCast%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprCast%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-8" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-8" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprCast.html" title="struct syn::ExprCast">ExprCast</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprClosure%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprClosure%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-9" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-9" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprClosure.html" title="struct syn::ExprClosure">ExprClosure</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprConst%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprConst%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.ExprConst.html" title="struct syn::ExprConst">ExprConst</a>> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-10" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-10" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprConst.html" title="struct syn::ExprConst">ExprConst</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprContinue%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprContinue%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-11" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-11" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprContinue.html" title="struct syn::ExprContinue">ExprContinue</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprField%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprField%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-12" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-12" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprField.html" title="struct syn::ExprField">ExprField</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprForLoop%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprForLoop%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-13" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-13" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprForLoop.html" title="struct syn::ExprForLoop">ExprForLoop</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprGroup%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprGroup%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-14" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-14" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprGroup.html" title="struct syn::ExprGroup">ExprGroup</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprIf%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprIf%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-15" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-15" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprIf.html" title="struct syn::ExprIf">ExprIf</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprIndex%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprIndex%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-16" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-16" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(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></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprInfer%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprInfer%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.ExprInfer.html" title="struct syn::ExprInfer">ExprInfer</a>> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-17" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-17" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprInfer.html" title="struct syn::ExprInfer">ExprInfer</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprLet%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprLet%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-18" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-18" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprLet.html" title="struct syn::ExprLet">ExprLet</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprLit%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprLit%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-19" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-19" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprLit.html" title="struct syn::ExprLit">ExprLit</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprLoop%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprLoop%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-20" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-20" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprLoop.html" title="struct syn::ExprLoop">ExprLoop</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprMacro%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprMacro%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-21" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-21" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprMacro.html" title="struct syn::ExprMacro">ExprMacro</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprMatch%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprMatch%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-22" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-22" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprMatch.html" title="struct syn::ExprMatch">ExprMatch</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprMethodCall%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprMethodCall%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-23" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-23" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprMethodCall.html" title="struct syn::ExprMethodCall">ExprMethodCall</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprParen%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprParen%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-24" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-24" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprParen.html" title="struct syn::ExprParen">ExprParen</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprPath%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprPath%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-25" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-25" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprPath.html" title="struct syn::ExprPath">ExprPath</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprRange%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprRange%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-26" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-26" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprRange.html" title="struct syn::ExprRange">ExprRange</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprRawAddr%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprRawAddr%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.ExprRawAddr.html" title="struct syn::ExprRawAddr">ExprRawAddr</a>> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-27" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-27" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprRawAddr.html" title="struct syn::ExprRawAddr">ExprRawAddr</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprReference%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprReference%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-28" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-28" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprReference.html" title="struct syn::ExprReference">ExprReference</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprRepeat%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprRepeat%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-29" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-29" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprRepeat.html" title="struct syn::ExprRepeat">ExprRepeat</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprReturn%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprReturn%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-30" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-30" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprReturn.html" title="struct syn::ExprReturn">ExprReturn</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprStruct%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprStruct%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-31" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-31" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprStruct.html" title="struct syn::ExprStruct">ExprStruct</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprTry%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprTry%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-32" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-32" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprTry.html" title="struct syn::ExprTry">ExprTry</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprTryBlock%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprTryBlock%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-33" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-33" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprTryBlock.html" title="struct syn::ExprTryBlock">ExprTryBlock</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprTuple%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprTuple%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-34" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-34" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprTuple.html" title="struct syn::ExprTuple">ExprTuple</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprUnary%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprUnary%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-35" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-35" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprUnary.html" title="struct syn::ExprUnary">ExprUnary</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprUnsafe%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprUnsafe%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-36" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-36" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprUnsafe.html" title="struct syn::ExprUnsafe">ExprUnsafe</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprWhile%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprWhile%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-37" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-37" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprWhile.html" title="struct syn::ExprWhile">ExprWhile</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CExprYield%3E-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-From%3CExprYield%3E-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<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></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-38" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.from-38" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(e: <a class="struct" href="struct.ExprYield.html" title="struct syn::ExprYield">ExprYield</a>) -> <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-Expr" class="impl"><a class="src rightside" href="../src/syn/gen/hash.rs.html#348-542">source</a><a href="#impl-Hash-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/syn/gen/hash.rs.html#349-541">source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a><H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&mut H</a>)<div class="where">where
|
||
H: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</div></h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/1.83.0/src/core/hash/mod.rs.html#235-237">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a><H>(data: &[Self], state: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&mut H</a>)<div class="where">where
|
||
H: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.83.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Parse-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#1228-1236">source</a><a href="#impl-Parse-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="parse/trait.Parse.html" title="trait syn::parse::Parse">Parse</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><section id="method.parse" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#1229-1235">source</a><a href="#method.parse" class="anchor">§</a><h4 class="code-header">fn <a href="parse/trait.Parse.html#tymethod.parse" class="fn">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></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Expr" class="impl"><a class="src rightside" href="../src/syn/gen/eq.rs.html#265-351">source</a><a href="#impl-PartialEq-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/syn/gen/eq.rs.html#266-350">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&self, other: &Self) -> <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.83.0/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&Rhs</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
|
||
and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ToTokens-for-Expr" class="impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#impl-ToTokens-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../quote/to_tokens/trait.ToTokens.html" title="trait quote::to_tokens::ToTokens">ToTokens</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.to_tokens" class="method trait-impl"><a class="src rightside" href="../src/syn/expr.rs.html#35-267">source</a><a href="#method.to_tokens" class="anchor">§</a><h4 class="code-header">fn <a href="../quote/to_tokens/trait.ToTokens.html#tymethod.to_tokens" class="fn">to_tokens</a>(&self, tokens: &mut <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a>)</h4></section></summary><div class='docblock'>Write <code>self</code> to the given <code>TokenStream</code>. <a href="../quote/to_tokens/trait.ToTokens.html#tymethod.to_tokens">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_token_stream" class="method trait-impl"><a class="src rightside" href="../src/quote/to_tokens.rs.html#60">source</a><a href="#method.to_token_stream" class="anchor">§</a><h4 class="code-header">fn <a href="../quote/to_tokens/trait.ToTokens.html#method.to_token_stream" class="fn">to_token_stream</a>(&self) -> <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a></h4></section></summary><div class='docblock'>Convert <code>self</code> directly into a <code>TokenStream</code> object. <a href="../quote/to_tokens/trait.ToTokens.html#method.to_token_stream">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_token_stream" class="method trait-impl"><a class="src rightside" href="../src/quote/to_tokens.rs.html#70-72">source</a><a href="#method.into_token_stream" class="anchor">§</a><h4 class="code-header">fn <a href="../quote/to_tokens/trait.ToTokens.html#method.into_token_stream" class="fn">into_token_stream</a>(self) -> <a class="struct" href="../proc_macro2/struct.TokenStream.html" title="struct proc_macro2::TokenStream">TokenStream</a><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Convert <code>self</code> directly into a <code>TokenStream</code> object. <a href="../quote/to_tokens/trait.ToTokens.html#method.into_token_stream">Read more</a></div></details></div></details><section id="impl-Eq-for-Expr" class="impl"><a class="src rightside" href="../src/syn/gen/eq.rs.html#262">source</a><a href="#impl-Eq-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Expr" class="impl"><a href="#impl-Freeze-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section><section id="impl-RefUnwindSafe-for-Expr" class="impl"><a href="#impl-RefUnwindSafe-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section><section id="impl-Send-for-Expr" class="impl"><a href="#impl-Send-for-Expr" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section><section id="impl-Sync-for-Expr" class="impl"><a href="#impl-Sync-for-Expr" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section><section id="impl-Unpin-for-Expr" class="impl"><a href="#impl-Unpin-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section><section id="impl-UnwindSafe-for-Expr" class="impl"><a href="#impl-UnwindSafe-for-Expr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Expr.html" title="enum syn::Expr">Expr</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#138">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
|
||
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/any.rs.html#139">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/1.83.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.83.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#211">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#217">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/borrow.rs.html#218">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.83.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#273">source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/clone.rs.html#275">source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&self, dst: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.pointer.html">*mut T</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a href="https://doc.rust-lang.org/1.83.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-39" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-39" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
|
||
<p>That is, this conversion is whatever the implementation of
|
||
<code><a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Spanned-for-T" class="impl"><a class="src rightside" href="../src/syn/spanned.rs.html#104-108">source</a><a href="#impl-Spanned-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="spanned/trait.Spanned.html" title="trait syn::spanned::Spanned">Spanned</a> for T<div class="where">where
|
||
T: Spanned + ?<a class="trait" href="https://doc.rust-lang.org/1.83.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.span" class="method trait-impl"><a class="src rightside" href="../src/syn/spanned.rs.html#105-107">source</a><a href="#method.span" class="anchor">§</a><h4 class="code-header">fn <a href="spanned/trait.Spanned.html#tymethod.span" class="fn">span</a>(&self) -> <a class="struct" href="../proc_macro2/struct.Span.html" title="struct proc_macro2::Span">Span</a></h4></section></summary><div class='docblock'>Returns a <code>Span</code> covering the complete contents of this syntax tree
|
||
node, or <a href="../proc_macro2/struct.Span.html#method.call_site" title="associated function proc_macro2::Span::call_site"><code>Span::call_site()</code></a> if this node is empty.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#82-84">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#86">source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&self) -> T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/1.83.0/std/primitive.reference.html">&mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.83.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#809">source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.83.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#794">source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.83.0/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.83.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.83.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.83.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> |