pub struct BasicBlock {
pub instructions: Vec<InstId>,
pub terminator: Option<Terminator>,
pub predecessors: SmallVec<[BlockId; 4]>,
}Expand description
A basic block in the MIR.
Fields§
§instructions: Vec<InstId>The instructions in this block (excluding the terminator).
terminator: Option<Terminator>The terminator instruction.
predecessors: SmallVec<[BlockId; 4]>Predecessor blocks.
Implementations§
Source§impl BasicBlock
impl BasicBlock
Sourcepub fn new() -> BasicBlock
pub fn new() -> BasicBlock
Creates a new empty basic block.
Sourcepub const fn is_terminated(&self) -> bool
pub const fn is_terminated(&self) -> bool
Returns true if this block has a terminator.
Sourcepub const fn terminator(&self) -> Option<&Terminator>
pub const fn terminator(&self) -> Option<&Terminator>
Returns the terminator, if present.
Trait Implementations§
Source§impl Clone for BasicBlock
impl Clone for BasicBlock
Source§fn clone(&self) -> BasicBlock
fn clone(&self) -> BasicBlock
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 BasicBlock
impl Debug for BasicBlock
Source§impl Default for BasicBlock
impl Default for BasicBlock
Source§fn default() -> BasicBlock
fn default() -> BasicBlock
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for BasicBlock
impl RefUnwindSafe for BasicBlock
impl Send for BasicBlock
impl Sync for BasicBlock
impl Unpin for BasicBlock
impl UnsafeUnpin for BasicBlock
impl UnwindSafe for BasicBlock
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, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
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