[−][src]Struct rustc_mir_build::build::scope::CachedBlock
Fields
unwind: Option<BasicBlock>The cached block for the cleanups-on-diverge path. This block contains code to run the current drop and all the preceding drops (i.e., those having lower index in Drop’s Scope drop array)
generator_drop: Option<BasicBlock>The cached block for unwinds during cleanups-on-generator-drop path
This is split from the standard unwind path here to prevent drop elaboration from creating drop flags that would have to be captured by the generator. I'm not sure how important this optimization is, but it is here.
Implementations
impl CachedBlock[src]
fn invalidate(&mut self)[src]
fn get(&self, generator_drop: bool) -> Option<BasicBlock>[src]
fn ref_mut(&mut self, generator_drop: bool) -> &mut Option<BasicBlock>[src]
Trait Implementations
impl Clone for CachedBlock[src]
fn clone(&self) -> CachedBlock[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Copy for CachedBlock[src]
impl Debug for CachedBlock[src]
impl Default for CachedBlock[src]
fn default() -> CachedBlock[src]
Auto Trait Implementations
impl RefUnwindSafe for CachedBlock
impl Send for CachedBlock
impl Sync for CachedBlock
impl Unpin for CachedBlock
impl UnwindSafe for CachedBlock
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,