pub fn equals_all<T>(&mut self, items: Vec<Exp<T>>) -> InferenceResult
    where
        T: Output + Factoid + 'static,
    {
        let rule = EqualsRule::new(items);
        self.rules.push(Box::new(rule));
        Ok(())
    }
/// Ensures that several expressions are equal.
///
/// For instance, one could write:
/// ```text
/// solver.equals_all(vec![
///     outputs[0].rank.into(),
///     inputs[1].shape[0].into(),
///     3.into(),
/// ]);
/// ```
Ensures that several expressions are equal.
Ensures that several expressions are equal .
pub fn equals_all<T>(&mut self, items: Vec<Exp<T>>) -> InferenceResult
    where
        T: Output + Factoid + 'static,
    {
        let rule = EqualsRule::new(items);
        self.rules.push(Box::new(rule));
        Ok(())
    }
pub fn equals_all < T > ( & mut self , items : Vec < Exp < T > > ) -> InferenceResult where T : Output + Factoid + ' static , { let rule = EqualsRule :: new ( items ) ; self . rules . push ( Box :: new ( rule ) ) ; Ok ( ( ) ) }
Ensures that several expressions are equal.
Ensures that several expressions are equal .
&mut self
items
Vec<Exp<T>>
&mut self
items
Vec<Exp<T>>