Trait spaik::Args

source ·
pub trait Args {
    // Required methods
    fn pusharg(self, mem: &mut Arena) -> Result<()>;
    fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>;
    fn nargs(&self) -> usize;
}

Required Methods§

source

fn pusharg(self, mem: &mut Arena) -> Result<()>

source

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source

fn nargs(&self) -> usize

Implementations on Foreign Types§

source§

impl<const N: usize> Args for &[PV; N]

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl<X, Y, Z, W, A, B, C, D, E, F, G, H> Args for (X, Y, Z, W, A, B, C, D, E, F, G, H)where X: IntoLisp + RefIntoLisp, Y: IntoLisp + RefIntoLisp, Z: IntoLisp + RefIntoLisp, W: IntoLisp + RefIntoLisp, A: IntoLisp + RefIntoLisp, B: IntoLisp + RefIntoLisp, C: IntoLisp + RefIntoLisp, D: IntoLisp + RefIntoLisp, E: IntoLisp + RefIntoLisp, F: IntoLisp + RefIntoLisp, G: IntoLisp + RefIntoLisp, H: IntoLisp + RefIntoLisp,

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl<X, Y> Args for (X, Y)where X: IntoLisp + RefIntoLisp, Y: IntoLisp + RefIntoLisp,

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl<X, Y, Z, W> Args for (X, Y, Z, W)where X: IntoLisp + RefIntoLisp, Y: IntoLisp + RefIntoLisp, Z: IntoLisp + RefIntoLisp, W: IntoLisp + RefIntoLisp,

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl Args for &[PV]

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl<X, Y, Z, W, A> Args for (X, Y, Z, W, A)where X: IntoLisp + RefIntoLisp, Y: IntoLisp + RefIntoLisp, Z: IntoLisp + RefIntoLisp, W: IntoLisp + RefIntoLisp, A: IntoLisp + RefIntoLisp,

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl<X, Y, Z> Args for (X, Y, Z)where X: IntoLisp + RefIntoLisp, Y: IntoLisp + RefIntoLisp, Z: IntoLisp + RefIntoLisp,

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl<X, Y, Z, W, A, B, C, D> Args for (X, Y, Z, W, A, B, C, D)where X: IntoLisp + RefIntoLisp, Y: IntoLisp + RefIntoLisp, Z: IntoLisp + RefIntoLisp, W: IntoLisp + RefIntoLisp, A: IntoLisp + RefIntoLisp, B: IntoLisp + RefIntoLisp, C: IntoLisp + RefIntoLisp, D: IntoLisp + RefIntoLisp,

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl<X, Y, Z, W, A, B, C, D, E, F> Args for (X, Y, Z, W, A, B, C, D, E, F)where X: IntoLisp + RefIntoLisp, Y: IntoLisp + RefIntoLisp, Z: IntoLisp + RefIntoLisp, W: IntoLisp + RefIntoLisp, A: IntoLisp + RefIntoLisp, B: IntoLisp + RefIntoLisp, C: IntoLisp + RefIntoLisp, D: IntoLisp + RefIntoLisp, E: IntoLisp + RefIntoLisp, F: IntoLisp + RefIntoLisp,

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl<X, Y, Z, W, A, B, C> Args for (X, Y, Z, W, A, B, C)where X: IntoLisp + RefIntoLisp, Y: IntoLisp + RefIntoLisp, Z: IntoLisp + RefIntoLisp, W: IntoLisp + RefIntoLisp, A: IntoLisp + RefIntoLisp, B: IntoLisp + RefIntoLisp, C: IntoLisp + RefIntoLisp,

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl<X, Y, Z, W, A, B, C, D, E> Args for (X, Y, Z, W, A, B, C, D, E)where X: IntoLisp + RefIntoLisp, Y: IntoLisp + RefIntoLisp, Z: IntoLisp + RefIntoLisp, W: IntoLisp + RefIntoLisp, A: IntoLisp + RefIntoLisp, B: IntoLisp + RefIntoLisp, C: IntoLisp + RefIntoLisp, D: IntoLisp + RefIntoLisp, E: IntoLisp + RefIntoLisp,

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl Args for ()

source§

fn pusharg(self, _mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, _mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl<X, Y, Z, W, A, B> Args for (X, Y, Z, W, A, B)where X: IntoLisp + RefIntoLisp, Y: IntoLisp + RefIntoLisp, Z: IntoLisp + RefIntoLisp, W: IntoLisp + RefIntoLisp, A: IntoLisp + RefIntoLisp, B: IntoLisp + RefIntoLisp,

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl<X, Y, Z, W, A, B, C, D, E, F, G> Args for (X, Y, Z, W, A, B, C, D, E, F, G)where X: IntoLisp + RefIntoLisp, Y: IntoLisp + RefIntoLisp, Z: IntoLisp + RefIntoLisp, W: IntoLisp + RefIntoLisp, A: IntoLisp + RefIntoLisp, B: IntoLisp + RefIntoLisp, C: IntoLisp + RefIntoLisp, D: IntoLisp + RefIntoLisp, E: IntoLisp + RefIntoLisp, F: IntoLisp + RefIntoLisp, G: IntoLisp + RefIntoLisp,

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

source§

impl<X> Args for (X,)where X: IntoLisp + RefIntoLisp,

source§

fn pusharg(self, mem: &mut Arena) -> Result<()>

source§

fn pusharg_ref(&self, mem: &mut Arena) -> Result<()>

source§

fn nargs(&self) -> usize

Implementors§