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

20 lines
18 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Extension trait for `GenericParam` to support getting values by variant."><title>GenericParamExt in darling_core::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_core" 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_core/index.html">darling_core</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_core::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_core/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_core</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-34">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_core::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_core::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_core::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-23">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_core::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-28">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_core::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-33">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_core::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-64">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_core::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-47">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;Self::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.TypeParam" title="type darling_core::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-55">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;Self::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.LifetimeParam" title="type darling_core::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-63">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;Self::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.ConstParam" title="type darling_core::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-74">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_core::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-73">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;Self::<a class="associatedtype" href="trait.GenericParamExt.html#associatedtype.TypeParam" title="type darling_core::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-132">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_core::ast::GenericParamExt">GenericParamExt</a> for darling_core::ast::<a class="enum" href="enum.GenericParam.html" title="enum darling_core::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="syn" async></script></section></div></main></body></html>