Struct rustc_typeck::check::wfcheck::GATSubstCollector [−][src]
struct GATSubstCollector<'tcx> {
tcx: TyCtxt<'tcx>,
gat: DefId,
regions: FxHashSet<(Region<'tcx>, usize)>,
types: FxHashSet<(Ty<'tcx>, usize)>,
}Expand description
TypeVisitor that looks for uses of GATs like
<P0 as Trait<P1..Pn>>::GAT<Pn..Pm> and adds the arguments P0..Pm into
the two vectors, regions and types (depending on their kind). For each
parameter Pi also track the index i.
Fields
tcx: TyCtxt<'tcx>gat: DefIdregions: FxHashSet<(Region<'tcx>, usize)>types: FxHashSet<(Ty<'tcx>, usize)>Implementations
Trait Implementations
Supplies the tcx for an unevaluated anonymous constant in case its default substs
are not yet supplied. Read more
fn visit_binder<T>(
&mut self,
t: &Binder<'tcx, T>
) -> ControlFlow<Self::BreakTy, ()> where
T: TypeFoldable<'tcx>,
fn visit_unevaluated_const(
&mut self,
uv: Unevaluated<'tcx, Option<Promoted>>
) -> ControlFlow<Self::BreakTy, ()>
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for GATSubstCollector<'tcx>
impl<'tcx> !Send for GATSubstCollector<'tcx>
impl<'tcx> !Sync for GATSubstCollector<'tcx>
impl<'tcx> Unpin for GATSubstCollector<'tcx>
impl<'tcx> !UnwindSafe for GATSubstCollector<'tcx>
Blanket Implementations
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 80 bytes