pub enum TerminatorKind {
Goto(BasicBlockId),
SwitchBool {
operand: Operand,
true_bb: BasicBlockId,
false_bb: BasicBlockId,
},
Call {
func: Operand,
args: Vec<Operand>,
destination: Place,
next: BasicBlockId,
},
Return,
Unreachable,
}Variants§
Goto(BasicBlockId)
Unconditional jump.
SwitchBool
Conditional branch.
Call
Function call.
Fields
§
next: BasicBlockIdBlock to jump to after the call returns.
Return
Return from function.
Unreachable
Unreachable (after diverging calls, infinite loops).
Trait Implementations§
Source§impl Clone for TerminatorKind
impl Clone for TerminatorKind
Source§fn clone(&self) -> TerminatorKind
fn clone(&self) -> TerminatorKind
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TerminatorKind
impl Debug for TerminatorKind
Source§impl PartialEq for TerminatorKind
impl PartialEq for TerminatorKind
impl StructuralPartialEq for TerminatorKind
Auto Trait Implementations§
impl Freeze for TerminatorKind
impl RefUnwindSafe for TerminatorKind
impl Send for TerminatorKind
impl Sync for TerminatorKind
impl Unpin for TerminatorKind
impl UnsafeUnpin for TerminatorKind
impl UnwindSafe for TerminatorKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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