Struct rustc_trait_selection::traits::structural_match::Search [−][src]
Expand description
This implements the traversal over the structure of a given type to try to
find instances of ADTs (specifically structs or enums) that do not implement
the structural-match traits (StructuralPartialEq
and StructuralEq
).
Fields
span: Span
infcx: InferCtxt<'a, 'tcx>
seen: FxHashSet<DefId>
Tracks ADTs previously encountered during search, so that we will not recur on them again.
Implementations
Trait Implementations
type BreakTy = NonStructuralMatchTy<'tcx>
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<'a, 'tcx> !RefUnwindSafe for Search<'a, 'tcx>
impl<'a, 'tcx> !UnwindSafe for Search<'a, '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: 800 bytes