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§
source§impl<'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: AliasTy<'tcx>
) -> ControlFlow<V::BreakTy>
pub(crate) fn visit_predicate(
&mut self,
predicate: Predicate<'tcx>
) -> ControlFlow<V::BreakTy>
pub(crate) fn visit_predicates(
&mut self,
predicates: GenericPredicates<'tcx>
) -> ControlFlow<V::BreakTy>
Trait Implementations§
source§impl<'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_predicate(
&mut self,
p: Predicate<'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§
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.