darling_core::usage

Trait 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>