Trait darling::usage::UsesTypeParams
source · [−]pub trait UsesTypeParams {
fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>;
fn uses_type_params_cloned(
&self,
options: &Options,
type_set: &HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<Ident, BuildHasherDefault<FnvHasher>> { ... }
}
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
fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
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
fn uses_type_params_cloned(
&self,
options: &Options,
type_set: &HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<Ident, BuildHasherDefault<FnvHasher>>
fn uses_type_params_cloned(
&self,
options: &Options,
type_set: &HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<Ident, BuildHasherDefault<FnvHasher>>
Find all type params using uses_type_params
, then clone the found values and return the set.
Implementations on Foreign Types
sourceimpl UsesTypeParams for TypeImplTrait
impl UsesTypeParams for TypeImplTrait
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for TypePtr
impl UsesTypeParams for TypePtr
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for ()
impl UsesTypeParams for ()
pub fn uses_type_params(
&self,
_options: &Options,
_type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for FieldsNamed
impl UsesTypeParams for FieldsNamed
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl<T> UsesTypeParams for Vec<T, Global> where
T: UsesTypeParams,
impl<T> UsesTypeParams for Vec<T, Global> where
T: UsesTypeParams,
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for Field
impl UsesTypeParams for Field
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl<T, U> UsesTypeParams for Punctuated<T, U> where
T: UsesTypeParams,
impl<T, U> UsesTypeParams for Punctuated<T, U> where
T: UsesTypeParams,
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for DataEnum
impl UsesTypeParams for DataEnum
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for TraitBound
impl UsesTypeParams for TraitBound
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for TypeArray
impl UsesTypeParams for TypeArray
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for ParenthesizedGenericArguments
impl UsesTypeParams for ParenthesizedGenericArguments
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for Type
impl UsesTypeParams for Type
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for PathArguments
impl UsesTypeParams for PathArguments
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for DataUnion
impl UsesTypeParams for DataUnion
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for PredicateEq
impl UsesTypeParams for PredicateEq
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for BareFnArg
impl UsesTypeParams for BareFnArg
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for TypeGroup
impl UsesTypeParams for TypeGroup
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for GenericArgument
impl UsesTypeParams for GenericArgument
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for ReturnType
impl UsesTypeParams for ReturnType
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for TypePath
impl UsesTypeParams for TypePath
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for Constraint
impl UsesTypeParams for Constraint
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for TypeTuple
impl UsesTypeParams for TypeTuple
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for WherePredicate
impl UsesTypeParams for WherePredicate
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
sourceimpl<T> UsesTypeParams for Option<T> where
T: UsesTypeParams,
impl<T> UsesTypeParams for Option<T> where
T: UsesTypeParams,
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for TypeParen
impl UsesTypeParams for TypeParen
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for TypeParamBound
impl UsesTypeParams for TypeParamBound
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for Binding
impl UsesTypeParams for Binding
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for TypeBareFn
impl UsesTypeParams for TypeBareFn
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for TypeReference
impl UsesTypeParams for TypeReference
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for AngleBracketedGenericArguments
impl UsesTypeParams for AngleBracketedGenericArguments
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for PredicateType
impl UsesTypeParams for PredicateType
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for QSelf
impl UsesTypeParams for QSelf
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for Variant
impl UsesTypeParams for Variant
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for TypeTraitObject
impl UsesTypeParams for TypeTraitObject
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'gen HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'gen Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for Fields
impl UsesTypeParams for Fields
pub fn uses_type_params(
&self,
options: &Options,
type_set: &'a HashSet<Ident, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Ident, BuildHasherDefault<FnvHasher>>
sourceimpl UsesTypeParams for Ident
impl UsesTypeParams for Ident
Check if an Ident exactly matches one of the sought-after type parameters.