pub(super) enum TransitionError {
ChildAccessForbidden(Permission),
ProtectedDisabled(Permission),
ProtectedDealloc,
}
Variants§
ChildAccessForbidden(Permission)
This access is not allowed because some parent tag has insufficient permissions.
For example, if a tag is Frozen
and encounters a child write this will
produce a ChildAccessForbidden(Frozen)
.
This kind of error can only occur on child accesses.
ProtectedDisabled(Permission)
A protector was triggered due to an invalid transition that loses
too much permissions.
For example, if a protected tag goes from Active
to Disabled
due
to a foreign write this will produce a ProtectedDisabled(Active)
.
This kind of error can only occur on foreign accesses.
ProtectedDealloc
Cannot deallocate because some tag in the allocation is strongly protected. This kind of error can only occur on deallocations.
Trait Implementations§
source§impl Clone for TransitionError
impl Clone for TransitionError
source§fn clone(&self) -> TransitionError
fn clone(&self) -> TransitionError
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for TransitionError
impl Debug for TransitionError
impl Copy for TransitionError
Auto Trait Implementations§
impl RefUnwindSafe for TransitionError
impl Send for TransitionError
impl Sync for TransitionError
impl Unpin for TransitionError
impl UnwindSafe for TransitionError
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 2 bytes
Size for each variant:
ChildAccessForbidden
: 1 byteProtectedDisabled
: 1 byteProtectedDealloc
: 0 bytes