diff --git a/src/function.rs b/src/function.rs index 472e251c3..ddef6f028 100644 --- a/src/function.rs +++ b/src/function.rs @@ -61,7 +61,7 @@ pub trait Configuration: Any { /// the older one. /// /// This invokes user code in form of the `Eq` impl. - fn values_equal(old_value: &Self::Output<'_>, new_value: &Self::Output<'_>) -> bool; + fn values_equal<'db>(old_value: &Self::Output<'db>, new_value: &Self::Output<'db>) -> bool; /// Convert from the id used internally to the value that execute is expecting. /// This is a no-op if the input to the function is a salsa struct. diff --git a/src/function/backdate.rs b/src/function/backdate.rs index 7637dcc70..685a329ec 100644 --- a/src/function/backdate.rs +++ b/src/function/backdate.rs @@ -9,11 +9,11 @@ where /// If the value/durability of this memo is equal to what is found in `revisions`/`value`, /// then update `revisions.changed_at` to match `self.revisions.changed_at`. This is invoked /// on an old memo when a new memo has been produced to check whether there have been changed. - pub(super) fn backdate_if_appropriate( + pub(super) fn backdate_if_appropriate<'db>( &self, - old_memo: &Memo>, + old_memo: &Memo>, revisions: &mut QueryRevisions, - value: &C::Output<'_>, + value: &C::Output<'db>, ) { if let Some(old_value) = &old_memo.value { // Careful: if the value became less durable than it diff --git a/src/function/execute.rs b/src/function/execute.rs index 7bd025457..589b2b6af 100644 --- a/src/function/execute.rs +++ b/src/function/execute.rs @@ -24,7 +24,7 @@ where &'db self, db: &'db C::DbView, mut active_query: ActiveQueryGuard<'db>, - opt_old_memo: Option<&Memo>>, + opt_old_memo: Option<&Memo>>, ) -> &'db Memo> { let zalsa = db.zalsa(); let revision_now = zalsa.current_revision(); diff --git a/src/update.rs b/src/update.rs index c75fc54a2..2ba135795 100644 --- a/src/update.rs +++ b/src/update.rs @@ -130,12 +130,6 @@ pub fn always_update( /// have been part of a tracked struct whose values were mutated, /// thus invalidating the `'db` lifetime (from a stacked borrows perspective). /// Either way, the `Eq` implementation would be invalid. -#[diagnostic::on_unimplemented( - message = "My Message for `ImportantTrait` implemented for `{Self}`", - label = "My Label", - note = "Note 1", - note = "Note 2" -)] pub unsafe trait Update { /// # Returns ///