red4ext_rs

Trait MethodInvocable

Source
pub trait MethodInvocable<Ctx, A, R>: Sealed<Ctx, A, R> {
    const FN_TYPE: FunctionType;

    // Required method
    fn invoke(
        self,
        ctx: &Ctx,
        frame: &mut StackFrame,
        ret: Option<&mut MaybeUninit<R>>,
    );
}
Expand description

A trait for functions that can be exported as class methods.

Required Associated Constants§

Required Methods§

Source

fn invoke( self, ctx: &Ctx, frame: &mut StackFrame, ret: Option<&mut MaybeUninit<R>>, )

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<Ctx, A, B, C, D, E, F, G, R, FN> MethodInvocable<Ctx, (A, B, C, D, E, F, G), <R as IntoRepr>::Repr> for FN
where FN: Fn(&Ctx, A, B, C, D, E, F, G) -> R, A: FromRepr, A::Repr: Default, B: FromRepr, B::Repr: Default, C: FromRepr, C::Repr: Default, D: FromRepr, D::Repr: Default, E: FromRepr, E::Repr: Default, F: FromRepr, F::Repr: Default, G: FromRepr, G::Repr: Default, R: IntoRepr,

Source§

impl<Ctx, A, B, C, D, E, F, R, FN> MethodInvocable<Ctx, (A, B, C, D, E, F), <R as IntoRepr>::Repr> for FN
where FN: Fn(&Ctx, A, B, C, D, E, F) -> R, A: FromRepr, A::Repr: Default, B: FromRepr, B::Repr: Default, C: FromRepr, C::Repr: Default, D: FromRepr, D::Repr: Default, E: FromRepr, E::Repr: Default, F: FromRepr, F::Repr: Default, R: IntoRepr,

Source§

impl<Ctx, A, B, C, D, E, R, FN> MethodInvocable<Ctx, (A, B, C, D, E), <R as IntoRepr>::Repr> for FN
where FN: Fn(&Ctx, A, B, C, D, E) -> R, A: FromRepr, A::Repr: Default, B: FromRepr, B::Repr: Default, C: FromRepr, C::Repr: Default, D: FromRepr, D::Repr: Default, E: FromRepr, E::Repr: Default, R: IntoRepr,

Source§

impl<Ctx, A, B, C, D, R, FN> MethodInvocable<Ctx, (A, B, C, D), <R as IntoRepr>::Repr> for FN
where FN: Fn(&Ctx, A, B, C, D) -> R, A: FromRepr, A::Repr: Default, B: FromRepr, B::Repr: Default, C: FromRepr, C::Repr: Default, D: FromRepr, D::Repr: Default, R: IntoRepr,

Source§

impl<Ctx, A, B, C, R, FN> MethodInvocable<Ctx, (A, B, C), <R as IntoRepr>::Repr> for FN
where FN: Fn(&Ctx, A, B, C) -> R, A: FromRepr, A::Repr: Default, B: FromRepr, B::Repr: Default, C: FromRepr, C::Repr: Default, R: IntoRepr,

Source§

impl<Ctx, A, B, R, FN> MethodInvocable<Ctx, (A, B), <R as IntoRepr>::Repr> for FN
where FN: Fn(&Ctx, A, B) -> R, A: FromRepr, A::Repr: Default, B: FromRepr, B::Repr: Default, R: IntoRepr,

Source§

impl<Ctx, A, R, FN> MethodInvocable<Ctx, (A,), <R as IntoRepr>::Repr> for FN
where FN: Fn(&Ctx, A) -> R, A: FromRepr, A::Repr: Default, R: IntoRepr,

Source§

impl<Ctx, R, FN> MethodInvocable<Ctx, (), <R as IntoRepr>::Repr> for FN
where FN: Fn(&Ctx) -> R, R: IntoRepr,