pub trait UsesLifetimes {
// Required method
fn uses_lifetimes<'a>(
&self,
options: &Options,
lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>,
) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>;
// Provided method
fn uses_lifetimes_cloned(
&self,
options: &Options,
lifetimes: &HashSet<Lifetime, BuildHasherDefault<FnvHasher>>,
) -> HashSet<Lifetime, BuildHasherDefault<FnvHasher>> { ... }
}
Expand description
Searcher for finding lifetimes in a syntax tree. This can be used to determine which lifetimes must be emitted in generated code.
Required Methods§
Sourcefn uses_lifetimes<'a>(
&self,
options: &Options,
lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>,
) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
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§
Sourcefn uses_lifetimes_cloned(
&self,
options: &Options,
lifetimes: &HashSet<Lifetime, BuildHasherDefault<FnvHasher>>,
) -> HashSet<Lifetime, BuildHasherDefault<FnvHasher>>
fn uses_lifetimes_cloned( &self, options: &Options, lifetimes: &HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<Lifetime, BuildHasherDefault<FnvHasher>>
Find all used lifetimes, then clone them and return that set.
Implementations on Foreign Types§
Source§impl UsesLifetimes for Fields
impl UsesLifetimes for Fields
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for Data
impl UsesLifetimes for Data
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for GenericParam
impl UsesLifetimes for GenericParam
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypeParamBound
impl UsesLifetimes for TypeParamBound
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for WherePredicate
impl UsesLifetimes for WherePredicate
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for GenericArgument
impl UsesLifetimes for GenericArgument
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for PathArguments
impl UsesLifetimes for PathArguments
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for ReturnType
impl UsesLifetimes for ReturnType
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for Type
impl UsesLifetimes for Type
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for Field
impl UsesLifetimes for Field
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for FieldsNamed
impl UsesLifetimes for FieldsNamed
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for Variant
impl UsesLifetimes for Variant
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for DataEnum
impl UsesLifetimes for DataEnum
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for DataStruct
impl UsesLifetimes for DataStruct
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for DataUnion
impl UsesLifetimes for DataUnion
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for BoundLifetimes
impl UsesLifetimes for BoundLifetimes
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for ConstParam
impl UsesLifetimes for ConstParam
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for LifetimeParam
impl UsesLifetimes for LifetimeParam
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for PredicateLifetime
impl UsesLifetimes for PredicateLifetime
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for PredicateType
impl UsesLifetimes for PredicateType
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TraitBound
impl UsesLifetimes for TraitBound
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypeParam
impl UsesLifetimes for TypeParam
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for Lifetime
impl UsesLifetimes for Lifetime
fn uses_lifetimes<'a>( &self, _: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for AngleBracketedGenericArguments
impl UsesLifetimes for AngleBracketedGenericArguments
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for AssocType
impl UsesLifetimes for AssocType
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for Constraint
impl UsesLifetimes for Constraint
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for ParenthesizedGenericArguments
impl UsesLifetimes for ParenthesizedGenericArguments
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for Path
impl UsesLifetimes for Path
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for PathSegment
impl UsesLifetimes for PathSegment
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for QSelf
impl UsesLifetimes for QSelf
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for BareFnArg
impl UsesLifetimes for BareFnArg
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypeArray
impl UsesLifetimes for TypeArray
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypeBareFn
impl UsesLifetimes for TypeBareFn
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypeGroup
impl UsesLifetimes for TypeGroup
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypeImplTrait
impl UsesLifetimes for TypeImplTrait
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypeParen
impl UsesLifetimes for TypeParen
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypePath
impl UsesLifetimes for TypePath
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypePtr
impl UsesLifetimes for TypePtr
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypeReference
impl UsesLifetimes for TypeReference
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypeSlice
impl UsesLifetimes for TypeSlice
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypeTraitObject
impl UsesLifetimes for TypeTraitObject
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl UsesLifetimes for TypeTuple
impl UsesLifetimes for TypeTuple
fn uses_lifetimes<'gen>( &self, options: &Options, type_set: &'gen HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'gen Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl<T> UsesLifetimes for Option<T>where
T: UsesLifetimes,
impl<T> UsesLifetimes for Option<T>where
T: UsesLifetimes,
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl<T> UsesLifetimes for Vec<T>where
T: UsesLifetimes,
impl<T> UsesLifetimes for Vec<T>where
T: UsesLifetimes,
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Source§impl<T, U> UsesLifetimes for Punctuated<T, U>where
T: UsesLifetimes,
impl<T, U> UsesLifetimes for Punctuated<T, U>where
T: UsesLifetimes,
fn uses_lifetimes<'a>( &self, options: &Options, lifetimes: &'a HashSet<Lifetime, BuildHasherDefault<FnvHasher>>, ) -> HashSet<&'a Lifetime, BuildHasherDefault<FnvHasher>>
Implementors§
impl UsesLifetimes for Ignored
impl<P, O> UsesLifetimes for WithOriginal<P, O>where
P: UsesLifetimes,
Get the lifetime usage of parsed
.