pub type SalvageMacroResult<'ast> = SalvageResult<SpannedExpr<'ast, Symbol>, Error>;

Aliased Type§

enum SalvageMacroResult<'ast> {
    Ok(Spanned<Expr<'ast, Symbol>, ByteIndex>),
    Err(Salvage<Spanned<Expr<'ast, Symbol>, ByteIndex>, Error>),
}

Variants§

§1.0.0

Ok(Spanned<Expr<'ast, Symbol>, ByteIndex>)

Contains the success value

§1.0.0

Err(Salvage<Spanned<Expr<'ast, Symbol>, ByteIndex>, Error>)

Contains the error value

Trait Implementations§

source§

impl<'vm, 'value, T: Getable<'vm, 'value>, E: Getable<'vm, 'value>> Getable<'vm, 'value> for Result<T, E>

§

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>) -> StdResult<T, E>

source§

impl<'vm, T: Pushable<'vm>, E: Pushable<'vm>> Pushable<'vm> for Result<T, E>

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, E> Trace for Result<T, E>where T: Trace, E: Trace,

source§

unsafe fn root(&mut self)

source§

unsafe fn unroot(&mut self)

source§

fn trace(&self, gc: &mut Gc)

source§

impl<T: VmType, E: VmType> VmType for Result<T, E>where T::Type: Sized, E::Type: Sized,

§

type Type = Result<<T as VmType>::Type, <E as VmType>::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