Trait rustc_infer::infer::relate::lattice::LatticeDir
source · pub(crate) trait LatticeDir<'f, 'tcx>: PredicateEmittingRelation<InferCtxt<'tcx>> {
// Required methods
fn infcx(&self) -> &'f InferCtxt<'tcx>;
fn cause(&self) -> &ObligationCause<'tcx>;
fn define_opaque_types(&self) -> DefineOpaqueTypes;
fn relate_bound(
&mut self,
v: Ty<'tcx>,
a: Ty<'tcx>,
b: Ty<'tcx>,
) -> RelateResult<'tcx, ()>;
}
Expand description
Trait for returning data about a lattice, and for abstracting over the “direction” of the lattice operation (LUB/GLB).
GLB moves “down” the lattice (to smaller values); LUB moves “up” the lattice (to bigger values).
Required Methods§
fn infcx(&self) -> &'f InferCtxt<'tcx>
fn cause(&self) -> &ObligationCause<'tcx>
fn define_opaque_types(&self) -> DefineOpaqueTypes
fn relate_bound( &mut self, v: Ty<'tcx>, a: Ty<'tcx>, b: Ty<'tcx>, ) -> RelateResult<'tcx, ()>
Object Safety§
This trait is not object safe.