Struct gluon_vm::api::Primitive [−][src]
pub struct Primitive<F> { /* fields omitted */ }
Trait Implementations
impl<'vm, F: VmType> VmType for Primitive<F>
[src]
impl<'vm, F: VmType> VmType for Primitive<F>
type Type = F::Type
A version of Self
which implements Any
allowing a TypeId
to be retrieved
fn make_type(vm: &Thread) -> ArcType
[src]
fn make_type(vm: &Thread) -> ArcType
Creates an gluon type which maps to Self
in rust
fn make_forall_type(vm: &Thread) -> ArcType
[src]
fn make_forall_type(vm: &Thread) -> ArcType
fn extra_args() -> VmIndex
[src]
fn extra_args() -> VmIndex
How many extra arguments a function returning this type requires. Used for abstract types which when used in return position should act like they still need more arguments before they are called Read more
impl<'vm, F> Pushable<'vm> for Primitive<F> where
F: FunctionType + VmType,
[src]
impl<'vm, F> Pushable<'vm> for Primitive<F> where
F: FunctionType + VmType,
fn push(self, thread: &'vm Thread, context: &mut Context) -> Result<()>
[src]
fn push(self, thread: &'vm Thread, context: &mut Context) -> Result<()>
Pushes self
to stack
. If the call is successful a single element should have been added to the stack and Ok(())
should be returned. If the call is unsuccessful Status:Error
should be returned and the stack should be left intact Read more
fn status_push(self, vm: &'vm Thread, context: &mut Context) -> Status where
Self: Sized,
[src]
fn status_push(self, vm: &'vm Thread, context: &mut Context) -> Status where
Self: Sized,
unsafe fn marshal_unrooted(self, vm: &'vm Thread) -> Result<Value> where
Self: Sized,
[src]
unsafe fn marshal_unrooted(self, vm: &'vm Thread) -> Result<Value> where
Self: Sized,
fn marshal<T>(self, vm: &'vm Thread) -> Result<RootedValue<T>> where
Self: Sized,
T: VmRoot<'vm>,
[src]
fn marshal<T>(self, vm: &'vm Thread) -> Result<RootedValue<T>> where
Self: Sized,
T: VmRoot<'vm>,