Files
google-apis-rs/darling/ast/trait.GenericParamExt.html
2024-03-05 21:06:01 +01:00

24 lines
19 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Extension trait for `GenericParam` to support getting values by variant."><title>GenericParamExt in darling::ast - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="darling" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../darling/index.html">darling</a><span class="version">0.20.3</span></h2></div><h2 class="location"><a href="#">GenericParamExt</a></h2><div class="sidebar-elems"><section><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.ConstParam">ConstParam</a></li><li><a href="#associatedtype.LifetimeParam">LifetimeParam</a></li><li><a href="#associatedtype.TypeParam">TypeParam</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.as_const_param">as_const_param</a></li><li><a href="#method.as_lifetime_param">as_lifetime_param</a></li><li><a href="#method.as_type_param">as_type_param</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-GenericParamExt-for-GenericParam">GenericParam</a></li><li><a href="#impl-GenericParamExt-for-TypeParam">TypeParam</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In darling::ast</a></h2></div></nav><div class="sidebar-resizer"></div>
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../darling/all.html" title="show sidebar"></a></div><input class="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"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Trait <a href="../index.html">darling</a>::<wbr><a href="index.html">ast</a>::<wbr><a class="trait" href="#">GenericParamExt</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/darling_core/ast/generics.rs.html#14">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait GenericParamExt {
type <a href="#associatedtype.TypeParam" class="associatedtype">TypeParam</a>;
type <a href="#associatedtype.LifetimeParam" class="associatedtype">LifetimeParam</a>;
type <a href="#associatedtype.ConstParam" class="associatedtype">ConstParam</a>;
// Provided methods
fn <a href="#method.as_type_param" class="fn">as_type_param</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;Self::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.TypeParam" title="type darling::ast::GenericParamExt::TypeParam">TypeParam</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.as_lifetime_param" class="fn">as_lifetime_param</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;Self::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.LifetimeParam" title="type darling::ast::GenericParamExt::LifetimeParam">LifetimeParam</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.as_const_param" class="fn">as_const_param</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;Self::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.ConstParam" title="type darling::ast::GenericParamExt::ConstParam">ConstParam</a>&gt; { ... }
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Extension trait for <code>GenericParam</code> to support getting values by variant.</p>
<h2 id="usage"><a href="#usage">Usage</a></h2>
<p><code>darling::ast::Generics</code> needs a way to test its params array in order to iterate over type params.
Rather than require callers to use <code>darling::ast::GenericParam</code> in all cases, this trait makes that
polymorphic.</p>
</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.TypeParam" class="method"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#16">source</a><h4 class="code-header">type <a href="#associatedtype.TypeParam" class="associatedtype">TypeParam</a></h4></section></summary><div class="docblock"><p>The type this GenericParam uses to represent type params and their bounds</p>
</div></details><section id="associatedtype.LifetimeParam" class="method"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#17">source</a><h4 class="code-header">type <a href="#associatedtype.LifetimeParam" class="associatedtype">LifetimeParam</a></h4></section><section id="associatedtype.ConstParam" class="method"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#18">source</a><h4 class="code-header">type <a href="#associatedtype.ConstParam" class="associatedtype">ConstParam</a></h4></section></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.as_type_param" class="method"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#21">source</a><h4 class="code-header">fn <a href="#method.as_type_param" class="fn">as_type_param</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;Self::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.TypeParam" title="type darling::ast::GenericParamExt::TypeParam">TypeParam</a>&gt;</h4></section></summary><div class="docblock"><p>If this GenericParam is a type param, get the underlying value.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.as_lifetime_param" class="method"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#26">source</a><h4 class="code-header">fn <a href="#method.as_lifetime_param" class="fn">as_lifetime_param</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;Self::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.LifetimeParam" title="type darling::ast::GenericParamExt::LifetimeParam">LifetimeParam</a>&gt;</h4></section></summary><div class="docblock"><p>If this GenericParam is a lifetime, get the underlying value.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.as_const_param" class="method"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#31">source</a><h4 class="code-header">fn <a href="#method.as_const_param" class="fn">as_const_param</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;Self::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.ConstParam" title="type darling::ast::GenericParamExt::ConstParam">ConstParam</a>&gt;</h4></section></summary><div class="docblock"><p>If this GenericParam is a const param, get the underlying value.</p>
</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-GenericParamExt-for-GenericParam" class="impl"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#36">source</a><a href="#impl-GenericParamExt-for-GenericParam" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.GenericParamExt.html" title="trait darling::ast::GenericParamExt">GenericParamExt</a> for <a class="enum" href="../../syn/generics/enum.GenericParam.html" title="enum syn::generics::GenericParam">GenericParam</a></h3></section></summary><div class="impl-items"><section id="associatedtype.TypeParam-1" class="associatedtype trait-impl"><a href="#associatedtype.TypeParam-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.TypeParam" class="associatedtype">TypeParam</a> = <a class="struct" href="../../syn/generics/struct.TypeParam.html" title="struct syn::generics::TypeParam">TypeParam</a></h4></section><section id="associatedtype.LifetimeParam-1" class="associatedtype trait-impl"><a href="#associatedtype.LifetimeParam-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.LifetimeParam" class="associatedtype">LifetimeParam</a> = <a class="struct" href="../../syn/generics/struct.LifetimeParam.html" title="struct syn::generics::LifetimeParam">LifetimeParam</a></h4></section><section id="associatedtype.ConstParam-1" class="associatedtype trait-impl"><a href="#associatedtype.ConstParam-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.ConstParam" class="associatedtype">ConstParam</a> = <a class="struct" href="../../syn/generics/struct.ConstParam.html" title="struct syn::generics::ConstParam">ConstParam</a></h4></section><section id="method.as_type_param-1" class="method trait-impl"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#41">source</a><a href="#method.as_type_param-1" class="anchor">§</a><h4 class="code-header">fn <a href="#method.as_type_param" class="fn">as_type_param</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;&lt;<a class="enum" href="../../syn/generics/enum.GenericParam.html" title="enum syn::generics::GenericParam">GenericParam</a> as <a class="trait" href="trait.GenericParamExt.html" title="trait darling::ast::GenericParamExt">GenericParamExt</a>&gt;::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.TypeParam" title="type darling::ast::GenericParamExt::TypeParam">TypeParam</a>&gt;</h4></section><section id="method.as_lifetime_param-1" class="method trait-impl"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#49">source</a><a href="#method.as_lifetime_param-1" class="anchor">§</a><h4 class="code-header">fn <a href="#method.as_lifetime_param" class="fn">as_lifetime_param</a>(
&amp;self
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;&lt;<a class="enum" href="../../syn/generics/enum.GenericParam.html" title="enum syn::generics::GenericParam">GenericParam</a> as <a class="trait" href="trait.GenericParamExt.html" title="trait darling::ast::GenericParamExt">GenericParamExt</a>&gt;::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.LifetimeParam" title="type darling::ast::GenericParamExt::LifetimeParam">LifetimeParam</a>&gt;</h4></section><section id="method.as_const_param-1" class="method trait-impl"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#57">source</a><a href="#method.as_const_param-1" class="anchor">§</a><h4 class="code-header">fn <a href="#method.as_const_param" class="fn">as_const_param</a>(
&amp;self
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;&lt;<a class="enum" href="../../syn/generics/enum.GenericParam.html" title="enum syn::generics::GenericParam">GenericParam</a> as <a class="trait" href="trait.GenericParamExt.html" title="trait darling::ast::GenericParamExt">GenericParamExt</a>&gt;::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.ConstParam" title="type darling::ast::GenericParamExt::ConstParam">ConstParam</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GenericParamExt-for-TypeParam" class="impl"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#66">source</a><a href="#impl-GenericParamExt-for-TypeParam" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.GenericParamExt.html" title="trait darling::ast::GenericParamExt">GenericParamExt</a> for <a class="struct" href="../../syn/generics/struct.TypeParam.html" title="struct syn::generics::TypeParam">TypeParam</a></h3></section></summary><div class="impl-items"><section id="associatedtype.TypeParam-2" class="associatedtype trait-impl"><a href="#associatedtype.TypeParam-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.TypeParam" class="associatedtype">TypeParam</a> = <a class="struct" href="../../syn/generics/struct.TypeParam.html" title="struct syn::generics::TypeParam">TypeParam</a></h4></section><section id="associatedtype.LifetimeParam-2" class="associatedtype trait-impl"><a href="#associatedtype.LifetimeParam-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.LifetimeParam" class="associatedtype">LifetimeParam</a> = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a></h4></section><section id="associatedtype.ConstParam-2" class="associatedtype trait-impl"><a href="#associatedtype.ConstParam-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.ConstParam" class="associatedtype">ConstParam</a> = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a></h4></section><section id="method.as_type_param-2" class="method trait-impl"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#71">source</a><a href="#method.as_type_param-2" class="anchor">§</a><h4 class="code-header">fn <a href="#method.as_type_param" class="fn">as_type_param</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;&lt;<a class="struct" href="../../syn/generics/struct.TypeParam.html" title="struct syn::generics::TypeParam">TypeParam</a> as <a class="trait" href="trait.GenericParamExt.html" title="trait darling::ast::GenericParamExt">GenericParamExt</a>&gt;::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.TypeParam" title="type darling::ast::GenericParamExt::TypeParam">TypeParam</a>&gt;</h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-GenericParamExt-for-GenericParam%3CT,+L,+C%3E" class="impl"><a class="src rightside" href="../../src/darling_core/ast/generics.rs.html#104">source</a><a href="#impl-GenericParamExt-for-GenericParam%3CT,+L,+C%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, L, C&gt; <a class="trait" href="trait.GenericParamExt.html" title="trait darling::ast::GenericParamExt">GenericParamExt</a> for darling::ast::<a class="enum" href="enum.GenericParam.html" title="enum darling::ast::GenericParam">GenericParam</a>&lt;T, L, C&gt;</h3></section></summary><div class="impl-items"><section id="associatedtype.TypeParam-3" class="associatedtype trait-impl"><a href="#associatedtype.TypeParam-3" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.TypeParam" class="associatedtype">TypeParam</a> = T</h4></section><section id="associatedtype.LifetimeParam-3" class="associatedtype trait-impl"><a href="#associatedtype.LifetimeParam-3" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.LifetimeParam" class="associatedtype">LifetimeParam</a> = L</h4></section><section id="associatedtype.ConstParam-3" class="associatedtype trait-impl"><a href="#associatedtype.ConstParam-3" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.ConstParam" class="associatedtype">ConstParam</a> = C</h4></section></div></details></div><script src="../../trait.impl/darling_core/ast/generics/trait.GenericParamExt.js" data-ignore-extern-crates="darling_core,syn" async></script></section></div></main></body></html>