pub struct PushToStack<Values>(pub Values);Expand description
Results to insert during the framework’s effect-application phase.
Apply supports tuples of arity 0–16 (including heterogeneous items) and
homogeneous arrays of any length. Values are inserted left to right, so the
last value becomes the top. Empty tuples/arrays insert nothing. The wrapper
owns values, not storage references, and does not apply itself automatically.
Tuple Fields§
§0: ValuesTrait Implementations§
Source§impl<Destination, A: StackValue, B: StackValue> Apply<PushToStack<(A, B)>> for Destination
impl<Destination, A: StackValue, B: StackValue> Apply<PushToStack<(A, B)>> for Destination
Source§fn apply(&mut self, effect: PushToStack<(A, B)>)
fn apply(&mut self, effect: PushToStack<(A, B)>)
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue> Apply<PushToStack<(A, B, C)>> for Destination
impl<Destination, A: StackValue, B: StackValue, C: StackValue> Apply<PushToStack<(A, B, C)>> for Destination
Source§fn apply(&mut self, effect: PushToStack<(A, B, C)>)
fn apply(&mut self, effect: PushToStack<(A, B, C)>)
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue> Apply<PushToStack<(A, B, C, D)>> for Destination
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue> Apply<PushToStack<(A, B, C, D)>> for Destination
Source§fn apply(&mut self, effect: PushToStack<(A, B, C, D)>)
fn apply(&mut self, effect: PushToStack<(A, B, C, D)>)
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue> Apply<PushToStack<(A, B, C, D, E)>> for Destination
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue> Apply<PushToStack<(A, B, C, D, E)>> for Destination
Source§fn apply(&mut self, effect: PushToStack<(A, B, C, D, E)>)
fn apply(&mut self, effect: PushToStack<(A, B, C, D, E)>)
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue> Apply<PushToStack<(A, B, C, D, E, F)>> for Destination
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue> Apply<PushToStack<(A, B, C, D, E, F)>> for Destination
Source§fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F)>)
fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F)>)
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G)>> for Destination
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G)>> for Destination
Source§fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F, G)>)
fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F, G)>)
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H)>> for Destination
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H)>> for Destination
Source§fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F, G, H)>)
fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F, G, H)>)
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I)>> for Destination
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I)>> for Destination
Source§fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F, G, H, I)>)
fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F, G, H, I)>)
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J)>> for Destination
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J)>> for Destination
Source§fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F, G, H, I, J)>)
fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F, G, H, I, J)>)
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue, K: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J, K)>> for Destination
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue, K: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J, K)>> for Destination
Source§fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F, G, H, I, J, K)>)
fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F, G, H, I, J, K)>)
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue, K: StackValue, L: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L)>> for Destinationwhere
Destination: PushStack<A::Storage> + PushStack<B::Storage> + PushStack<C::Storage> + PushStack<D::Storage> + PushStack<E::Storage> + PushStack<F::Storage> + PushStack<G::Storage> + PushStack<H::Storage> + PushStack<I::Storage> + PushStack<J::Storage> + PushStack<K::Storage> + PushStack<L::Storage> + Sized,
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue, K: StackValue, L: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L)>> for Destinationwhere
Destination: PushStack<A::Storage> + PushStack<B::Storage> + PushStack<C::Storage> + PushStack<D::Storage> + PushStack<E::Storage> + PushStack<F::Storage> + PushStack<G::Storage> + PushStack<H::Storage> + PushStack<I::Storage> + PushStack<J::Storage> + PushStack<K::Storage> + PushStack<L::Storage> + Sized,
Source§fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L)>)
fn apply(&mut self, effect: PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L)>)
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue, K: StackValue, L: StackValue, M: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M)>> for Destinationwhere
Destination: PushStack<A::Storage> + PushStack<B::Storage> + PushStack<C::Storage> + PushStack<D::Storage> + PushStack<E::Storage> + PushStack<F::Storage> + PushStack<G::Storage> + PushStack<H::Storage> + PushStack<I::Storage> + PushStack<J::Storage> + PushStack<K::Storage> + PushStack<L::Storage> + PushStack<M::Storage> + Sized,
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue, K: StackValue, L: StackValue, M: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M)>> for Destinationwhere
Destination: PushStack<A::Storage> + PushStack<B::Storage> + PushStack<C::Storage> + PushStack<D::Storage> + PushStack<E::Storage> + PushStack<F::Storage> + PushStack<G::Storage> + PushStack<H::Storage> + PushStack<I::Storage> + PushStack<J::Storage> + PushStack<K::Storage> + PushStack<L::Storage> + PushStack<M::Storage> + Sized,
Source§fn apply(
&mut self,
effect: PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M)>,
)
fn apply( &mut self, effect: PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M)>, )
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue, K: StackValue, L: StackValue, M: StackValue, N: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M, N)>> for Destinationwhere
Destination: PushStack<A::Storage> + PushStack<B::Storage> + PushStack<C::Storage> + PushStack<D::Storage> + PushStack<E::Storage> + PushStack<F::Storage> + PushStack<G::Storage> + PushStack<H::Storage> + PushStack<I::Storage> + PushStack<J::Storage> + PushStack<K::Storage> + PushStack<L::Storage> + PushStack<M::Storage> + PushStack<N::Storage> + Sized,
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue, K: StackValue, L: StackValue, M: StackValue, N: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M, N)>> for Destinationwhere
Destination: PushStack<A::Storage> + PushStack<B::Storage> + PushStack<C::Storage> + PushStack<D::Storage> + PushStack<E::Storage> + PushStack<F::Storage> + PushStack<G::Storage> + PushStack<H::Storage> + PushStack<I::Storage> + PushStack<J::Storage> + PushStack<K::Storage> + PushStack<L::Storage> + PushStack<M::Storage> + PushStack<N::Storage> + Sized,
Source§fn apply(
&mut self,
effect: PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M, N)>,
)
fn apply( &mut self, effect: PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M, N)>, )
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue, K: StackValue, L: StackValue, M: StackValue, N: StackValue, O: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)>> for Destinationwhere
Destination: PushStack<A::Storage> + PushStack<B::Storage> + PushStack<C::Storage> + PushStack<D::Storage> + PushStack<E::Storage> + PushStack<F::Storage> + PushStack<G::Storage> + PushStack<H::Storage> + PushStack<I::Storage> + PushStack<J::Storage> + PushStack<K::Storage> + PushStack<L::Storage> + PushStack<M::Storage> + PushStack<N::Storage> + PushStack<O::Storage> + Sized,
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue, K: StackValue, L: StackValue, M: StackValue, N: StackValue, O: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)>> for Destinationwhere
Destination: PushStack<A::Storage> + PushStack<B::Storage> + PushStack<C::Storage> + PushStack<D::Storage> + PushStack<E::Storage> + PushStack<F::Storage> + PushStack<G::Storage> + PushStack<H::Storage> + PushStack<I::Storage> + PushStack<J::Storage> + PushStack<K::Storage> + PushStack<L::Storage> + PushStack<M::Storage> + PushStack<N::Storage> + PushStack<O::Storage> + Sized,
Source§fn apply(
&mut self,
effect: PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)>,
)
fn apply( &mut self, effect: PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)>, )
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue, K: StackValue, L: StackValue, M: StackValue, N: StackValue, O: StackValue, P: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)>> for Destinationwhere
Destination: PushStack<A::Storage> + PushStack<B::Storage> + PushStack<C::Storage> + PushStack<D::Storage> + PushStack<E::Storage> + PushStack<F::Storage> + PushStack<G::Storage> + PushStack<H::Storage> + PushStack<I::Storage> + PushStack<J::Storage> + PushStack<K::Storage> + PushStack<L::Storage> + PushStack<M::Storage> + PushStack<N::Storage> + PushStack<O::Storage> + PushStack<P::Storage> + Sized,
impl<Destination, A: StackValue, B: StackValue, C: StackValue, D: StackValue, E: StackValue, F: StackValue, G: StackValue, H: StackValue, I: StackValue, J: StackValue, K: StackValue, L: StackValue, M: StackValue, N: StackValue, O: StackValue, P: StackValue> Apply<PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)>> for Destinationwhere
Destination: PushStack<A::Storage> + PushStack<B::Storage> + PushStack<C::Storage> + PushStack<D::Storage> + PushStack<E::Storage> + PushStack<F::Storage> + PushStack<G::Storage> + PushStack<H::Storage> + PushStack<I::Storage> + PushStack<J::Storage> + PushStack<K::Storage> + PushStack<L::Storage> + PushStack<M::Storage> + PushStack<N::Storage> + PushStack<O::Storage> + PushStack<P::Storage> + Sized,
Source§fn apply(
&mut self,
effect: PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)>,
)
fn apply( &mut self, effect: PushToStack<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)>, )
Apply a single effect to this destination.
Source§impl<Destination, A: StackValue> Apply<PushToStack<(A,)>> for Destination
impl<Destination, A: StackValue> Apply<PushToStack<(A,)>> for Destination
Source§fn apply(&mut self, effect: PushToStack<(A,)>)
fn apply(&mut self, effect: PushToStack<(A,)>)
Apply a single effect to this destination.
Source§impl<D, T: StackValue, const N: usize> Apply<PushToStack<[T; N]>> for D
impl<D, T: StackValue, const N: usize> Apply<PushToStack<[T; N]>> for D
Source§fn apply(&mut self, effect: PushToStack<[T; N]>)
fn apply(&mut self, effect: PushToStack<[T; N]>)
Apply a single effect to this destination.
Source§impl<Values: Clone> Clone for PushToStack<Values>
impl<Values: Clone> Clone for PushToStack<Values>
Source§fn clone(&self) -> PushToStack<Values>
fn clone(&self) -> PushToStack<Values>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<Values: Copy> Copy for PushToStack<Values>
Source§impl<Values: Debug> Debug for PushToStack<Values>
impl<Values: Debug> Debug for PushToStack<Values>
impl<Values: Eq> Eq for PushToStack<Values>
Source§impl<Values: PartialEq> PartialEq for PushToStack<Values>
impl<Values: PartialEq> PartialEq for PushToStack<Values>
impl<Values: PartialEq> StructuralPartialEq for PushToStack<Values>
Auto Trait Implementations§
impl<Values> Freeze for PushToStack<Values>where
Values: Freeze,
impl<Values> RefUnwindSafe for PushToStack<Values>where
Values: RefUnwindSafe,
impl<Values> Send for PushToStack<Values>where
Values: Send,
impl<Values> Sync for PushToStack<Values>where
Values: Sync,
impl<Values> Unpin for PushToStack<Values>where
Values: Unpin,
impl<Values> UnsafeUnpin for PushToStack<Values>where
Values: UnsafeUnpin,
impl<Values> UnwindSafe for PushToStack<Values>where
Values: UnwindSafe,
Blanket Implementations§
Source§impl<D> Apply<PushToStack<()>> for D
impl<D> Apply<PushToStack<()>> for D
Source§fn apply(&mut self, _: PushToStack<()>)
fn apply(&mut self, _: PushToStack<()>)
Apply a single effect to this destination.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<T> OrderedSeq<'_, T> for Twhere
T: Clone,
§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
§type Iter<'a> = Once<&'a T>
where
T: 'a
type Iter<'a> = Once<&'a T> where T: 'a
An iterator over the items within this container, by reference.
§fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
Check whether an item is contained within this sequence.
§fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
Convert an item of the sequence into a [
MaybeRef].