Trait rustc_trait_selection::opaque_types::InferCtxtExt[][src]

pub trait InferCtxtExt<'tcx> {
    fn instantiate_opaque_types<T: TypeFoldable<'tcx>>(
        &self,
        body_id: HirId,
        param_env: ParamEnv<'tcx>,
        value: T,
        value_span: Span
    ) -> InferOk<'tcx, T>;
fn constrain_opaque_types(&self);
fn constrain_opaque_type(
        &self,
        opaque_type_key: OpaqueTypeKey<'tcx>,
        opaque_defn: &OpaqueTypeDecl<'tcx>
    );
fn generate_member_constraint(
        &self,
        concrete_ty: Ty<'tcx>,
        opaque_defn: &OpaqueTypeDecl<'tcx>,
        opaque_type_key: OpaqueTypeKey<'tcx>,
        first_own_region_index: usize
    );
fn infer_opaque_definition_from_instantiation(
        &self,
        opaque_type_key: OpaqueTypeKey<'tcx>,
        instantiated_ty: Ty<'tcx>,
        span: Span
    ) -> Ty<'tcx>; }

Required methods

Implementors