[][src]Trait chalk_ir::interner::TargetInterner

pub trait TargetInterner<I: Interner>: Interner {
    fn transfer_def_id(def_id: I::DefId) -> Self::DefId;
fn transfer_adt_id(adt_id: I::InternedAdtId) -> Self::InternedAdtId;
fn transfer_variable_kinds(
        variable_kinds: I::InternedVariableKinds
    ) -> Self::InternedVariableKinds;
fn transfer_canonical_var_kinds(
        variable_kinds: I::InternedCanonicalVarKinds
    ) -> Self::InternedCanonicalVarKinds;
fn transfer_const(
        &self,
        const_evaluated: &I::InternedConcreteConst
    ) -> Self::InternedConcreteConst;
fn transfer_abi(abi: I::FnAbi) -> Self::FnAbi; }

"Target" interner, used to specify the interner of the folded value. In most cases, both interners are the same, but in some cases you want to change a value to a different internal representation, and as such a different target interner.

Contains several methods to transfer types from another interner to the TargetInterner.

Required methods

fn transfer_def_id(def_id: I::DefId) -> Self::DefId

Transfer a DefId to the target interner.

fn transfer_adt_id(adt_id: I::InternedAdtId) -> Self::InternedAdtId

Transfer an AdtId to the target interner.

fn transfer_variable_kinds(
    variable_kinds: I::InternedVariableKinds
) -> Self::InternedVariableKinds

Transfer variable kinds to the target interner.

fn transfer_canonical_var_kinds(
    variable_kinds: I::InternedCanonicalVarKinds
) -> Self::InternedCanonicalVarKinds

Transfer canonical var kinds to the target interner.

fn transfer_const(
    &self,
    const_evaluated: &I::InternedConcreteConst
) -> Self::InternedConcreteConst

Transfer constant values to the target interner.

fn transfer_abi(abi: I::FnAbi) -> Self::FnAbi

Transfer function ABI to the target interner.

Loading content...

Implementors

impl<I: Interner> TargetInterner<I> for I[src]

Loading content...