fn update(&mut self, other: Self) -> Delta<Self> {
        let previous = Some(*self);
        if self.state != other.state {
            *self = other;
        }
        Delta { previous, current: *self }
    }
/// Overwrite `self` with `other` if the state is different, returning the previous and current
/// values (which may be equal).
Overwrite `self` with `other` if the state is different, returning the previous and current
values (which may be equal).
Overwrite ` self ` with ` other ` if the state is different returning the previous and current values ( which may be equal ) .
fn update(&mut self, other: Self) -> Delta<Self> {
        let previous = Some(*self);
        if self.state != other.state {
            *self = other;
        }
        Delta { previous, current: *self }
    }
fn update ( & mut self , other : Self ) -> Delta < Self > { let previous = Some ( * self ) ; if self . state != other . state { * self = other ; } Delta { previous , current : * self } }
Overwrite `self` with `other` if the state is different, returning the previous and current
values (which may be equal).
Overwrite ` self ` with ` other ` if the state is different returning the previous and current values ( which may be equal ) .
&mut self
other
Self
&mut self
other
Self