Trait chalk_ir::UnificationDatabase

source ·
pub trait UnificationDatabase<I>
where Self: Debug, I: Interner,
{ // Required methods fn fn_def_variance(&self, fn_def_id: FnDefId<I>) -> Variances<I>; fn adt_variance(&self, adt_id: AdtId<I>) -> Variances<I>; }
Expand description

Logic to decide the Variance for a given subst

Required Methods§

source

fn fn_def_variance(&self, fn_def_id: FnDefId<I>) -> Variances<I>

Gets the variances for the substitution of a fn def

source

fn adt_variance(&self, adt_id: AdtId<I>) -> Variances<I>

Gets the variances for the substitution of a adt

Implementors§

impl<I, DB, P> UnificationDatabase<I> for LoggingRustIrDatabase<I, DB, P>
where DB: RustIrDatabase<I>, P: Borrow<DB> + Debug, I: Interner,

impl<I, W, DB, P> UnificationDatabase<I> for WriteOnDropRustIrDatabase<I, W, DB, P>
where I: Interner, W: Write, DB: RustIrDatabase<I>, P: Borrow<DB> + Debug,

impl<I: Interner, DB: RustIrDatabase<I>> UnificationDatabase<I> for StubWrapper<'_, DB>