Type Alias gluon_vm::gc::mutex::LockResult
source · pub type LockResult<Guard> = Result<Guard, PoisonError<Guard>>;
Aliased Type§
enum LockResult<Guard> {
Ok(Guard),
Err(PoisonError<Guard>),
}
Variants§
Trait Implementations§
source§impl<'vm, 'value, T: Getable<'vm, 'value>, E: Getable<'vm, 'value>> Getable<'vm, 'value> for Result<T, E>
impl<'vm, 'value, T: Getable<'vm, 'value>, E: Getable<'vm, 'value>> Getable<'vm, 'value> for Result<T, E>
source§impl<'vm, T: Pushable<'vm>, E: Pushable<'vm>> Pushable<'vm> for Result<T, E>
impl<'vm, T: Pushable<'vm>, E: Pushable<'vm>> Pushable<'vm> for Result<T, E>
source§fn vm_push(self, context: &mut ActiveThread<'vm>) -> Result<()>
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 intactfn status_push(self, context: &mut ActiveThread<'vm>) -> Statuswhere Self: Sized,
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>,
source§impl<T: VmType, E: VmType> VmType for Result<T, E>where
T::Type: Sized,
E::Type: Sized,
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>
type Type = Result<<T as VmType>::Type, <E as VmType>::Type>
A version of
Self
which implements Any
allowing a TypeId
to be retrievedfn make_forall_type(vm: &Thread) -> ArcType
source§const EXTRA_ARGS: VmIndex = 0u32
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