pub trait FromArgs: Sized {
    // Required method
    fn from_args(
        vm: &VirtualMachine,
        args: &mut FuncArgs
    ) -> Result<Self, ArgumentError>;

    // Provided method
    fn arity() -> RangeInclusive<usize> { ... }
}
Expand description

Implemented by any type that can be accepted as a parameter to a built-in function.

Required Methods§

source

fn from_args( vm: &VirtualMachine, args: &mut FuncArgs ) -> Result<Self, ArgumentError>

Extracts this item from the next argument(s).

Provided Methods§

source

fn arity() -> RangeInclusive<usize>

The range of positional arguments permitted by the function signature.

Returns an empty range if not applicable.

Implementations on Foreign Types§

source§

impl<A> FromArgs for (A,)where A: FromArgs,

source§

impl<A, B> FromArgs for (A, B)where A: FromArgs, B: FromArgs,

source§

impl<A, B, C, D, E, F, G> FromArgs for (A, B, C, D, E, F, G)where A: FromArgs, B: FromArgs, C: FromArgs, D: FromArgs, E: FromArgs, F: FromArgs, G: FromArgs,

source§

impl<A, B, C, D, E, F> FromArgs for (A, B, C, D, E, F)where A: FromArgs, B: FromArgs, C: FromArgs, D: FromArgs, E: FromArgs, F: FromArgs,

source§

impl<A, B, C> FromArgs for (A, B, C)where A: FromArgs, B: FromArgs, C: FromArgs,

source§

impl FromArgs for ()

source§

fn from_args( _vm: &VirtualMachine, _args: &mut FuncArgs ) -> Result<Self, ArgumentError>

source§

impl<A, B, C, D, E> FromArgs for (A, B, C, D, E)where A: FromArgs, B: FromArgs, C: FromArgs, D: FromArgs, E: FromArgs,

source§

impl<A, B, C, D, E, F, G, H> FromArgs for (A, B, C, D, E, F, G, H)where A: FromArgs, B: FromArgs, C: FromArgs, D: FromArgs, E: FromArgs, F: FromArgs, G: FromArgs, H: FromArgs,

source§

impl<A, B, C, D> FromArgs for (A, B, C, D)where A: FromArgs, B: FromArgs, C: FromArgs, D: FromArgs,

Implementors§

source§

impl FromArgs for OptionalRangeArgs

source§

impl FromArgs for TargetIsDirectory

source§

impl FromArgs for FuncArgs

source§

impl<T> FromArgs for OptionalArg<T>where T: TryFromObject,

source§

impl<T> FromArgs for KwArgs<T>where T: TryFromObject,

source§

impl<T> FromArgs for PosArgs<T>where T: TryFromObject,

source§

impl<T> FromArgs for Twhere T: TryFromObject,

source§

impl<const AVAILABLE: usize> FromArgs for DirFd<AVAILABLE>