Type Alias gluon_vm::channel::ChannelRecord

source ·
pub type ChannelRecord<S, R> = Record<HNil, HCons<(sender, S), HCons<(receiver, R), HNil>>>;

Aliased Type§

struct ChannelRecord<S, R> {
    pub type_fields: HNil,
    pub fields: HCons<(sender, S), HCons<(receiver, R), HNil>>,
}

Fields§

§type_fields: HNil§fields: HCons<(sender, S), HCons<(receiver, R), HNil>>

Trait Implementations§

source§

impl<'vm, 'value, T, U> Getable<'vm, 'value> for Record<T, U>where T: Default, U: GetableFieldList<'vm, 'value>,

§

type Proxy = Variants<'value>

source§

fn to_proxy(_vm: &'vm Thread, value: Variants<'value>) -> Result<Self::Proxy>

source§

fn from_proxy(vm: &'vm Thread, proxy: &'value mut Self::Proxy) -> Self

source§

fn from_value(vm: &'vm Thread, value: Variants<'value>) -> Self

source§

impl<'vm, T, U> Pushable<'vm> for Record<T, U>where U: PushableFieldList<'vm>,

source§

fn vm_push(self, context: &mut ActiveThread<'vm>) -> 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
source§

fn status_push(self, context: &mut ActiveThread<'vm>) -> Statuswhere Self: Sized,

source§

unsafe fn marshal_unrooted(self, vm: &'vm Thread) -> Result<Value>where Self: Sized,

source§

fn marshal<T>(self, vm: &'vm Thread) -> Result<RootedValue<T>>where Self: Sized, T: VmRoot<'vm>,

source§

impl<T: FieldTypes, U: FieldValues> VmType for Record<T, U>

§

type Type = Record<<T as FieldTypes>::Type, <U as FieldValues>::Type>

A version of Self which implements Any allowing a TypeId to be retrieved
source§

fn make_type(vm: &Thread) -> ArcType

Creates an gluon type which maps to Self in rust
source§

fn make_forall_type(vm: &Thread) -> ArcType

source§

const EXTRA_ARGS: VmIndex = 0u32

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