Enum rustc_smir::stable_mir::mir::Statement
source · pub enum Statement {
Show 13 variants
Assign(Place, Rvalue),
FakeRead(FakeReadCause, Place),
SetDiscriminant {
place: Place,
variant_index: VariantIdx,
},
Deinit(Place),
StorageLive(Local),
StorageDead(Local),
Retag(RetagKind, Place),
PlaceMention(Place),
AscribeUserType {
place: Place,
projections: UserTypeProjection,
variance: Variance,
},
Coverage(Opaque),
Intrinsic(NonDivergingIntrinsic),
ConstEvalCounter,
Nop,
}Variants§
Assign(Place, Rvalue)
FakeRead(FakeReadCause, Place)
SetDiscriminant
Deinit(Place)
StorageLive(Local)
StorageDead(Local)
Retag(RetagKind, Place)
PlaceMention(Place)
AscribeUserType
Coverage(Opaque)
Intrinsic(NonDivergingIntrinsic)
ConstEvalCounter
Nop
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Statement
impl Send for Statement
impl Sync for Statement
impl Unpin for Statement
impl UnwindSafe for Statement
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
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:288 bytes
Size for each variant:
Assign: 240 bytesFakeRead: 72 bytesSetDiscriminant: 48 bytesDeinit: 40 bytesStorageLive: 16 bytesStorageDead: 16 bytesRetag: 48 bytesPlaceMention: 40 bytesAscribeUserType: 80 bytesCoverage: 32 bytesIntrinsic: 288 bytesConstEvalCounter: 0 bytesNop: 0 bytes