Struct rustc_typeck::middle::infer::combine::CombineFieldsUnstable [-] [+] [src]

pub struct CombineFields<'a, 'tcx> where 'tcx: 'a {
    pub infcx: &'a InferCtxt<'a, 'tcx>,
    pub a_is_expected: bool,
    pub trace: TypeTrace<'tcx>,
}

Fields

infcx
a_is_expected
trace

Methods

impl<'a, 'tcx> CombineFields<'a, 'tcx>

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

fn switch_expected(&self) -> CombineFields<'a, 'tcx>

fn equate(&self) -> Equate<'a, 'tcx>

fn bivariate(&self) -> Bivariate<'a, 'tcx>

fn sub(&self) -> Sub<'a, 'tcx>

fn lub(&self) -> Lub<'a, 'tcx>

fn glb(&self) -> Glb<'a, 'tcx>

fn instantiate(&self, a_ty: &'tcx TyS<'tcx>, dir: RelationDir, b_vid: TyVid) -> Result<(), type_err<'tcx>>

Trait Implementations

impl<'a, 'tcx> HigherRankedRelations<'a, 'tcx> for CombineFields<'a, 'tcx>

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

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

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

Derived Implementations

impl<'a, 'tcx> Clone for CombineFields<'a, 'tcx> where 'tcx: 'a

fn clone(&self) -> CombineFields<'a, 'tcx>

fn clone_from(&mut self, source: &Self)