pub struct SimpleFunction { /* private fields */ }Expand description
A function implemented by a plain function pointer plus its descriptor.
This is the explicit registration mechanism used by the numerical modules:
no macro framework, no hidden behaviour. The descriptor is the
authoritative schema; the engine validates arguments against it before
Function::invoke is called.
Implementations§
Source§impl SimpleFunction
impl SimpleFunction
pub fn new( descriptor: FunctionDescriptor, invoke: fn(&Args, &ExecContext) -> Result<Outcome, EngineError>, ) -> SimpleFunction
pub fn arc( descriptor: FunctionDescriptor, invoke: fn(&Args, &ExecContext) -> Result<Outcome, EngineError>, ) -> Arc<dyn Function> ⓘ
Trait Implementations§
Source§impl Function for SimpleFunction
impl Function for SimpleFunction
fn descriptor(&self) -> &FunctionDescriptor
fn invoke(&self, args: &Args, ctx: &ExecContext) -> Result<Outcome, EngineError>
Auto Trait Implementations§
impl Freeze for SimpleFunction
impl RefUnwindSafe for SimpleFunction
impl Send for SimpleFunction
impl Sync for SimpleFunction
impl Unpin for SimpleFunction
impl UnsafeUnpin for SimpleFunction
impl UnwindSafe for SimpleFunction
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