Trait rustc::middle::typeck::infer::combine::Combine[src]

pub trait Combine {
    fn infcx<'a>(&'a self) -> &'a InferCtxt<'a>;
    fn tag(&self) -> String;
    fn a_is_expected(&self) -> bool;
    fn trace(&self) -> TypeTrace;
    fn sub<'a>(&'a self) -> Sub<'a>;
    fn lub<'a>(&'a self) -> Lub<'a>;
    fn glb<'a>(&'a self) -> Glb<'a>;
    fn mts(&self, a: &mt, b: &mt) -> cres<mt>;
    fn contratys(&self, a: t, b: t) -> cres<t>;
    fn tys(&self, a: t, b: t) -> cres<t>;
    fn fn_sigs(&self, a: &FnSig, b: &FnSig) -> cres<FnSig>;
    fn fn_styles(&self, a: FnStyle, b: FnStyle) -> cres<FnStyle>;
    fn oncenesses(&self, a: Onceness, b: Onceness) -> cres<Onceness>;
    fn bounds(&self, a: BuiltinBounds, b: BuiltinBounds) -> cres<BuiltinBounds>;
    fn contraregions(&self, a: Region, b: Region) -> cres<Region>;
    fn regions(&self, a: Region, b: Region) -> cres<Region>;

    fn tps(&self, space: ParamSpace, as_: &[t], bs: &[t]) -> cres<Vec<t>> { ... }
    fn substs(&self, item_def_id: DefId, a_subst: &Substs, b_subst: &Substs) -> cres<Substs> { ... }
    fn bare_fn_tys(&self, a: &BareFnTy, b: &BareFnTy) -> cres<BareFnTy> { ... }
    fn closure_tys(&self, a: &ClosureTy, b: &ClosureTy) -> cres<ClosureTy> { ... }
    fn args(&self, a: t, b: t) -> cres<t> { ... }
    fn abi(&self, a: Abi, b: Abi) -> cres<Abi> { ... }
    fn trait_stores(&self, vk: terr_vstore_kind, a: TraitStore, b: TraitStore) -> cres<TraitStore> { ... }
    fn trait_refs(&self, a: &TraitRef, b: &TraitRef) -> cres<TraitRef> { ... }
}

Required Methods

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

fn tag(&self) -> String

fn a_is_expected(&self) -> bool

fn trace(&self) -> TypeTrace

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

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

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

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

fn contratys(&self, a: t, b: t) -> cres<t>

fn tys(&self, a: t, b: t) -> cres<t>

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

fn fn_styles(&self, a: FnStyle, b: FnStyle) -> cres<FnStyle>

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

fn bounds(&self, a: BuiltinBounds, b: BuiltinBounds) -> cres<BuiltinBounds>

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

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

Provided Methods

fn tps(&self, space: ParamSpace, as_: &[t], bs: &[t]) -> cres<Vec<t>>

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

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

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

fn args(&self, a: t, b: t) -> cres<t>

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

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

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

Implementors