minijinja::value

Trait FunctionArgs

Source
pub trait FunctionArgs<'a> {
    type Output;
}
Expand description

Helper trait representing valid filter, test and function arguments.

Since it’s more convenient to write filters and tests with concrete types instead of values, this helper trait exists to automatically perform this conversion. It is implemented for functions up to an arity of 5 parameters.

For each argument the conversion is performed via the ArgType trait which is implemented for many common types. For manual conversions the from_args utility should be used.

Required Associated Types§

Source

type Output

The output type of the function arguments.

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<'a> FunctionArgs<'a> for ()

Source§

impl<'a, A> FunctionArgs<'a> for (A,)
where A: ArgType<'a>,

Source§

type Output = (<A as ArgType<'a>>::Output,)

Source§

impl<'a, A, B> FunctionArgs<'a> for (A, B)
where A: ArgType<'a>, B: ArgType<'a>,

Source§

type Output = (<A as ArgType<'a>>::Output, <B as ArgType<'a>>::Output)

Source§

impl<'a, A, B, C> FunctionArgs<'a> for (A, B, C)
where A: ArgType<'a>, B: ArgType<'a>, C: ArgType<'a>,

Source§

type Output = (<A as ArgType<'a>>::Output, <B as ArgType<'a>>::Output, <C as ArgType<'a>>::Output)

Source§

impl<'a, A, B, C, D> FunctionArgs<'a> for (A, B, C, D)
where A: ArgType<'a>, B: ArgType<'a>, C: ArgType<'a>, D: ArgType<'a>,

Source§

type Output = (<A as ArgType<'a>>::Output, <B as ArgType<'a>>::Output, <C as ArgType<'a>>::Output, <D as ArgType<'a>>::Output)

Source§

impl<'a, A, B, C, D, E> FunctionArgs<'a> for (A, B, C, D, E)
where A: ArgType<'a>, B: ArgType<'a>, C: ArgType<'a>, D: ArgType<'a>, E: ArgType<'a>,

Source§

type Output = (<A as ArgType<'a>>::Output, <B as ArgType<'a>>::Output, <C as ArgType<'a>>::Output, <D as ArgType<'a>>::Output, <E as ArgType<'a>>::Output)

Implementors§