Unnamed repository; edit this file 'description' to name the repository.
move `cycle_result` from query group to the underlying queries
Ada Alakbarova 4 weeks ago
parent b669719 · commit ed6c832
-rw-r--r--crates/hir-ty/src/consteval.rs3
-rw-r--r--crates/hir-ty/src/db.rs6
-rw-r--r--crates/hir-ty/src/layout.rs4
-rw-r--r--crates/hir-ty/src/layout/adt.rs3
4 files changed, 9 insertions, 7 deletions
diff --git a/crates/hir-ty/src/consteval.rs b/crates/hir-ty/src/consteval.rs
index a880ae5353..e58a22332c 100644
--- a/crates/hir-ty/src/consteval.rs
+++ b/crates/hir-ty/src/consteval.rs
@@ -413,6 +413,7 @@ pub(crate) fn create_anon_const<'a, 'db>(
}
}
+#[salsa::tracked(cycle_result = const_eval_discriminant_cycle_result)]
pub(crate) fn const_eval_discriminant_variant(
db: &dyn HirDatabase,
variant_id: EnumVariantId,
@@ -449,7 +450,7 @@ pub(crate) fn const_eval_discriminant_variant(
Ok(c)
}
-pub(crate) fn const_eval_discriminant_cycle_result(
+fn const_eval_discriminant_cycle_result(
_: &dyn HirDatabase,
_: salsa::Id,
_: EnumVariantId,
diff --git a/crates/hir-ty/src/db.rs b/crates/hir-ty/src/db.rs
index 6b482870ab..6058157143 100644
--- a/crates/hir-ty/src/db.rs
+++ b/crates/hir-ty/src/db.rs
@@ -104,7 +104,7 @@ pub trait HirDatabase: SourceDatabase + std::fmt::Debug {
fn const_eval_static<'db>(&'db self, def: StaticId) -> Result<Allocation<'db>, ConstEvalError>;
#[salsa::invoke(crate::consteval::const_eval_discriminant_variant)]
- #[salsa::cycle(cycle_result = crate::consteval::const_eval_discriminant_cycle_result)]
+ #[salsa::transparent]
fn const_eval_discriminant(&self, def: EnumVariantId) -> Result<i128, ConstEvalError>;
#[salsa::invoke(crate::method_resolution::lookup_impl_method_query)]
@@ -119,7 +119,7 @@ pub trait HirDatabase: SourceDatabase + std::fmt::Debug {
// endregion:mir
#[salsa::invoke(crate::layout::layout_of_adt_query)]
- #[salsa::cycle(cycle_result = crate::layout::layout_of_adt_cycle_result)]
+ #[salsa::transparent]
fn layout_of_adt(
&self,
def: AdtId,
@@ -128,7 +128,7 @@ pub trait HirDatabase: SourceDatabase + std::fmt::Debug {
) -> Result<Arc<Layout>, LayoutError>;
#[salsa::invoke(crate::layout::layout_of_ty_query)]
- #[salsa::cycle(cycle_result = crate::layout::layout_of_ty_cycle_result)]
+ #[salsa::transparent]
fn layout_of_ty(
&self,
ty: StoredTy,
diff --git a/crates/hir-ty/src/layout.rs b/crates/hir-ty/src/layout.rs
index ed4775539a..adba047042 100644
--- a/crates/hir-ty/src/layout.rs
+++ b/crates/hir-ty/src/layout.rs
@@ -32,7 +32,6 @@ use crate::{
traits::StoredParamEnvAndCrate,
};
-pub(crate) use self::adt::layout_of_adt_cycle_result;
pub use self::{adt::layout_of_adt_query, target::target_data_layout_query};
pub(crate) mod adt;
@@ -161,6 +160,7 @@ fn layout_of_simd_ty<'db>(
Ok(Arc::new(cx.calc.simd_type(e_ly, e_len, repr_packed)?))
}
+#[salsa::tracked(cycle_result = layout_of_ty_cycle_result)]
pub fn layout_of_ty_query(
db: &dyn HirDatabase,
ty: StoredTy,
@@ -503,7 +503,7 @@ pub fn layout_of_ty_query(
Ok(Arc::new(result))
}
-pub(crate) fn layout_of_ty_cycle_result(
+fn layout_of_ty_cycle_result(
_: &dyn HirDatabase,
_: salsa::Id,
_: StoredTy,
diff --git a/crates/hir-ty/src/layout/adt.rs b/crates/hir-ty/src/layout/adt.rs
index 22dd53ca2d..1f321af794 100644
--- a/crates/hir-ty/src/layout/adt.rs
+++ b/crates/hir-ty/src/layout/adt.rs
@@ -19,6 +19,7 @@ use crate::{
traits::StoredParamEnvAndCrate,
};
+#[salsa::tracked(cycle_result = layout_of_adt_cycle_result)]
pub fn layout_of_adt_query(
db: &dyn HirDatabase,
def: AdtId,
@@ -96,7 +97,7 @@ pub fn layout_of_adt_query(
Ok(Arc::new(result))
}
-pub(crate) fn layout_of_adt_cycle_result(
+fn layout_of_adt_cycle_result(
_: &dyn HirDatabase,
_: salsa::Id,
_def: AdtId,