]> git.lizzy.rs Git - rust.git/blobdiff - crates/hir_ty/src/db.rs
Add ConstParams to the HIR
[rust.git] / crates / hir_ty / src / db.rs
index 25cf9eb7f1279099a2e7de51ad08e8b7e5a7add0..f3567c49e6cb5e20d65509123e1194e686fbeddd 100644 (file)
@@ -5,8 +5,8 @@
 use arena::map::ArenaMap;
 use base_db::{impl_intern_key, salsa, CrateId, Upcast};
 use hir_def::{
-    db::DefDatabase, expr::ExprId, DefWithBodyId, FunctionId, GenericDefId, ImplId, LocalFieldId,
-    TypeParamId, VariantId,
+    db::DefDatabase, expr::ExprId, ConstParamId, DefWithBodyId, FunctionId, GenericDefId, ImplId,
+    LocalFieldId, TypeParamId, VariantId,
 };
 
 use crate::{
@@ -37,6 +37,9 @@ pub trait HirDatabase: DefDatabase + Upcast<dyn DefDatabase> {
     #[salsa::cycle(crate::lower::impl_self_ty_recover)]
     fn impl_self_ty(&self, def: ImplId) -> Binders<Ty>;
 
+    #[salsa::invoke(crate::lower::const_param_ty_query)]
+    fn const_param_ty(&self, def: ConstParamId) -> Ty;
+
     #[salsa::invoke(crate::lower::impl_trait_query)]
     fn impl_trait(&self, def: ImplId) -> Option<Binders<TraitRef>>;
 
@@ -99,6 +102,12 @@ fn generic_predicates_for_param(
     #[salsa::invoke(crate::traits::chalk::fn_def_datum_query)]
     fn fn_def_datum(&self, krate: CrateId, fn_def_id: chalk::FnDefId) -> Arc<chalk::FnDefDatum>;
 
+    #[salsa::invoke(crate::traits::chalk::fn_def_variance_query)]
+    fn fn_def_variance(&self, krate: CrateId, fn_def_id: chalk::FnDefId) -> chalk::Variances;
+
+    #[salsa::invoke(crate::traits::chalk::adt_variance_query)]
+    fn adt_variance(&self, krate: CrateId, adt_id: chalk::AdtId) -> chalk::Variances;
+
     #[salsa::invoke(crate::traits::chalk::associated_ty_value_query)]
     fn associated_ty_value(
         &self,