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 have a single successor, like goto, and assert without a cleanup
block.
Double(BasicBlock, BasicBlock)
For terminators that have two successors, like assert with a 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.
Trait Implementations§
Source§impl<'mir, 'tcx> Clone for TerminatorEdges<'mir, 'tcx>
 
impl<'mir, 'tcx> Clone for TerminatorEdges<'mir, 'tcx>
Source§fn clone(&self) -> TerminatorEdges<'mir, 'tcx>
 
fn clone(&self) -> TerminatorEdges<'mir, 'tcx>
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<'mir, 'tcx> Debug for TerminatorEdges<'mir, 'tcx>
 
impl<'mir, 'tcx> Debug for TerminatorEdges<'mir, 'tcx>
impl<'mir, 'tcx> Copy for TerminatorEdges<'mir, 'tcx>
Auto Trait Implementations§
impl<'mir, 'tcx> DynSend for TerminatorEdges<'mir, 'tcx>
impl<'mir, 'tcx> DynSync for TerminatorEdges<'mir, 'tcx>
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<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
    T: Copy,
 
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
    T: Copy,
fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut T
fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = T>, ) -> &'tcx mut [T]
Source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
    T: Copy,
 
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
    T: Copy,
fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut T
fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = T>, ) -> &'tcx mut [T]
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, R> CollectAndApply<T, R> for T
 
impl<T, R> CollectAndApply<T, R> for T
Source§impl<T> Filterable for T
 
impl<T> Filterable for T
Source§fn filterable(
    self,
    filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
 
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
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 moreSource§impl<P> IntoQueryParam<P> for P
 
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
Source§impl<T> MaybeResult<T> for T
 
impl<T> MaybeResult<T> for T
Source§impl<T> Pointable for T
 
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
    U: UpcastFrom<I, T>,
 
impl<I, T, U> Upcast<I, U> for Twhere
    U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
 
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<Tcx, T> Value<Tcx> for Twhere
    Tcx: DepContext,
 
impl<Tcx, T> Value<Tcx> for Twhere
    Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed, ) -> T
Source§impl<T> WithSubscriber for T
 
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
 
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
 
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
    T: 'static,
impl<T> MaybeSendSync for 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: 48 bytes
Size for each variant:
None: 0 bytesSingle: 12 bytesDouble: 16 bytesAssignOnReturn: 48 bytesSwitchInt: 24 bytes