pub struct Callback<'gc>(/* private fields */);
Implementations§
Source§impl<'gc> Callback<'gc>
impl<'gc> Callback<'gc>
pub fn new<C: CallbackFn<'gc> + 'gc>(mc: &Mutation<'gc>, callback: C) -> Self
pub fn from_fn<F>(mc: &Mutation<'gc>, call: F) -> Callback<'gc>
pub fn from_fn_with<R, F>(mc: &Mutation<'gc>, root: R, call: F) -> Callback<'gc>
pub fn from_inner(inner: Gc<'gc, CallbackInner<'gc>>) -> Self
pub fn into_inner(self) -> Gc<'gc, CallbackInner<'gc>>
pub fn call( self, ctx: Context<'gc>, exec: Execution<'gc, '_>, stack: Stack<'gc, '_>, ) -> Result<CallbackReturn<'gc>, Error<'gc>>
Trait Implementations§
Source§impl<'gc> Collect for Callback<'gc>
impl<'gc> Collect for Callback<'gc>
Source§fn needs_trace() -> bool
fn needs_trace() -> bool
As an optimization, if this type can never hold a
Gc
pointer and trace
is unnecessary
to call, you may implement this method and return false. The default implementation returns
true, signaling that Collect::trace
must be called.Source§fn trace(&self, cc: &Collection)
fn trace(&self, cc: &Collection)
Must call
Collect::trace
on all held Gc
pointers. If this type holds inner types that
implement Collect
, a valid implementation would simply call Collect::trace
on all the
held values to ensure this.Source§impl<'a, 'gc> IntoValue<'gc> for &'a Callback<'gc>
impl<'a, 'gc> IntoValue<'gc> for &'a Callback<'gc>
fn into_value(self, ctx: Context<'gc>) -> Value<'gc>
Source§impl<'gc> IntoValue<'gc> for Callback<'gc>
impl<'gc> IntoValue<'gc> for Callback<'gc>
fn into_value(self, _: Context<'gc>) -> Value<'gc>
Source§impl<'gc> Stashable<'gc> for Callback<'gc>
impl<'gc> Stashable<'gc> for Callback<'gc>
type Stashed = StashedCallback
fn stash(self, roots: &DynamicRootSet<'gc>, mc: &Mutation<'gc>) -> Self::Stashed
impl<'gc> Copy for Callback<'gc>
impl<'gc> Eq for Callback<'gc>
Auto Trait Implementations§
impl<'gc> Freeze for Callback<'gc>
impl<'gc> !RefUnwindSafe for Callback<'gc>
impl<'gc> !Send for Callback<'gc>
impl<'gc> !Sync for Callback<'gc>
impl<'gc> Unpin for Callback<'gc>
impl<'gc> !UnwindSafe for Callback<'gc>
Blanket Implementations§
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