`ProjectionElem:::Downcast` is used when downcasting to a variant of
an enum or a generator, regardless of the number of variants.
from_end: bool,
},
- /// "Downcast" to a variant of an ADT. Currently, we only introduce
- /// this for ADTs with more than one variant. It may be better to
- /// just introduce it always, or always for enums.
+ /// "Downcast" to a variant of an enum or a generator.
///
/// The included Symbol is the name of the variant, used for printing MIR.
Downcast(Option<Symbol>, VariantIdx),
#[derive(Copy, Clone, Debug, TypeFoldable)]
pub struct PlaceTy<'tcx> {
pub ty: Ty<'tcx>,
- /// Downcast to a particular variant of an enum, if included.
+ /// Downcast to a particular variant of an enum or a generator, if included.
pub variant_index: Option<VariantIdx>,
}