struct PartialControlRegion {
    structured_body_holder: Option<ControlRegion>,
    deferred_edges: DeferredEdgeBundleSet,
}
Expand description

Partially structurized ControlRegion, the result of combining together several smaller ControlRegions, based on CFG edges between them.

Fields§

§structured_body_holder: Option<ControlRegion>§deferred_edges: DeferredEdgeBundleSet

The transitive targets which can’t be claimed into the ControlRegion remain as deferred exits, and will blocking further structurization until all other edges to those same targets are gathered together.

Note: this will only be empty if the ControlRegion never exits, i.e. it has divergent control-flow (such as an infinite loop), as any control-flow path that can (eventually) return from the function, will end up using a deferred target for that (see DeferredTarget::Return).

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.