<main><divclass="width-limiter"><navclass="sub"><formclass="search-form"><span></span><divid="sidebar-button"tabindex="-1"><ahref="../../syn/all.html"title="show sidebar"></a></div><inputclass="search-input"name="search"aria-label="Run search in the documentation"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><divid="help-button"tabindex="-1"><ahref="../../help.html"title="help">?</a></div><divid="settings-menu"tabindex="-1"><ahref="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><sectionid="main-content"class="content"><divclass="main-heading"><h1>Struct <ahref="../index.html">syn</a>::<wbr><ahref="index.html">meta</a>::<wbr><aclass="struct"href="#">ParseNestedMeta</a><buttonid="copy-path"title="Copy item path to clipboard"><imgsrc="../../static.files/clipboard-7571035ce49a181d.svg"width="19"height="18"alt="Copy item path"></button></h1><spanclass="out-of-band"><aclass="src"href="../../src/syn/meta.rs.html#164-167">source</a> · <buttonid="toggle-all-docs"title="collapse all docs">[<span>−</span>]</button></span></div><preclass="rust item-decl"><code><divclass="code-attribute">#[non_exhaustive]</div>pub struct ParseNestedMeta<'a> {
}</code></pre><detailsclass="toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>Context for parsing a single property in the conventional syntax for
<p>Refer to usage examples on the following two entry-points:</p>
<ul>
<li>
<p><ahref="../struct.Attribute.html#method.parse_nested_meta"title="method syn::Attribute::parse_nested_meta"><code>Attribute::parse_nested_meta</code></a> if you have an entire <code>Attribute</code> to
parse. Always use this if possible. Generally this is able to produce
better error messages because <code>Attribute</code> holds span information for all
of the delimiters therein.</p>
</li>
<li>
<p><ahref="fn.parser.html"title="fn syn::meta::parser"><code>syn::meta::parser</code></a> if you are implementing a <code>proc_macro_attribute</code>
macro and parsing the arguments to the attribute macro, i.e. the ones
written in the same attribute that dispatched the macro invocation. Rustc
does not pass span information for the surrounding delimiters into the
attribute macro invocation in this situation, so error messages might be
</div></details><h2id="fields"class="fields section-header">Fields (Non-exhaustive)<ahref="#fields"class="anchor">§</a></h2><detailsclass="toggle non-exhaustive"><summaryclass="hideme"><span>This struct is marked as non-exhaustive</span></summary><divclass="docblock">Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional <code>Struct { .. }</code> syntax; cannot be matched against without a wildcard <code>..</code>; and struct update syntax will not work.</div></details><spanid="structfield.path"class="structfield section-header"><ahref="#structfield.path"class="anchor field">§</a><code>path: <aclass="struct"href="../struct.Path.html"title="struct syn::Path">Path</a></code></span><spanid="structfield.input"class="structfield section-header"><ahref="#structfield.input"class="anchor field">§</a><code>input: <aclass="type"href="../parse/type.ParseStream.html"title="type syn::parse::ParseStream">ParseStream</a><'a></code></span><h2id="implementations"class="section-header">Implementations<ahref="#implementations"class="anchor">§</a></h2><divid="implementations-list"><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-ParseNestedMeta%3C'a%3E"class="impl"><aclass="src rightside"href="../../src/syn/meta.rs.html#169-383">source</a><ahref="#impl-ParseNestedMeta%3C'a%3E"class="anchor">§</a><h3class="code-header">impl<'a><aclass="struct"href="struct.ParseNestedMeta.html"title="struct syn::meta::ParseNestedMeta">ParseNestedMeta</a><'a></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.value"class="method"><aclass="src rightside"href="../../src/syn/meta.rs.html#202-205">source</a><h4class="code-header">pub fn <ahref="#method.value"class="fn">value</a>(&self) -><aclass="type"href="../parse/type.Result.html"title="type syn::parse::Result">Result</a><<aclass="type"href="../parse/type.ParseStream.html"title="type syn::parse::ParseStream">ParseStream</a><'a>></h4></section></summary><divclass="docblock"><p>Used when parsing <code>key = "value"</code> syntax.</p>
) -><aclass="type"href="../parse/type.Result.html"title="type syn::parse::Result">Result</a><<aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.unit.html">()</a>></h4></section></summary><divclass="docblock"><p>Used when parsing <code>list(...)</code> syntax <strong>if</strong> the content inside the
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.error"class="method"><aclass="src rightside"href="../../src/syn/meta.rs.html#378-382">source</a><h4class="code-header">pub fn <ahref="#method.error"class="fn">error</a>(&self, msg: impl <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Display.html"title="trait core::fmt::Display">Display</a>) -><aclass="struct"href="../parse/struct.Error.html"title="struct syn::parse::Error">Error</a></h4></section></summary><divclass="docblock"><p>Report that the attribute’s content did not conform to expectations.</p>
</span><spanclass="kw">_ </span>=><spanclass="prelude-val">Err</span>(meta.error(<spanclass="string">"tea kind must be a string literal, path, or macro"</span>)),
}
} <spanclass="kw">else </span><spanclass="comment">/* as above */
</span><spanclass="kw">_ </span>=><spanclass="prelude-val">Err</span>(Error::new_spanned(expr, <spanclass="string">"unsupported expression type for `kind`"</span>)),
}</code></pre></div>
<divclass="example-wrap"><preclass="language-console"><code>error: unsupported expression type for `kind`
<code><ahref="https://doc.rust-lang.org/1.78.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><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryFrom%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#805-807">source</a><ahref="#impl-TryFrom%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T<divclass="where">where
U: <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error-1"class="associatedtype trait-impl"><ahref="#associatedtype.Error-1"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error"class="associatedtype">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/1.78.0/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_from"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#812">source</a><ahref="#method.try_from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#tymethod.try_from"class="fn">try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/1.78.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryInto%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#790-792">source</a><ahref="#impl-TryInto%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T<divclass="where">where
U: <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error"class="associatedtype trait-impl"><ahref="#associatedtype.Error"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryInto.html#associatedtype.Error"class="associatedtype">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_into"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#797">source</a><ahref="#method.try_into"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryInto.html#tymethod.try_into"class="fn">try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/1.78.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html>