pub struct CachedArgs<T: EvalCached> { /* private fields */ }
Trait Implementations§
Source§impl<R: Rt, E: UserEvent, T: EvalCached> Apply<R, E> for CachedArgs<T>
impl<R: Rt, E: UserEvent, T: EvalCached> Apply<R, E> for CachedArgs<T>
fn update( &mut self, ctx: &mut ExecCtx<R, E>, from: &mut [Node<R, E>], event: &mut Event<E>, ) -> Option<Value>
Source§fn sleep(&mut self, _ctx: &mut ExecCtx<R, E>)
fn sleep(&mut self, _ctx: &mut ExecCtx<R, E>)
put the node to sleep, used in conditions like select for branches that
are not selected. Any cached values should be cleared on sleep.
Source§fn delete(&mut self, _ctx: &mut ExecCtx<R, E>)
fn delete(&mut self, _ctx: &mut ExecCtx<R, E>)
delete any internally generated nodes, only needed for
builtins that dynamically generate code at runtime
Source§fn typecheck(
&mut self,
_ctx: &mut ExecCtx<R, E>,
_from: &mut [Box<dyn Update<R, E>>],
) -> Result<(), Error>
fn typecheck( &mut self, _ctx: &mut ExecCtx<R, E>, _from: &mut [Box<dyn Update<R, E>>], ) -> Result<(), Error>
apply custom typechecking to the lambda, only needed for
builtins that take lambdas as arguments
Source§impl<R: Rt, E: UserEvent, T: EvalCached> BuiltIn<R, E> for CachedArgs<T>
impl<R: Rt, E: UserEvent, T: EvalCached> BuiltIn<R, E> for CachedArgs<T>
Auto Trait Implementations§
impl<T> Freeze for CachedArgs<T>where
T: Freeze,
impl<T> RefUnwindSafe for CachedArgs<T>where
T: RefUnwindSafe,
impl<T> Send for CachedArgs<T>
impl<T> Sync for CachedArgs<T>
impl<T> Unpin for CachedArgs<T>where
T: Unpin,
impl<T> UnwindSafe for CachedArgs<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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