CallableVerb

Trait CallableVerb 

Source
pub trait CallableVerb<H, T>: Clone + 'static {
    // Required method
    fn call(&self, harness: &mut H, node: &T) -> Result<()>;
}
Expand description

Closure/functions that can be used as a Verb

This trait is implemented for closures with up to 16 arguments. They all have to be VerbArguments.

Required Methods§

Source

fn call(&self, harness: &mut H, node: &T) -> Result<()>

Call the underlying closure

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> CallableVerb<H, ((),)> for F
where F: Fn(&mut H) -> Result<()> + Clone + 'static,

Source§

impl<H, F, A> CallableVerb<H, ((), A)> for F
where F: Fn(&mut H, ((), A)) -> Result<()> + Clone + 'static, A: ParseArguments<H>,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<H, F, T1, T2, T3, T4, T5, T6> CallableVerb<H, (T1, T2, T3, T4, T5, T6)> for F
where F: Fn(&mut H, T1, T2, T3, T4, T5, T6) -> Result<()> + 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> CallableVerb<H, (T1, T2, T3, T4, T5, T6, T7)> for F
where F: Fn(&mut H, T1, T2, T3, T4, T5, T6, T7) -> Result<()> + 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> CallableVerb<H, (T1, T2, T3, T4, T5, T6, T7, T8)> for F
where F: Fn(&mut H, T1, T2, T3, T4, T5, T6, T7, T8) -> Result<()> + 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> CallableVerb<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9)> for F
where F: Fn(&mut H, T1, T2, T3, T4, T5, T6, T7, T8, T9) -> Result<()> + 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> CallableVerb<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for F
where F: Fn(&mut H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) -> Result<()> + 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> CallableVerb<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for F
where F: Fn(&mut H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) -> Result<()> + 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> CallableVerb<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for F
where F: Fn(&mut H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> Result<()> + 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> CallableVerb<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> for F
where F: Fn(&mut H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) -> Result<()> + 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> CallableVerb<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> for F
where F: Fn(&mut H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) -> Result<()> + 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> CallableVerb<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> for F
where F: Fn(&mut H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) -> Result<()> + 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> CallableVerb<H, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F
where F: Fn(&mut H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Result<()> + 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,