[][src]Trait runestick::Function

pub trait Function<Args>: 'static + Copy + Send + Sync {
    type Return;
    fn args() -> usize;
fn fn_call(self, stack: &mut Stack, args: usize) -> Result<(), VmError>; }

Trait used to provide the function function.

Associated Types

type Return

The return type of the function.

Loading content...

Required methods

fn args() -> usize

Get the number of arguments.

fn fn_call(self, stack: &mut Stack, args: usize) -> Result<(), VmError>

Perform the vm call.

Loading content...

Implementors

impl<Func, Return> Function<()> for Func where
    Func: 'static + Copy + Send + Sync + Fn() -> Return,
    Return: ToValue
[src]

type Return = Return

impl<Func, Return, A> Function<(A,)> for Func where
    Func: 'static + Copy + Send + Sync + Fn(A) -> Return,
    Return: ToValue,
    A: UnsafeFromValue
[src]

type Return = Return

impl<Func, Return, B, A> Function<(B, A)> for Func where
    Func: 'static + Copy + Send + Sync + Fn(B, A) -> Return,
    Return: ToValue,
    B: UnsafeFromValue,
    A: UnsafeFromValue
[src]

type Return = Return

impl<Func, Return, C, B, A> Function<(C, B, A)> for Func where
    Func: 'static + Copy + Send + Sync + Fn(C, B, A) -> Return,
    Return: ToValue,
    C: UnsafeFromValue,
    B: UnsafeFromValue,
    A: UnsafeFromValue
[src]

type Return = Return

impl<Func, Return, D, C, B, A> Function<(D, C, B, A)> for Func where
    Func: 'static + Copy + Send + Sync + Fn(D, C, B, A) -> Return,
    Return: ToValue,
    D: UnsafeFromValue,
    C: UnsafeFromValue,
    B: UnsafeFromValue,
    A: UnsafeFromValue
[src]

type Return = Return

impl<Func, Return, E, D, C, B, A> Function<(E, D, C, B, A)> for Func where
    Func: 'static + Copy + Send + Sync + Fn(E, D, C, B, A) -> Return,
    Return: ToValue,
    E: UnsafeFromValue,
    D: UnsafeFromValue,
    C: UnsafeFromValue,
    B: UnsafeFromValue,
    A: UnsafeFromValue
[src]

type Return = Return

impl<Func, Return, F, E, D, C, B, A> Function<(F, E, D, C, B, A)> for Func where
    Func: 'static + Copy + Send + Sync + Fn(F, E, D, C, B, A) -> Return,
    Return: ToValue,
    F: UnsafeFromValue,
    E: UnsafeFromValue,
    D: UnsafeFromValue,
    C: UnsafeFromValue,
    B: UnsafeFromValue,
    A: UnsafeFromValue
[src]

type Return = Return

impl<Func, Return, G, F, E, D, C, B, A> Function<(G, F, E, D, C, B, A)> for Func where
    Func: 'static + Copy + Send + Sync + Fn(G, F, E, D, C, B, A) -> Return,
    Return: ToValue,
    G: UnsafeFromValue,
    F: UnsafeFromValue,
    E: UnsafeFromValue,
    D: UnsafeFromValue,
    C: UnsafeFromValue,
    B: UnsafeFromValue,
    A: UnsafeFromValue
[src]

type Return = Return

impl<Func, Return, H, G, F, E, D, C, B, A> Function<(H, G, F, E, D, C, B, A)> for Func where
    Func: 'static + Copy + Send + Sync + Fn(H, G, F, E, D, C, B, A) -> Return,
    Return: ToValue,
    H: UnsafeFromValue,
    G: UnsafeFromValue,
    F: UnsafeFromValue,
    E: UnsafeFromValue,
    D: UnsafeFromValue,
    C: UnsafeFromValue,
    B: UnsafeFromValue,
    A: UnsafeFromValue
[src]

type Return = Return

Loading content...