From c347b6133365dcf1b7da4e77890b20d04d6cfba4 Mon Sep 17 00:00:00 2001 From: Malte Voos Date: Fri, 5 Dec 2025 15:35:38 +0100 Subject: implement machine translation; various fixes and refactorings --- src/util/tracker.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/util/tracker.rs') diff --git a/src/util/tracker.rs b/src/util/tracker.rs index 69a1c5f..060acae 100644 --- a/src/util/tracker.rs +++ b/src/util/tracker.rs @@ -1,3 +1,5 @@ +use std::ops::Deref; + pub struct Tracker { inner: T, dirty: bool, @@ -40,8 +42,24 @@ impl Tracker { } } +impl Deref for Tracker { + type Target = T; + + fn deref(&self) -> &Self::Target { + self.get() + } +} + impl Default for Tracker { fn default() -> Self { Self::new(T::default()) } } + +impl Tracker { + pub fn set_if_ne(&mut self, value: T) { + if self.inner != value { + self.set(value); + } + } +} -- cgit 1.4.1