Struct rustc_typeck::middle::infer::equate::EquateUnstable [-] [+] [src]

pub struct Equate<'a, 'tcx> where 'tcx: 'a {
    // some fields omitted
}

Methods

impl<'a, 'tcx> Equate<'a, 'tcx>

fn new(fields: CombineFields<'a, 'tcx>) -> Equate<'a, 'tcx>

Trait Implementations

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

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

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

fn a_is_expected(&self) -> bool

fn relate_with_variance<T>(&mut self, Variance, a: &T, b: &T) -> Result<T, type_err<'tcx>> where T: Relate<'a, 'tcx>

fn tys(&mut self, a: &'tcx TyS<'tcx>, b: &'tcx TyS<'tcx>) -> Result<&'tcx TyS<'tcx>, type_err<'tcx>>

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

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

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