diff --git a/src/core/delta.rs b/src/core/delta.rs index eec4c95..d74034c 100644 --- a/src/core/delta.rs +++ b/src/core/delta.rs @@ -1,5 +1,6 @@ use std::ops::{Deref, DerefMut}; +#[derive(Debug)] pub struct Delta { value: T, changed: bool, @@ -20,11 +21,14 @@ impl Delta { self.changed = false; delta } + pub fn mark_changed(&mut self) { + self.changed = true; + } pub const fn value(&self) -> &T { &self.value } pub fn value_mut(&mut self) -> &mut T { - self.changed = true; + self.mark_changed(); &mut self.value } } @@ -37,7 +41,7 @@ impl Deref for Delta { } impl DerefMut for Delta { fn deref_mut(&mut self) -> &mut Self::Target { - self.changed = true; + self.mark_changed(); &mut self.value } }