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

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