Struct rustc_typeck::check::wfcheck::GATSubstCollector
source · [−]struct GATSubstCollector<'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
gat: DefIdregions: FxHashSet<(Region<'tcx>, usize)>types: FxHashSet<(Ty<'tcx>, usize)>Implementations
Trait Implementations
fn visit_binder<T>(&mut self, t: &Binder<T>) -> ControlFlow<Self::BreakTy, ()> where
T: TypeFoldable<'tcx>,
fn visit_unevaluated_const(
&mut self,
uv: Unevaluated<Option<Promoted>>
) -> ControlFlow<Self::BreakTy, ()>
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for GATSubstCollector
impl<'tcx> Send for GATSubstCollector
impl<'tcx> Sync for GATSubstCollector
impl<'tcx> Unpin for GATSubstCollector
impl<'tcx> !UnwindSafe for GATSubstCollector
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: 72 bytes