1
Fork 0

Document semantics of Deinit and SetDiscriminant MIR statements

This commit is contained in:
Jakob Degen 2022-04-05 17:22:31 -04:00
parent 9b6b1a625b
commit 4cbe13adab

View file

@ -1588,8 +1588,15 @@ pub enum StatementKind<'tcx> {
FakeRead(Box<(FakeReadCause, Place<'tcx>)>),
/// Write the discriminant for a variant to the enum Place.
///
/// This is permitted for both generators and ADTs. This does not necessarily write to the
/// entire place; instead, it writes to the minimum set of bytes as required by the layout for
/// the type.
SetDiscriminant { place: Box<Place<'tcx>>, variant_index: VariantIdx },
/// Deinitializes the place.
///
/// This writes `uninit` bytes to the entire place.
Deinit(Box<Place<'tcx>>),
/// Start a live range for the storage of the local.