Unnamed repository; edit this file 'description' to name the repository.
Merge pull request #22700 from ada4a/unquerygroup-lru
internal: remove `#[salsa::lru]` support in `#[query_group]`
| -rw-r--r-- | crates/query-group-macro/src/lib.rs | 9 | ||||
| -rw-r--r-- | crates/query-group-macro/src/queries.rs | 4 | ||||
| -rw-r--r-- | crates/query-group-macro/tests/lru.rs | 63 |
3 files changed, 1 insertions, 75 deletions
diff --git a/crates/query-group-macro/src/lib.rs b/crates/query-group-macro/src/lib.rs index a2cac3688c..7318d7f152 100644 --- a/crates/query-group-macro/src/lib.rs +++ b/crates/query-group-macro/src/lib.rs @@ -176,7 +176,6 @@ pub(crate) fn query_group_impl( let mut query_kind = QueryKind::TrackedWithSalsaStruct; let mut invoke = None; let mut cycle = None; - let mut lru = None; let params: Vec<FnArg> = signature.inputs.clone().into_iter().collect(); let pat_and_tys = params @@ -209,12 +208,6 @@ pub(crate) fn query_group_impl( "tracked" if method.default.is_some() => { query_kind = QueryKind::TrackedWithSalsaStruct; } - "lru" => { - let lru_count = syn::parse::<Parenthesized<syn::LitInt>>(tts)?; - let lru_count = lru_count.0.base10_parse::<u32>()?; - - lru = Some(lru_count); - } "transparent" => { query_kind = QueryKind::Transparent; } @@ -243,7 +236,6 @@ pub(crate) fn query_group_impl( pat_and_tys: pat_and_tys.clone(), invoke, cycle, - lru, default: method.default.take(), }; @@ -257,7 +249,6 @@ pub(crate) fn query_group_impl( pat_and_tys: pat_and_tys.clone(), invoke, cycle, - lru, default: method.default.take(), }; diff --git a/crates/query-group-macro/src/queries.rs b/crates/query-group-macro/src/queries.rs index 7eea85f7af..b7de7f6b2a 100644 --- a/crates/query-group-macro/src/queries.rs +++ b/crates/query-group-macro/src/queries.rs @@ -12,7 +12,6 @@ pub(crate) struct TrackedQuery { pub(crate) invoke: Option<Path>, pub(crate) default: Option<syn::Block>, pub(crate) cycle: Option<Cycle>, - pub(crate) lru: Option<u32>, pub(crate) generated_struct: Option<GeneratedInputStruct>, } @@ -47,8 +46,7 @@ impl ToTokens for TrackedQuery { let options = cycle_fn.into_iter().chain(cycle_initial).chain(cycle_result); quote!(#(#options),*) }) - .into_iter() - .chain(self.lru.map(|lru| quote!(lru = #lru))); + .into_iter(); let annotation = quote!(#[salsa_macros::tracked( #(#options),* )]); let pat_and_tys = &self.pat_and_tys; diff --git a/crates/query-group-macro/tests/lru.rs b/crates/query-group-macro/tests/lru.rs deleted file mode 100644 index a0817c4013..0000000000 --- a/crates/query-group-macro/tests/lru.rs +++ /dev/null @@ -1,63 +0,0 @@ -use expect_test::expect; - -mod logger_db; -use logger_db::LoggerDb; -use query_group_macro::query_group; - -#[salsa::input(singleton)] -struct InputString { - inner: String, -} - -#[query_group] -pub trait LruDB: salsa::Database { - #[salsa::lru(16)] - #[salsa::invoke_interned(length_query)] - fn length_query(&self, key: ()) -> usize; - - #[salsa::lru(16)] - #[salsa::invoke_interned(invoked_query)] - fn length_query_invoke(&self, key: ()) -> usize; -} - -fn length_query(db: &dyn LruDB, _key: ()) -> usize { - InputString::get(db).inner(db).len() -} - -fn invoked_query(db: &dyn LruDB, _key: ()) -> usize { - InputString::get(db).inner(db).len() -} - -#[test] -fn plain_lru() { - let db = LoggerDb::default(); - - InputString::new(&db, String::from("Hello, world!")); - let len = db.length_query(()); - - assert_eq!(len, 13); - db.assert_logs(expect![[r#" - [ - "salsa_event(WillCheckCancellation)", - "salsa_event(WillExecute { database_key: create_data_LruDB(Id(400)) })", - "salsa_event(WillCheckCancellation)", - "salsa_event(WillExecute { database_key: length_query_shim(Id(c00)) })", - ]"#]]); -} - -#[test] -fn invoke_lru() { - let db = LoggerDb::default(); - - InputString::new(&db, String::from("Hello, world!")); - let len = db.length_query_invoke(()); - - assert_eq!(len, 13); - db.assert_logs(expect![[r#" - [ - "salsa_event(WillCheckCancellation)", - "salsa_event(WillExecute { database_key: create_data_LruDB(Id(400)) })", - "salsa_event(WillCheckCancellation)", - "salsa_event(WillExecute { database_key: length_query_invoke_shim(Id(c00)) })", - ]"#]]); -} |