Struct rustc::middle::infer::sub::SubUnstable [-] [+] [src]

pub struct Sub<'a, 'tcx> {
    // some fields omitted
}

"Greatest lower bound" (common subtype)

Methods

impl<'a, 'tcx> Sub<'a, 'tcx>

fn new(f: CombineFields<'a, 'tcx>) -> Sub<'a, 'tcx>

Trait Implementations

impl<'a, 'tcx> TypeRelation<'a, 'tcx> for Sub<'a, 'tcx>

fn tag(&self) -> &'static str

fn tcx(&self) -> &'a ctxt<'tcx>

fn a_is_expected(&self) -> bool

fn relate_with_variance<T: Relate<'a, 'tcx>>(&mut self, variance: Variance, a: &T, b: &T) -> RelateResult<'tcx, T>

fn tys(&mut self, a: Ty<'tcx>, b: Ty<'tcx>) -> RelateResult<'tcx, Ty<'tcx>>

fn regions(&mut self, a: Region, b: Region) -> RelateResult<'tcx, Region>

fn binders<T>(&mut self, a: &Binder<T>, b: &Binder<T>) -> RelateResult<'tcx, Binder<T>> where T: Relate<'a, 'tcx>

fn relate<T: Relate<'a, 'tcx>>(&mut self, a: &T, b: &T) -> RelateResult<'tcx, T>