pub fn lifetimes(&self) -> Vec<syn::Lifetime> {
        let mut lifetimes = Vec::new();

        // Traverse the types tree, pulling out the lifetimes and putting them into a list.
        let _ = syn_helpers::transform_types(&self.syn_typ_with_lifetimes, |typ| {
            let typ = typ.clone();
            if let syn::Type::Reference(ref tr) = typ {
                if let Some(ref lt) = tr.lifetime {
                    lifetimes.push(lt.clone());
                }
            }

            Ok(typ)
        })
        .unwrap(); //unwrap is safe here because our closure above has no failure path

        lifetimes
    }
/// Scans the argument's type information after it has been annotated with explicit lifetimes
/// for every reference, and returns a vector of a copy of those lifetimes by themselves,
/// separate from any time information
Scans the argument's type information after it has been annotated with explicit lifetimes
for every reference, and returns a vector of a copy of those lifetimes by themselves,
separate from any time information
Scans the argument ' s type information after it has been annotated with explicit lifetimes for every reference and returns a vector of a copy of those lifetimes by themselves separate from any time information
pub fn lifetimes(&self) -> Vec<syn::Lifetime> {
        let mut lifetimes = Vec::new();
        // Traverse the types tree, pulling out the lifetimes and putting them into a list.
        let _ = syn_helpers::transform_types(&self.syn_typ_with_lifetimes, |typ| {
            let typ = typ.clone();
            if let syn::Type::Reference(ref tr) = typ {
                if let Some(ref lt) = tr.lifetime {
                    lifetimes.push(lt.clone());
                }
            }
            Ok(typ)
        })
        .unwrap(); //unwrap is safe here because our closure above has no failure path
        lifetimes
    }
pub fn lifetimes ( & self ) -> Vec < syn :: Lifetime > { let mut lifetimes = Vec :: new ( ) ; // Traverse the types tree, pulling out the lifetimes and putting them into a list. let _ = syn_helpers :: transform_types ( & self . syn_typ_with_lifetimes , | typ | { let typ = typ . clone ( ) ; if let syn :: Type :: Reference ( ref tr ) = typ { if let Some ( ref lt ) = tr . lifetime { lifetimes . push ( lt . clone ( ) ) ; } } Ok ( typ ) } ) . unwrap ( ) ; //unwrap is safe here because our closure above has no failure path lifetimes }
Scans the argument's type information after it has been annotated with explicit lifetimes
for every reference, and returns a vector of a copy of those lifetimes by themselves,
separate from any time information
Scans the argument ' s type information after it has been annotated with explicit lifetimes for every reference and returns a vector of a copy of those lifetimes by themselves separate from any time information
&self
&self