Trait ParseArguments

Source
pub trait ParseArguments<H>:
    Debug
    + Clone
    + Sized
    + 'static {
    // Required method
    fn parse(
        test_dsl: &TestDsl<H>,
        node: &KdlNode,
    ) -> Result<Self, TestErrorCase>;
}
Expand description

Types that can be parsed from a node as arguments

This includes both named/positional parameters as well as child nodes

Required Methods§

Source

fn parse(test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Do the parsing and return an instance

See VerbInstance and ConditionInstance for how to get an instance from a 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.

Implementations on Foreign Types§

Source§

impl<H> ParseArguments<H> for ((),)

Source§

fn parse(_test_dsl: &TestDsl<H>, _node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1> ParseArguments<H> for (T1,)
where T1: VerbArgument + 'static, (T1,): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2> ParseArguments<H> for (T1, T2)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, (T1, T2): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3> ParseArguments<H> for (T1, T2, T3)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, (T1, T2, T3): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4> ParseArguments<H> for (T1, T2, T3, T4)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, (T1, T2, T3, T4): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4, T5> ParseArguments<H> for (T1, T2, T3, T4, T5)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, T5: VerbArgument + 'static, (T1, T2, T3, T4, T5): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4, T5, T6> ParseArguments<H> for (T1, T2, T3, T4, T5, T6)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, T5: VerbArgument + 'static, T6: VerbArgument + 'static, (T1, T2, T3, T4, T5, T6): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4, T5, T6, T7> ParseArguments<H> for (T1, T2, T3, T4, T5, T6, T7)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, T5: VerbArgument + 'static, T6: VerbArgument + 'static, T7: VerbArgument + 'static, (T1, T2, T3, T4, T5, T6, T7): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4, T5, T6, T7, T8> ParseArguments<H> for (T1, T2, T3, T4, T5, T6, T7, T8)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, T5: VerbArgument + 'static, T6: VerbArgument + 'static, T7: VerbArgument + 'static, T8: VerbArgument + 'static, (T1, T2, T3, T4, T5, T6, T7, T8): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4, T5, T6, T7, T8, T9> ParseArguments<H> for (T1, T2, T3, T4, T5, T6, T7, T8, T9)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, T5: VerbArgument + 'static, T6: VerbArgument + 'static, T7: VerbArgument + 'static, T8: VerbArgument + 'static, T9: VerbArgument + 'static, (T1, T2, T3, T4, T5, T6, T7, T8, T9): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ParseArguments<H> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, T5: VerbArgument + 'static, T6: VerbArgument + 'static, T7: VerbArgument + 'static, T8: VerbArgument + 'static, T9: VerbArgument + 'static, T10: VerbArgument + 'static, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ParseArguments<H> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, T5: VerbArgument + 'static, T6: VerbArgument + 'static, T7: VerbArgument + 'static, T8: VerbArgument + 'static, T9: VerbArgument + 'static, T10: VerbArgument + 'static, T11: VerbArgument + 'static, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ParseArguments<H> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, T5: VerbArgument + 'static, T6: VerbArgument + 'static, T7: VerbArgument + 'static, T8: VerbArgument + 'static, T9: VerbArgument + 'static, T10: VerbArgument + 'static, T11: VerbArgument + 'static, T12: VerbArgument + 'static, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ParseArguments<H> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, T5: VerbArgument + 'static, T6: VerbArgument + 'static, T7: VerbArgument + 'static, T8: VerbArgument + 'static, T9: VerbArgument + 'static, T10: VerbArgument + 'static, T11: VerbArgument + 'static, T12: VerbArgument + 'static, T13: VerbArgument + 'static, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ParseArguments<H> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, T5: VerbArgument + 'static, T6: VerbArgument + 'static, T7: VerbArgument + 'static, T8: VerbArgument + 'static, T9: VerbArgument + 'static, T10: VerbArgument + 'static, T11: VerbArgument + 'static, T12: VerbArgument + 'static, T13: VerbArgument + 'static, T14: VerbArgument + 'static, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ParseArguments<H> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, T5: VerbArgument + 'static, T6: VerbArgument + 'static, T7: VerbArgument + 'static, T8: VerbArgument + 'static, T9: VerbArgument + 'static, T10: VerbArgument + 'static, T11: VerbArgument + 'static, T12: VerbArgument + 'static, T13: VerbArgument + 'static, T14: VerbArgument + 'static, T15: VerbArgument + 'static, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Source§

impl<H, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> ParseArguments<H> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)
where T1: VerbArgument + 'static, T2: VerbArgument + 'static, T3: VerbArgument + 'static, T4: VerbArgument + 'static, T5: VerbArgument + 'static, T6: VerbArgument + 'static, T7: VerbArgument + 'static, T8: VerbArgument + 'static, T9: VerbArgument + 'static, T10: VerbArgument + 'static, T11: VerbArgument + 'static, T12: VerbArgument + 'static, T13: VerbArgument + 'static, T14: VerbArgument + 'static, T15: VerbArgument + 'static, T16: VerbArgument + 'static, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16): Debug,

Source§

fn parse(_test_dsl: &TestDsl<H>, node: &KdlNode) -> Result<Self, TestErrorCase>

Implementors§

Source§

impl<H: 'static, A: ParseArguments<H>> ParseArguments<H> for ConditionChildren<H, A>

Source§

impl<H: 'static, A: ParseArguments<H>> ParseArguments<H> for VerbChildren<H, A>