pub fn builtin_deref(&self, explicit: bool) -> Option<TypeAndMut<'tcx>> {
        match self.sty {
            TyAdt(def, _) if def.is_box() => {
                Some(TypeAndMut {
                    ty: self.boxed_ty(),
                    mutbl: hir::MutImmutable,
                })
            },
            TyRef(_, ty, mutbl) => Some(TypeAndMut { ty, mutbl }),
            TyRawPtr(mt) if explicit => Some(mt),
            _ => None,
        }
    }
/// Returns the type and mutability of *ty.
///
/// The parameter `explicit` indicates if this is an *explicit* dereference.
/// Some types---notably unsafe ptrs---can only be dereferenced explicitly.
Returns the type and mutability of *ty.
The parameter `explicit` indicates if this is an *explicit* dereference.
Returns the type and mutability of * ty . The parameter ` explicit ` indicates if this is an * explicit * dereference .
pub fn builtin_deref(&self, explicit: bool) -> Option<TypeAndMut<'tcx>> {
        match self.sty {
            TyAdt(def, _) if def.is_box() => {
                Some(TypeAndMut {
                    ty: self.boxed_ty(),
                    mutbl: hir::MutImmutable,
                })
            },
            TyRef(_, ty, mutbl) => Some(TypeAndMut { ty, mutbl }),
            TyRawPtr(mt) if explicit => Some(mt),
            _ => None,
        }
    }
pub fn builtin_deref ( & self , explicit : bool ) -> Option < TypeAndMut < ' tcx > > { match self . sty { TyAdt ( def , _ ) if def . is_box ( ) => { Some ( TypeAndMut { ty : self . boxed_ty ( ) , mutbl : hir :: MutImmutable , } ) } , TyRef ( _ , ty , mutbl ) => Some ( TypeAndMut { ty , mutbl } ) , TyRawPtr ( mt ) if explicit => Some ( mt ) , _ => None , } }
Returns the type and mutability of *ty.
Returns the type and mutability of * ty .
&self
explicit
bool
&self
explicit
bool