diff --git a/components/salsa-2022-macros/src/salsa_struct.rs b/components/salsa-2022-macros/src/salsa_struct.rs index 7f9def8c..5b20b761 100644 --- a/components/salsa-2022-macros/src/salsa_struct.rs +++ b/components/salsa-2022-macros/src/salsa_struct.rs @@ -240,7 +240,6 @@ impl SalsaStruct { // `::salsa::debug::helper::SalsaDebug` will use `DebugWithDb` or fallbak to `Debug` let fields = self .all_fields() - .into_iter() .map(|field| -> TokenStream { let field_name_string = field.name().to_string(); let field_getter = field.get_name(); @@ -338,7 +337,7 @@ impl SalsaField { if BANNED_FIELD_NAMES.iter().any(|n| *n == field_name_str) { return Err(syn::Error::new( field_name.span(), - &format!( + format!( "the field name `{}` is disallowed in salsa structs", field_name_str ), diff --git a/components/salsa-2022-macros/src/tracked_fn.rs b/components/salsa-2022-macros/src/tracked_fn.rs index b15d6ae6..d6dec496 100644 --- a/components/salsa-2022-macros/src/tracked_fn.rs +++ b/components/salsa-2022-macros/src/tracked_fn.rs @@ -105,6 +105,7 @@ pub(crate) fn tracked_impl( ), None => format!("{}", self_type_name), }; + #[allow(clippy::manual_try_fold)] // we accumulate errors let extra_impls = item_impl .items .iter_mut() diff --git a/components/salsa-2022-macros/src/tracked_struct.rs b/components/salsa-2022-macros/src/tracked_struct.rs index 12f037aa..90f0907d 100644 --- a/components/salsa-2022-macros/src/tracked_struct.rs +++ b/components/salsa-2022-macros/src/tracked_struct.rs @@ -130,6 +130,7 @@ impl TrackedStruct { type Fields = ( #(#field_tys,)* ); type Revisions = [salsa::Revision; #arity]; + #[allow(clippy::unused_unit)] fn id_fields(fields: &Self::Fields) -> impl std::hash::Hash { ( #( &fields.#id_field_indices ),* ) } diff --git a/components/salsa-2022/src/debug.rs b/components/salsa-2022/src/debug.rs index 98149c9a..5050a227 100644 --- a/components/salsa-2022/src/debug.rs +++ b/components/salsa-2022/src/debug.rs @@ -221,11 +221,7 @@ pub mod helper { use std::{fmt, marker::PhantomData}; pub trait Fallback { - fn salsa_debug<'a, 'b>( - a: &'a T, - _db: &'b Db, - _include_all_fields: bool, - ) -> &'a dyn fmt::Debug { + fn salsa_debug<'a>(a: &'a T, _db: &Db, _include_all_fields: bool) -> &'a dyn fmt::Debug { a } } diff --git a/components/salsa-2022/src/hash.rs b/components/salsa-2022/src/hash.rs index 9d6a708e..61055b75 100644 --- a/components/salsa-2022/src/hash.rs +++ b/components/salsa-2022/src/hash.rs @@ -1,4 +1,4 @@ -use std::hash::{BuildHasher, Hash, Hasher}; +use std::hash::{BuildHasher, Hash}; pub(crate) type FxHasher = std::hash::BuildHasherDefault; pub(crate) type FxIndexSet = indexmap::IndexSet; @@ -8,7 +8,5 @@ pub(crate) type FxLinkedHashSet = hashlink::LinkedHashSet; pub(crate) type FxHashSet = std::collections::HashSet; pub(crate) fn hash(t: &T) -> u64 { - let mut hasher = FxHasher::default().build_hasher(); - t.hash(&mut hasher); - hasher.finish() + FxHasher::default().hash_one(t) } diff --git a/components/salsa-2022/src/plumbing.rs b/components/salsa-2022/src/plumbing.rs index f5e95d98..ddf672d2 100644 --- a/components/salsa-2022/src/plumbing.rs +++ b/components/salsa-2022/src/plumbing.rs @@ -4,7 +4,7 @@ use crate::storage::HasJars; /// Initializes the `DB`'s jars in-place /// -/// # Safety: +/// # Safety /// /// `init` must fully initialize all of jars fields pub unsafe fn create_jars_inplace(init: impl FnOnce(*mut DB::Jars)) -> Box { @@ -31,6 +31,7 @@ pub unsafe fn create_jars_inplace(init: impl FnOnce(*mut DB::Jars)) // // Safe if you know that data at `u` will remain shared // until the reference `t` expires. +#[allow(clippy::needless_lifetimes)] pub(crate) unsafe fn transmute_lifetime<'t, 'u, T, U>(_t: &'t T, u: &'u U) -> &'t U { std::mem::transmute(u) } diff --git a/components/salsa-2022/src/tracked_struct.rs b/components/salsa-2022/src/tracked_struct.rs index 3241e3d1..a0fec752 100644 --- a/components/salsa-2022/src/tracked_struct.rs +++ b/components/salsa-2022/src/tracked_struct.rs @@ -10,7 +10,6 @@ use crate::{ ingredient_list::IngredientList, interned::{InternedId, InternedIngredient}, key::{DatabaseKeyIndex, DependencyIndex}, - plumbing::transmute_lifetime, runtime::{local_state::QueryOrigin, Runtime}, salsa_struct::SalsaStructInDb, Database, Durability, Event, IngredientIndex, Revision,