Trait Checker

Source
pub trait Checker<H, T>: Clone + 'static {
    // Required method
    fn check(&self, harness: &H, arguments: &T) -> Result<bool>;
}
Expand description

A Checker is the actual instance that executes when a condition evaluates.

It is mostly used with the FunctionCondition struct when given a closure/function.

It is implemented for closures of up to 16 arguments

Required Methods§

Source

fn check(&self, harness: &H, arguments: &T) -> Result<bool>

Execute the check with the given node

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<H, F> Checker<H, ((),)> for F
where F: Fn(&H) -> Result<bool> + Clone + 'static,

Source§

impl<H, F, T1> Checker<H, (T1,)> for F
where F: Fn(&H, T1) -> Result<bool> + Clone + 'static, T1: VerbArgument,

Source§

impl<H, F, T1, T2> Checker<H, (T1, T2)> for F
where F: Fn(&H, T1, T2) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument,

Source§

impl<H, F, T1, T2, T3> Checker<H, (T1, T2, T3)> for F
where F: Fn(&H, T1, T2, T3) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4> Checker<H, (T1, T2, T3, T4)> for F
where F: Fn(&H, T1, T2, T3, T4) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4, T5> Checker<H, (T1, T2, T3, T4, T5)> for F
where F: Fn(&H, T1, T2, T3, T4, T5) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument, T5: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4, T5, T6> Checker<H, (T1, T2, T3, T4, T5, T6)> for F
where F: Fn(&H, T1, T2, T3, T4, T5, T6) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument, T5: VerbArgument, T6: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4, T5, T6, T7> Checker<H, (T1, T2, T3, T4, T5, T6, T7)> for F
where F: Fn(&H, T1, T2, T3, T4, T5, T6, T7) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument, T5: VerbArgument, T6: VerbArgument, T7: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4, T5, T6, T7, T8> Checker<H, (T1, T2, T3, T4, T5, T6, T7, T8)> for F
where F: Fn(&H, T1, T2, T3, T4, T5, T6, T7, T8) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument, T5: VerbArgument, T6: VerbArgument, T7: VerbArgument, T8: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4, T5, T6, T7, T8, T9> Checker<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9)> for F
where F: Fn(&H, T1, T2, T3, T4, T5, T6, T7, T8, T9) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument, T5: VerbArgument, T6: VerbArgument, T7: VerbArgument, T8: VerbArgument, T9: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Checker<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for F
where F: Fn(&H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument, T5: VerbArgument, T6: VerbArgument, T7: VerbArgument, T8: VerbArgument, T9: VerbArgument, T10: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Checker<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for F
where F: Fn(&H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument, T5: VerbArgument, T6: VerbArgument, T7: VerbArgument, T8: VerbArgument, T9: VerbArgument, T10: VerbArgument, T11: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Checker<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for F
where F: Fn(&H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument, T5: VerbArgument, T6: VerbArgument, T7: VerbArgument, T8: VerbArgument, T9: VerbArgument, T10: VerbArgument, T11: VerbArgument, T12: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Checker<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> for F
where F: Fn(&H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument, T5: VerbArgument, T6: VerbArgument, T7: VerbArgument, T8: VerbArgument, T9: VerbArgument, T10: VerbArgument, T11: VerbArgument, T12: VerbArgument, T13: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Checker<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> for F
where F: Fn(&H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument, T5: VerbArgument, T6: VerbArgument, T7: VerbArgument, T8: VerbArgument, T9: VerbArgument, T10: VerbArgument, T11: VerbArgument, T12: VerbArgument, T13: VerbArgument, T14: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Checker<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> for F
where F: Fn(&H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument, T5: VerbArgument, T6: VerbArgument, T7: VerbArgument, T8: VerbArgument, T9: VerbArgument, T10: VerbArgument, T11: VerbArgument, T12: VerbArgument, T13: VerbArgument, T14: VerbArgument, T15: VerbArgument,

Source§

impl<H, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Checker<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F
where F: Fn(&H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Result<bool> + Clone + 'static, T1: VerbArgument, T2: VerbArgument, T3: VerbArgument, T4: VerbArgument, T5: VerbArgument, T6: VerbArgument, T7: VerbArgument, T8: VerbArgument, T9: VerbArgument, T10: VerbArgument, T11: VerbArgument, T12: VerbArgument, T13: VerbArgument, T14: VerbArgument, T15: VerbArgument, T16: VerbArgument,