pub enum TerminatorEdges<'mir, 'tcx> {
None,
Single(BasicBlock),
Double(BasicBlock, BasicBlock),
AssignOnReturn {
return_: &'mir [BasicBlock],
cleanup: Option<BasicBlock>,
place: CallReturnPlaces<'mir, 'tcx>,
},
SwitchInt {
targets: &'mir SwitchTargets,
discr: &'mir Operand<'tcx>,
},
}Variants§
None
For terminators that have no successor, like return.
Single(BasicBlock)
For terminators that a single successor, like goto, and assert without cleanup block.
Double(BasicBlock, BasicBlock)
For terminators that two successors, assert with cleanup block and falseEdge.
AssignOnReturn
Special action for Yield, Call and InlineAsm terminators.
Fields
§
return_: &'mir [BasicBlock]§
cleanup: Option<BasicBlock>The cleanup block, if it exists.
§
place: CallReturnPlaces<'mir, 'tcx>SwitchInt
Special edge for SwitchInt.
Auto Trait Implementations§
impl<'mir, 'tcx> Freeze for TerminatorEdges<'mir, 'tcx>
impl<'mir, 'tcx> !RefUnwindSafe for TerminatorEdges<'mir, 'tcx>
impl<'mir, 'tcx> Send for TerminatorEdges<'mir, 'tcx>
impl<'mir, 'tcx> Sync for TerminatorEdges<'mir, 'tcx>
impl<'mir, 'tcx> Unpin for TerminatorEdges<'mir, 'tcx>
impl<'mir, 'tcx> !UnwindSafe for TerminatorEdges<'mir, 'tcx>
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