Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/chalk_db.rs')
| -rw-r--r-- | crates/hir-ty/src/chalk_db.rs | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/crates/hir-ty/src/chalk_db.rs b/crates/hir-ty/src/chalk_db.rs deleted file mode 100644 index 546991cf65..0000000000 --- a/crates/hir-ty/src/chalk_db.rs +++ /dev/null @@ -1,68 +0,0 @@ -//! The implementation of `RustIrDatabase` for Chalk, which provides information -//! about the code that Chalk needs. -use hir_def::{CallableDefId, GenericDefId}; - -use crate::{Interner, Substitution, db::HirDatabase, mapping::from_chalk}; - -pub(crate) type AssocTypeId = chalk_ir::AssocTypeId<Interner>; -pub(crate) type TraitId = chalk_ir::TraitId<Interner>; -pub(crate) type AdtId = chalk_ir::AdtId<Interner>; -pub(crate) type ImplId = chalk_ir::ImplId<Interner>; -pub(crate) type Variances = chalk_ir::Variances<Interner>; - -impl chalk_ir::UnificationDatabase<Interner> for &dyn HirDatabase { - fn fn_def_variance( - &self, - fn_def_id: chalk_ir::FnDefId<Interner>, - ) -> chalk_ir::Variances<Interner> { - HirDatabase::fn_def_variance(*self, from_chalk(*self, fn_def_id)) - } - - fn adt_variance(&self, adt_id: chalk_ir::AdtId<Interner>) -> chalk_ir::Variances<Interner> { - HirDatabase::adt_variance(*self, adt_id.0) - } -} - -pub(crate) fn fn_def_variance_query( - db: &dyn HirDatabase, - callable_def: CallableDefId, -) -> Variances { - Variances::from_iter( - Interner, - db.variances_of(GenericDefId::from_callable(db, callable_def)) - .as_deref() - .unwrap_or_default() - .iter() - .map(|v| match v { - crate::variance::Variance::Covariant => chalk_ir::Variance::Covariant, - crate::variance::Variance::Invariant => chalk_ir::Variance::Invariant, - crate::variance::Variance::Contravariant => chalk_ir::Variance::Contravariant, - crate::variance::Variance::Bivariant => chalk_ir::Variance::Invariant, - }), - ) -} - -pub(crate) fn adt_variance_query(db: &dyn HirDatabase, adt_id: hir_def::AdtId) -> Variances { - Variances::from_iter( - Interner, - db.variances_of(adt_id.into()).as_deref().unwrap_or_default().iter().map(|v| match v { - crate::variance::Variance::Covariant => chalk_ir::Variance::Covariant, - crate::variance::Variance::Invariant => chalk_ir::Variance::Invariant, - crate::variance::Variance::Contravariant => chalk_ir::Variance::Contravariant, - crate::variance::Variance::Bivariant => chalk_ir::Variance::Invariant, - }), - ) -} - -/// Returns instantiated predicates. -pub(super) fn convert_where_clauses( - db: &dyn HirDatabase, - def: GenericDefId, - substs: &Substitution, -) -> Vec<chalk_ir::QuantifiedWhereClause<Interner>> { - db.generic_predicates(def) - .iter() - .cloned() - .map(|pred| pred.substitute(Interner, substs)) - .collect() -} |