fn preprocess_tref(
    tref: &syn::TypeReference,
    self_: &syn::Type,
) -> (syn::TypeReference, Option<syn::token::Mut>) {
    let mut tref = tref.to_owned();
    if let syn::Type::Path(tpath) = self_ {
        replace_self(&mut tref, &tpath.path);
    }
    tref.lifetime = None;
    let mut_ = tref.mutability;
    (tref, mut_)
}
/// Replace `Self`, remove lifetime and get mutability from the type
Replace `Self`, remove lifetime and get mutability from the type
Replace ` Self ` remove lifetime and get mutability from the type
fn preprocess_tref(
    tref: &syn::TypeReference,
    self_: &syn::Type,
) -> (syn::TypeReference, Option<syn::token::Mut>) {
    let mut tref = tref.to_owned();
    if let syn::Type::Path(tpath) = self_ {
        replace_self(&mut tref, &tpath.path);
    }
    tref.lifetime = None;
    let mut_ = tref.mutability;
    (tref, mut_)
}
fn preprocess_tref ( tref : & syn :: TypeReference , self_ : & syn :: Type , ) -> ( syn :: TypeReference , Option < syn :: token :: Mut > ) { let mut tref = tref . to_owned ( ) ; if let syn :: Type :: Path ( tpath ) = self_ { replace_self ( & mut tref , & tpath . path ) ; } tref . lifetime = None ; let mut_ = tref . mutability ; ( tref , mut_ ) }
Replace `Self`, remove lifetime and get mutability from the type
Replace ` Self ` remove lifetime and get mutability from the type
tref
&syn::TypeReference
self_
&syn::Type