Enum rustc_const_eval::interpret::eval_context::StackPopCleanup [−][src]
pub enum StackPopCleanup {
Goto {
ret: Option<BasicBlock>,
unwind: StackPopUnwind,
},
None {
cleanup: bool,
},
}Variants
Jump to the next block in the caller, or cause UB if None (that’s a function
that may never return). Also store layout of return place so
we can validate it at that layout.
ret stores the block we jump to on a normal return, while unwind
stores the block used for cleanup during unwinding.
Fields of Goto
ret: Option<BasicBlock>unwind: StackPopUnwindJust do nothing: Used by Main and for the box_alloc hook in miri.
cleanup says whether locals are deallocated. Static computation
wants them leaked to intern what they need (and just throw away
the entire ecx when it is done).
Fields of None
cleanup: boolTrait Implementations
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
Auto Trait Implementations
impl RefUnwindSafe for StackPopCleanup
impl Send for StackPopCleanup
impl Sync for StackPopCleanup
impl Unpin for StackPopCleanup
impl UnwindSafe for StackPopCleanup
Blanket Implementations
Mutably borrows from an owned value. Read more
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: 12 bytes
Size for each variant:
Goto: 11 bytesNone: 1 byte