Trait darling_core::usage::UsesTypeParams

source ·
pub trait UsesTypeParams {
    // Required method
    fn uses_type_params<'a>(
        &self,
        options: &Options,
        type_set: &'a IdentSet
    ) -> IdentRefSet<'a>;

    // Provided method
    fn uses_type_params_cloned(
        &self,
        options: &Options,
        type_set: &IdentSet
    ) -> IdentSet { ... }
}
Expand description

Searcher for finding type params in a syntax tree. This can be used to determine if a given type parameter needs to be bounded in a generated impl.

Required Methods§

source

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

Returns the subset of the queried type parameters that are used by the implementing syntax element.

This method only accounts for direct usage by the element; indirect usage via bounds or where predicates are not detected.

Provided Methods§

source

fn uses_type_params_cloned( &self, options: &Options, type_set: &IdentSet ) -> IdentSet

Find all type params using uses_type_params, then clone the found values and return the set.

Implementations on Foreign Types§

source§

impl UsesTypeParams for Fields

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl UsesTypeParams for Data

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl UsesTypeParams for TypeParamBound

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl UsesTypeParams for WherePredicate

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl UsesTypeParams for GenericArgument

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl UsesTypeParams for PathArguments

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl UsesTypeParams for ReturnType

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl UsesTypeParams for Type

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl UsesTypeParams for ()

source§

fn uses_type_params<'a>( &self, _options: &Options, _type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl UsesTypeParams for Ident

Check if an Ident exactly matches one of the sought-after type parameters.

source§

fn uses_type_params<'a>( &self, _options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl UsesTypeParams for Field

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for FieldsNamed

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for Variant

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for DataEnum

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for DataStruct

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for DataUnion

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for PredicateType

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for TraitBound

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for AngleBracketedGenericArguments

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for AssocType

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for Constraint

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for ParenthesizedGenericArguments

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for Path

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl UsesTypeParams for QSelf

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for BareFnArg

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for TypeArray

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for TypeBareFn

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for TypeGroup

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for TypeImplTrait

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for TypeParen

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for TypePath

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl UsesTypeParams for TypePtr

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for TypeReference

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for TypeSlice

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for TypeTraitObject

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl UsesTypeParams for TypeTuple

source§

fn uses_type_params<'gen>( &self, options: &Options, type_set: &'gen IdentSet ) -> IdentRefSet<'gen>

source§

impl<T: UsesTypeParams> UsesTypeParams for Option<T>

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl<T: UsesTypeParams> UsesTypeParams for Vec<T>

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

source§

impl<T: UsesTypeParams, U> UsesTypeParams for Punctuated<T, U>

source§

fn uses_type_params<'a>( &self, options: &Options, type_set: &'a IdentSet ) -> IdentRefSet<'a>

Implementors§

source§

impl UsesTypeParams for Ignored

source§

impl<T: UsesTypeParams> UsesTypeParams for darling_core::ast::Fields<T>

source§

impl<V: UsesTypeParams, F: UsesTypeParams> UsesTypeParams for darling_core::ast::Data<V, F>