fn unify_with(&mut self, other: &Self) -> TractResult<bool> {
        let new = self.unify(&other)?;
        let mut changed = false;
        if &new != self {
            changed = true;
            *self = new.clone();
        }
        Ok(changed)
    }
/// Tries to unify the fact with another fact of the same type and update
/// self.
///
/// Returns true if it actually changed something.
Tries to unify the fact with another fact of the same type and update
self.

Returns true if it actually changed something.
Tries to unify the fact with another fact of the same type and update self . Returns true if it actually changed something .
fn unify_with(&mut self, other: &Self) -> TractResult<bool> {
        let new = self.unify(&other)?;
        let mut changed = false;
        if &new != self {
            changed = true;
            *self = new.clone();
        }
        Ok(changed)
    }
fn unify_with ( & mut self , other : & Self ) -> TractResult < bool > { let new = self . unify ( & other ) ? ; let mut changed = false ; if & new != self { changed = true ; * self = new . clone ( ) ; } Ok ( changed ) }
Tries to unify the fact with another fact of the same type and update
self.
Tries to unify the fact with another fact of the same type and update self .
&mut self
other
&Self
&mut self
other
&Self