Trait runestick::GuardedArgs [−][src]
Trait for converting arguments onto the stack.
This can take references, because it is unsafe to call. And should only be implemented in contexts where it can be guaranteed that the references will not outlive the call.
Associated Types
Loading content...Required methods
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
Encode arguments onto a stack.
Safety
This is implemented for and allows encoding references on the stack. The returned guard must be dropped before any used references are invalidated.
fn count(&self) -> usize
[src]
The number of arguments.
Implementations on Foreign Types
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> GuardedArgs for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) where
A: UnsafeToValue,
B: UnsafeToValue,
C: UnsafeToValue,
D: UnsafeToValue,
E: UnsafeToValue,
F: UnsafeToValue,
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
A: UnsafeToValue,
B: UnsafeToValue,
C: UnsafeToValue,
D: UnsafeToValue,
E: UnsafeToValue,
F: UnsafeToValue,
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (A::Guard, B::Guard, C::Guard, D::Guard, E::Guard, F::Guard, G::Guard, H::Guard, I::Guard, J::Guard, K::Guard, L::Guard, M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> GuardedArgs for (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) where
B: UnsafeToValue,
C: UnsafeToValue,
D: UnsafeToValue,
E: UnsafeToValue,
F: UnsafeToValue,
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
B: UnsafeToValue,
C: UnsafeToValue,
D: UnsafeToValue,
E: UnsafeToValue,
F: UnsafeToValue,
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (B::Guard, C::Guard, D::Guard, E::Guard, F::Guard, G::Guard, H::Guard, I::Guard, J::Guard, K::Guard, L::Guard, M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<C, D, E, F, G, H, I, J, K, L, M, N, O, P> GuardedArgs for (C, D, E, F, G, H, I, J, K, L, M, N, O, P) where
C: UnsafeToValue,
D: UnsafeToValue,
E: UnsafeToValue,
F: UnsafeToValue,
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
C: UnsafeToValue,
D: UnsafeToValue,
E: UnsafeToValue,
F: UnsafeToValue,
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (C::Guard, D::Guard, E::Guard, F::Guard, G::Guard, H::Guard, I::Guard, J::Guard, K::Guard, L::Guard, M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<D, E, F, G, H, I, J, K, L, M, N, O, P> GuardedArgs for (D, E, F, G, H, I, J, K, L, M, N, O, P) where
D: UnsafeToValue,
E: UnsafeToValue,
F: UnsafeToValue,
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
D: UnsafeToValue,
E: UnsafeToValue,
F: UnsafeToValue,
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (D::Guard, E::Guard, F::Guard, G::Guard, H::Guard, I::Guard, J::Guard, K::Guard, L::Guard, M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<E, F, G, H, I, J, K, L, M, N, O, P> GuardedArgs for (E, F, G, H, I, J, K, L, M, N, O, P) where
E: UnsafeToValue,
F: UnsafeToValue,
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
E: UnsafeToValue,
F: UnsafeToValue,
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (E::Guard, F::Guard, G::Guard, H::Guard, I::Guard, J::Guard, K::Guard, L::Guard, M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<F, G, H, I, J, K, L, M, N, O, P> GuardedArgs for (F, G, H, I, J, K, L, M, N, O, P) where
F: UnsafeToValue,
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
F: UnsafeToValue,
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (F::Guard, G::Guard, H::Guard, I::Guard, J::Guard, K::Guard, L::Guard, M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<G, H, I, J, K, L, M, N, O, P> GuardedArgs for (G, H, I, J, K, L, M, N, O, P) where
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
G: UnsafeToValue,
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (G::Guard, H::Guard, I::Guard, J::Guard, K::Guard, L::Guard, M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<H, I, J, K, L, M, N, O, P> GuardedArgs for (H, I, J, K, L, M, N, O, P) where
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
H: UnsafeToValue,
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (H::Guard, I::Guard, J::Guard, K::Guard, L::Guard, M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<I, J, K, L, M, N, O, P> GuardedArgs for (I, J, K, L, M, N, O, P) where
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
I: UnsafeToValue,
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (I::Guard, J::Guard, K::Guard, L::Guard, M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<J, K, L, M, N, O, P> GuardedArgs for (J, K, L, M, N, O, P) where
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
J: UnsafeToValue,
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (J::Guard, K::Guard, L::Guard, M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<K, L, M, N, O, P> GuardedArgs for (K, L, M, N, O, P) where
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
K: UnsafeToValue,
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (K::Guard, L::Guard, M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<L, M, N, O, P> GuardedArgs for (L, M, N, O, P) where
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
L: UnsafeToValue,
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (L::Guard, M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<M, N, O, P> GuardedArgs for (M, N, O, P) where
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
M: UnsafeToValue,
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (M::Guard, N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<N, O, P> GuardedArgs for (N, O, P) where
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
[src]
N: UnsafeToValue,
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (N::Guard, O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<O, P> GuardedArgs for (O, P) where
O: UnsafeToValue,
P: UnsafeToValue,
[src]
O: UnsafeToValue,
P: UnsafeToValue,
type Guard = (O::Guard, P::Guard)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl<P> GuardedArgs for (P,) where
P: UnsafeToValue,
[src]
P: UnsafeToValue,
type Guard = (P::Guard,)
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
fn count(&self) -> usize
[src]
impl GuardedArgs for ()
[src]
type Guard = ()
unsafe fn unsafe_into_stack(
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>
[src]
self,
stack: &mut Stack
) -> Result<Self::Guard, VmError>