pub struct TryEntry {
pub start: u32,
pub end: u32,
pub depth: u16,
pub catches: Vec<CatchEntry>,
pub finally: Option<u32>,
pub pending_value: Option<u16>,
pub pending_error: Option<u16>,
}Expand description
A static handler table entry: the protected range [start, end) and
its catch/finally regions. Registered outermost-first, so the machine’s
reverse-order search finds the innermost covering entry.
Fields§
§start: u32§end: u32§depth: u16Operand-stack height at try entry; the machine truncates to this on unwind. Patched in after stack analysis and verified by validation.
catches: Vec<CatchEntry>§finally: Option<u32>§pending_value: Option<u16>Hidden slots holding the pending result (a value or an error
message string) and the error flag; present exactly when finally
is present.
pending_error: Option<u16>Trait Implementations§
Auto Trait Implementations§
impl Freeze for TryEntry
impl RefUnwindSafe for TryEntry
impl Send for TryEntry
impl Sync for TryEntry
impl Unpin for TryEntry
impl UnsafeUnpin for TryEntry
impl UnwindSafe for TryEntry
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more