From e8b467733f8957918d26538ea7c3f54fcaa38914 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 19 Jul 2024 10:00:03 -0400 Subject: [PATCH] squelch most clippy warnings in generated code --- components/salsa-macro-rules/src/setup_tracked_fn.rs | 2 ++ components/salsa-macro-rules/src/setup_tracked_struct.rs | 2 ++ components/salsa-macros/src/update.rs | 1 + tests/tracked_fn_read_own_specify.rs | 2 +- 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/components/salsa-macro-rules/src/setup_tracked_fn.rs b/components/salsa-macro-rules/src/setup_tracked_fn.rs index 2c11d9c..3c044a2 100644 --- a/components/salsa-macro-rules/src/setup_tracked_fn.rs +++ b/components/salsa-macro-rules/src/setup_tracked_fn.rs @@ -69,6 +69,8 @@ macro_rules! setup_tracked_fn { _priv: std::convert::Infallible, } + // Suppress this clippy lint because we sometimes require `'db` where the ordinary Rust rules would not. + #[allow(clippy::needless_lifetimes)] $(#[$attr])* $vis fn $fn_name<$db_lt>( $db: &$db_lt dyn $Db, diff --git a/components/salsa-macro-rules/src/setup_tracked_struct.rs b/components/salsa-macro-rules/src/setup_tracked_struct.rs index aa6d099..4cfe3b0 100644 --- a/components/salsa-macro-rules/src/setup_tracked_struct.rs +++ b/components/salsa-macro-rules/src/setup_tracked_struct.rs @@ -67,6 +67,8 @@ macro_rules! setup_tracked_struct { std::marker::PhantomData < & $db_lt salsa::plumbing::tracked_struct::Value < $Struct<'static> > > ); + #[allow(clippy::all)] + #[allow(dead_code)] const _: () = { use salsa::plumbing as $zalsa; use $zalsa::tracked_struct as $zalsa_struct; diff --git a/components/salsa-macros/src/update.rs b/components/salsa-macros/src/update.rs index 19112a9..837f146 100644 --- a/components/salsa-macros/src/update.rs +++ b/components/salsa-macros/src/update.rs @@ -76,6 +76,7 @@ pub(crate) fn update_derive(input: syn::DeriveInput) -> syn::Result let ident = &input.ident; let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl(); let tokens = quote! { + #[allow(clippy::all)] unsafe impl #impl_generics salsa::Update for #ident #ty_generics #where_clause { unsafe fn maybe_update(#old_pointer: *mut Self, #new_value: Self) -> bool { use ::salsa::plumbing::UpdateFallback as _; diff --git a/tests/tracked_fn_read_own_specify.rs b/tests/tracked_fn_read_own_specify.rs index 05b2652..3bc601a 100644 --- a/tests/tracked_fn_read_own_specify.rs +++ b/tests/tracked_fn_read_own_specify.rs @@ -17,7 +17,7 @@ struct MyTracked<'db> { } #[salsa::tracked] -fn tracked_fn<'db>(db: &'db dyn Db, input: MyInput) -> u32 { +fn tracked_fn(db: &dyn Db, input: MyInput) -> u32 { db.push_log(format!("tracked_fn({input:?})")); let t = MyTracked::new(db, input.field(db) * 2); tracked_fn_extra::specify(db, t, 2222);