[−][src]Trait gluon_vm::api::function::VmFunction
Trait which abstracts over types which can be called by being pulling the arguments it needs from the virtual machine's stack
Required methods
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
Implementations on Foreign Types
impl<'vm, 's, T: ?Sized> VmFunction<'vm> for &'s T where
T: VmFunction<'vm>,
[src]
T: VmFunction<'vm>,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, F: ?Sized> VmFunction<'vm> for Box<F> where
F: VmFunction<'vm>,
[src]
F: VmFunction<'vm>,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, R> VmFunction<'vm> for fn() -> R where
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, R> VmFunction<'vm> for dyn Fn() -> R where
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, R> VmFunction<'vm> for fn(_: A) -> R where
A: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, R> VmFunction<'vm> for dyn Fn(A) -> R where
A: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, B, R> VmFunction<'vm> for fn(_: A, _: B) -> R where
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, B, R> VmFunction<'vm> for dyn Fn(A, B) -> R where
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, B, C, R> VmFunction<'vm> for fn(_: A, _: B, _: C) -> R where
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, B, C, R> VmFunction<'vm> for dyn Fn(A, B, C) -> R where
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, B, C, D, R> VmFunction<'vm> for fn(_: A, _: B, _: C, _: D) -> R where
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, B, C, D, R> VmFunction<'vm> for dyn Fn(A, B, C, D) -> R where
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, B, C, D, E, R> VmFunction<'vm> for fn(_: A, _: B, _: C, _: D, _: E) -> R where
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
E: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
E: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, B, C, D, E, R> VmFunction<'vm> for dyn Fn(A, B, C, D, E) -> R where
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
E: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
E: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, B, C, D, E, F, R> VmFunction<'vm> for fn(_: A, _: B, _: C, _: D, _: E, _: F) -> R where
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
E: Getable<'vm, 'vm> + 'vm,
F: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
E: Getable<'vm, 'vm> + 'vm,
F: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, B, C, D, E, F, R> VmFunction<'vm> for dyn Fn(A, B, C, D, E, F) -> R where
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
E: Getable<'vm, 'vm> + 'vm,
F: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
E: Getable<'vm, 'vm> + 'vm,
F: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, B, C, D, E, F, G, R> VmFunction<'vm> for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> R where
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
E: Getable<'vm, 'vm> + 'vm,
F: Getable<'vm, 'vm> + 'vm,
G: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
E: Getable<'vm, 'vm> + 'vm,
F: Getable<'vm, 'vm> + 'vm,
G: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
fn unpack_and_call(&self, vm: &'vm Thread) -> Status
[src]
impl<'vm, A, B, C, D, E, F, G, R> VmFunction<'vm> for dyn Fn(A, B, C, D, E, F, G) -> R where
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
E: Getable<'vm, 'vm> + 'vm,
F: Getable<'vm, 'vm> + 'vm,
G: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,
[src]
A: Getable<'vm, 'vm> + 'vm,
B: Getable<'vm, 'vm> + 'vm,
C: Getable<'vm, 'vm> + 'vm,
D: Getable<'vm, 'vm> + 'vm,
E: Getable<'vm, 'vm> + 'vm,
F: Getable<'vm, 'vm> + 'vm,
G: Getable<'vm, 'vm> + 'vm,
R: AsyncPushable<'vm> + VmType + 'vm,