pub fn new<F>(items: Vec<Exp<T>>, closure: F) -> GivenAllRule<'rules, T>
    where
        F: Fn(&mut Solver<'rules>, Vec<T::Concrete>) -> InferenceResult + 'rules,
    {
        let closure = Box::new(closure);

        GivenAllRule { items, closure }
    }
/// Creates a new GivenRule instance.
Creates a new GivenRule instance.
Creates a new GivenRule instance .
pub fn new<F>(items: Vec<Exp<T>>, closure: F) -> GivenAllRule<'rules, T>
    where
        F: Fn(&mut Solver<'rules>, Vec<T::Concrete>) -> InferenceResult + 'rules,
    {
        let closure = Box::new(closure);
        GivenAllRule { items, closure }
    }
pub fn new < F > ( items : Vec < Exp < T > > , closure : F ) -> GivenAllRule < ' rules , T > where F : Fn ( & mut Solver < ' rules > , Vec < T :: Concrete > ) -> InferenceResult + ' rules , { let closure = Box :: new ( closure ) ; GivenAllRule { items , closure } }
Creates a new GivenRule instance.
Creates a new GivenRule instance .
items
Vec<Exp<T>>
closure
F
items
Vec<Exp<T>>
closure
F