pub struct IntrinsicsRegistry { /* private fields */ }Expand description
Global intrinsics registry
This registry holds all registered intrinsic functions and provides fast dispatch. It’s thread-safe and can be shared across contexts.
Implementations§
Source§impl IntrinsicsRegistry
impl IntrinsicsRegistry
Sourcepub fn register(&self, name: &str, func: IntrinsicFn)
pub fn register(&self, name: &str, func: IntrinsicFn)
Register a single intrinsic
Sourcepub fn call(
&self,
name: &str,
args: &[ValueWord],
ctx: &mut ExecutionContext,
) -> Result<ValueWord>
pub fn call( &self, name: &str, args: &[ValueWord], ctx: &mut ExecutionContext, ) -> Result<ValueWord>
Call an intrinsic function
Sourcepub fn is_intrinsic(&self, name: &str) -> bool
pub fn is_intrinsic(&self, name: &str) -> bool
Check if a function name is an intrinsic
Sourcepub fn list_intrinsics(&self) -> Vec<String>
pub fn list_intrinsics(&self) -> Vec<String>
Get list of all registered intrinsics
Trait Implementations§
Source§impl Clone for IntrinsicsRegistry
impl Clone for IntrinsicsRegistry
Source§fn clone(&self) -> IntrinsicsRegistry
fn clone(&self) -> IntrinsicsRegistry
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IntrinsicsRegistry
impl Debug for IntrinsicsRegistry
Auto Trait Implementations§
impl Freeze for IntrinsicsRegistry
impl !RefUnwindSafe for IntrinsicsRegistry
impl Send for IntrinsicsRegistry
impl Sync for IntrinsicsRegistry
impl Unpin for IntrinsicsRegistry
impl UnsafeUnpin for IntrinsicsRegistry
impl !UnwindSafe for IntrinsicsRegistry
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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