Struct rustc_privacy::DefIdVisitorSkeleton
source · pub(crate) struct DefIdVisitorSkeleton<'v, 'tcx, V: ?Sized> {
pub(crate) def_id_visitor: &'v mut V,
pub(crate) visited_opaque_tys: FxHashSet<DefId>,
pub(crate) dummy: PhantomData<TyCtxt<'tcx>>,
}
Fields
def_id_visitor: &'v mut V
visited_opaque_tys: FxHashSet<DefId>
dummy: PhantomData<TyCtxt<'tcx>>
Implementations
sourceimpl<'tcx, V> DefIdVisitorSkeleton<'_, 'tcx, V>where
V: DefIdVisitor<'tcx> + ?Sized,
impl<'tcx, V> DefIdVisitorSkeleton<'_, 'tcx, V>where
V: DefIdVisitor<'tcx> + ?Sized,
pub(crate) fn visit_trait(
&mut self,
trait_ref: TraitRef<'tcx>
) -> ControlFlow<V::BreakTy>
pub(crate) fn visit_projection_ty(
&mut self,
projection: ProjectionTy<'tcx>
) -> ControlFlow<V::BreakTy>
pub(crate) fn visit_predicate(
&mut self,
predicate: Predicate<'tcx>
) -> ControlFlow<V::BreakTy>
pub(crate) fn visit_abstract_const_expr(
&mut self,
tcx: TyCtxt<'tcx>,
ct: AbstractConst<'tcx>
) -> ControlFlow<V::BreakTy>
pub(crate) fn visit_predicates(
&mut self,
predicates: GenericPredicates<'tcx>
) -> ControlFlow<V::BreakTy>
Trait Implementations
sourceimpl<'tcx, V> TypeVisitor<'tcx> for DefIdVisitorSkeleton<'_, 'tcx, V>where
V: DefIdVisitor<'tcx> + ?Sized,
impl<'tcx, V> TypeVisitor<'tcx> for DefIdVisitorSkeleton<'_, 'tcx, V>where
V: DefIdVisitor<'tcx> + ?Sized,
type BreakTy = <V as DefIdVisitor<'tcx>>::BreakTy
fn visit_ty(&mut self, ty: Ty<'tcx>) -> ControlFlow<V::BreakTy>
fn visit_const(&mut self, c: Const<'tcx>) -> ControlFlow<Self::BreakTy>
fn visit_binder<T>(
&mut self,
t: &Binder<'tcx, T>
) -> ControlFlow<Self::BreakTy, ()>where
T: TypeVisitable<'tcx>,
fn visit_region(&mut self, r: Region<'tcx>) -> ControlFlow<Self::BreakTy, ()>
fn visit_unevaluated(
&mut self,
uv: Unevaluated<'tcx, Option<Promoted>>
) -> ControlFlow<Self::BreakTy, ()>
fn visit_predicate(
&mut self,
p: Predicate<'tcx>
) -> ControlFlow<Self::BreakTy, ()>
fn visit_mir_const(
&mut self,
c: ConstantKind<'tcx>
) -> ControlFlow<Self::BreakTy, ()>
Auto Trait Implementations
impl<'v, 'tcx, V> !RefUnwindSafe for DefIdVisitorSkeleton<'v, 'tcx, V>
impl<'v, 'tcx, V> !Send for DefIdVisitorSkeleton<'v, 'tcx, V>
impl<'v, 'tcx, V> !Sync for DefIdVisitorSkeleton<'v, 'tcx, V>
impl<'v, 'tcx, V: ?Sized> Unpin for DefIdVisitorSkeleton<'v, 'tcx, V>
impl<'v, 'tcx, V> !UnwindSafe for DefIdVisitorSkeleton<'v, 'tcx, V>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Layout
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.