pub struct OptionalRuntimeObserver<'o>(pub Option<&'o mut dyn RuntimeObserver>);Expand description
Runtime observer that is optimised for the case where no observer is being used.
The trait RuntimeObserver is implemented on the Optional
Tuple Fields§
§0: Option<&'o mut dyn RuntimeObserver>Trait Implementations§
Source§impl<'o> From<&'o mut dyn RuntimeObserver> for OptionalRuntimeObserver<'o>
impl<'o> From<&'o mut dyn RuntimeObserver> for OptionalRuntimeObserver<'o>
Source§fn from(val: &'o mut dyn RuntimeObserver) -> Self
fn from(val: &'o mut dyn RuntimeObserver) -> Self
Converts to this type from the input type.
Source§impl<'o> RuntimeObserver for OptionalRuntimeObserver<'o>
impl<'o> RuntimeObserver for OptionalRuntimeObserver<'o>
Source§fn observe_enter_call_frame(
&mut self,
arg_count: usize,
lambda: &Rc<Lambda>,
call_depth: usize,
)
fn observe_enter_call_frame( &mut self, arg_count: usize, lambda: &Rc<Lambda>, call_depth: usize, )
Called when the runtime enters a new call frame.
Source§fn observe_exit_call_frame(&mut self, frame_at: usize, stack: &[Value])
fn observe_exit_call_frame(&mut self, frame_at: usize, stack: &[Value])
Called when the runtime exits a call frame.
Source§fn observe_suspend_call_frame(&mut self, frame_at: usize, stack: &[Value])
fn observe_suspend_call_frame(&mut self, frame_at: usize, stack: &[Value])
Called when the runtime suspends a call frame.
Source§fn observe_enter_generator(
&mut self,
frame_at: usize,
name: &str,
stack: &[Value],
)
fn observe_enter_generator( &mut self, frame_at: usize, name: &str, stack: &[Value], )
Called when the runtime enters a generator frame.
Source§fn observe_exit_generator(
&mut self,
frame_at: usize,
name: &str,
stack: &[Value],
)
fn observe_exit_generator( &mut self, frame_at: usize, name: &str, stack: &[Value], )
Called when the runtime exits a generator frame.
Source§fn observe_suspend_generator(
&mut self,
frame_at: usize,
name: &str,
stack: &[Value],
)
fn observe_suspend_generator( &mut self, frame_at: usize, name: &str, stack: &[Value], )
Called when the runtime suspends a generator frame.
Source§fn observe_generator_request(&mut self, name: &str, msg: &VMRequest)
fn observe_generator_request(&mut self, name: &str, msg: &VMRequest)
Called when a generator requests an action from the VM.
Source§fn observe_tail_call(&mut self, frame_at: usize, lambda: &Rc<Lambda>)
fn observe_tail_call(&mut self, frame_at: usize, lambda: &Rc<Lambda>)
Called when the runtime replaces the current call frame for a
tail call.
Source§fn observe_enter_builtin(&mut self, name: &'static str)
fn observe_enter_builtin(&mut self, name: &'static str)
Called when the runtime enters a builtin.
Source§fn observe_exit_builtin(&mut self, name: &'static str, stack: &[Value])
fn observe_exit_builtin(&mut self, name: &'static str, stack: &[Value])
Called when the runtime exits a builtin.
Auto Trait Implementations§
impl<'o> Freeze for OptionalRuntimeObserver<'o>
impl<'o> !RefUnwindSafe for OptionalRuntimeObserver<'o>
impl<'o> !Send for OptionalRuntimeObserver<'o>
impl<'o> !Sync for OptionalRuntimeObserver<'o>
impl<'o> Unpin for OptionalRuntimeObserver<'o>
impl<'o> !UnwindSafe for OptionalRuntimeObserver<'o>
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more