Struct yksom::vm::objects::Block[][src]

pub struct Block {
    pub inst: Val,
    pub func: Gc<Function>,
    pub upvars: Vec<Gc<UpVar>>,
    pub method_stack_base: usize,
}

Fields

inst: Val

This Block’s self val. XXX This should probably be part of the corresponding closure’s variables.

func: Gc<Function>upvars: Vec<Gc<UpVar>>method_stack_base: usize

For closures which perform a method return (i.e. they cause the method they are contained within to return), we have to reset the stack to the method’s stack base, so we have to cart that around with the Block.

Implementations

impl Block[src]

pub fn new(
    _: &mut VM,
    inst: Val,
    func: Gc<Function>,
    upvars: Vec<Gc<UpVar>>,
    method_stack_base: usize
) -> Val
[src]

Trait Implementations

impl Debug for Block[src]

impl NotUnboxable for Block[src]

impl Obj for Block[src]

impl StaticObjType for Block[src]

Auto Trait Implementations

impl !NoTrace for Block

impl !RefUnwindSafe for Block

impl Send for Block

impl !Sync for Block

impl Unpin for Block

impl !UnwindSafe for Block

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Err = <U as TryFrom<T>>::Err