Struct rustc::middle::infer::equate::EquateExperimental [-]  [+] [src]

pub struct Equate<'f, 'tcx> {
    // some fields omitted
}

Trait Implementations

impl<'f, 'tcx> Combine<'tcx> for Equate<'f, 'tcx>

fn infcx<'a>(&'a self) -> &'a InferCtxt<'a, 'tcx>

fn tag(&self) -> String

fn a_is_expected(&self) -> bool

fn trace(&self) -> TypeTrace<'tcx>

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

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

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

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

fn contratys(&self, a: Ty<'tcx>, b: Ty<'tcx>) -> cres<'tcx, Ty<'tcx>>

fn contraregions(&self, a: Region, b: Region) -> cres<'tcx, Region>

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

fn mts(&self, a: &mt<'tcx>, b: &mt<'tcx>) -> cres<'tcx, mt<'tcx>>

fn unsafeties(&self, a: Unsafety, b: Unsafety) -> cres<'tcx, Unsafety>

fn oncenesses(&self, a: Onceness, b: Onceness) -> cres<'tcx, Onceness>

fn builtin_bounds(&self, a: BuiltinBounds, b: BuiltinBounds) -> cres<'tcx, BuiltinBounds>

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

fn binders<T>(&self, a: &Binder<T>, b: &Binder<T>) -> cres<'tcx, Binder<T>> where T: Combineable<'tcx>

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

fn tps(&self, _: ParamSpace, as_: &[Ty<'tcx>], bs: &[Ty<'tcx>]) -> cres<'tcx, Vec<Ty<'tcx>>>

fn substs(&self, item_def_id: DefId, a_subst: &Substs<'tcx>, b_subst: &Substs<'tcx>) -> cres<'tcx, Substs<'tcx>>

fn substs_variances(&self, variances: Option<&ItemVariances>, a_subst: &Substs<'tcx>, b_subst: &Substs<'tcx>) -> cres<'tcx, Substs<'tcx>>

fn bare_fn_tys(&self, a: &BareFnTy<'tcx>, b: &BareFnTy<'tcx>) -> cres<'tcx, BareFnTy<'tcx>>

fn closure_tys(&self, a: &ClosureTy<'tcx>, b: &ClosureTy<'tcx>) -> cres<'tcx, ClosureTy<'tcx>>

fn fn_sigs(&self, a: &FnSig<'tcx>, b: &FnSig<'tcx>) -> cres<'tcx, FnSig<'tcx>>

fn args(&self, a: Ty<'tcx>, b: Ty<'tcx>) -> cres<'tcx, Ty<'tcx>>

fn abi(&self, a: Abi, b: Abi) -> cres<'tcx, Abi>

fn projection_tys(&self, a: &ProjectionTy<'tcx>, b: &ProjectionTy<'tcx>) -> cres<'tcx, ProjectionTy<'tcx>>

fn projection_predicates(&self, a: &ProjectionPredicate<'tcx>, b: &ProjectionPredicate<'tcx>) -> cres<'tcx, ProjectionPredicate<'tcx>>

fn projection_bounds(&self, a: &Vec<PolyProjectionPredicate<'tcx>>, b: &Vec<PolyProjectionPredicate<'tcx>>) -> cres<'tcx, Vec<PolyProjectionPredicate<'tcx>>>

fn existential_bounds(&self, a: &ExistentialBounds<'tcx>, b: &ExistentialBounds<'tcx>) -> cres<'tcx, ExistentialBounds<'tcx>>

fn trait_stores(&self, vk: terr_vstore_kind, a: TraitStore, b: TraitStore) -> cres<'tcx, TraitStore>

fn trait_refs(&self, a: &TraitRef<'tcx>, b: &TraitRef<'tcx>) -> cres<'tcx, TraitRef<'tcx>>