Trait darling::usage::UsesLifetimes[][src]

pub trait UsesLifetimes {
    pub fn uses_lifetimes(
        &self,
        options: &Options,
        lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>
    ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>; pub fn uses_lifetimes_cloned(
        &self,
        options: &Options,
        lifetimes: &HashSet<Lifetime, BuildHasherDefault<FnvHasher>>
    ) -> HashSet<Lifetime, BuildHasherDefault<FnvHasher>> { ... } }
[]

Searcher for finding lifetimes in a syntax tree. This can be used to determine which lifetimes must be emitted in generated code.

Required methods

pub fn uses_lifetimes(
    &self,
    options: &Options,
    lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>
) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
[src][]

Returns the subset of the queried lifetimes 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

pub fn uses_lifetimes_cloned(
    &self,
    options: &Options,
    lifetimes: &HashSet<Lifetime, BuildHasherDefault<FnvHasher>>
) -> HashSet<Lifetime, BuildHasherDefault<FnvHasher>>
[src][]

Find all used lifetimes, then clone them and return that set.

Implementations on Foreign Types

impl UsesLifetimes for PathSegment[src][]

impl UsesLifetimes for PredicateLifetime[src][]

impl UsesLifetimes for DataUnion[src][]

impl UsesLifetimes for Binding[src][]

impl UsesLifetimes for QSelf[src][]

impl UsesLifetimes for TypeTuple[src][]

impl UsesLifetimes for TypeTraitObject[src][]

impl UsesLifetimes for TypeSlice[src][]

impl UsesLifetimes for AngleBracketedGenericArguments[src][]

impl UsesLifetimes for TypeReference[src][]

impl UsesLifetimes for BareFnArg[src][]

impl<T, U> UsesLifetimes for Punctuated<T, U> where
    T: UsesLifetimes
[src][]

impl UsesLifetimes for Data[src][]

impl UsesLifetimes for TraitBound[src][]

impl UsesLifetimes for ParenthesizedGenericArguments[src][]

impl UsesLifetimes for Constraint[src][]

impl UsesLifetimes for PathArguments[src][]

impl UsesLifetimes for TypeParamBound[src][]

impl UsesLifetimes for FieldsNamed[src][]

impl<T> UsesLifetimes for Vec<T, Global> where
    T: UsesLifetimes
[src][]

impl UsesLifetimes for BoundLifetimes[src][]

impl UsesLifetimes for PredicateEq[src][]

impl UsesLifetimes for LifetimeDef[src][]

impl UsesLifetimes for WherePredicate[src][]

impl UsesLifetimes for TypeGroup[src][]

impl UsesLifetimes for ReturnType[src][]

impl UsesLifetimes for Path[src][]

impl UsesLifetimes for Field[src][]

impl UsesLifetimes for Lifetime[src][]

impl UsesLifetimes for PredicateType[src][]

impl UsesLifetimes for DataEnum[src][]

impl UsesLifetimes for TypePtr[src][]

impl UsesLifetimes for GenericArgument[src][]

impl<T> UsesLifetimes for Option<T> where
    T: UsesLifetimes
[src][]

impl UsesLifetimes for DataStruct[src][]

impl UsesLifetimes for TypeImplTrait[src][]

impl UsesLifetimes for Fields[src][]

impl UsesLifetimes for Variant[src][]

impl UsesLifetimes for TypePath[src][]

impl UsesLifetimes for TypeParen[src][]

impl UsesLifetimes for TypeArray[src][]

impl UsesLifetimes for Type[src][]

impl UsesLifetimes for TypeBareFn[src][]

Implementors

impl UsesLifetimes for Ignored[src][+]

impl<T> UsesLifetimes for darling::ast::Fields<T> where
    T: UsesLifetimes
[src][+]

impl<V, F> UsesLifetimes for darling::ast::Data<V, F> where
    F: UsesLifetimes,
    V: UsesLifetimes
[src][+]