1
Fork 0

Get all variants to eliminate the default branching if we cannot get the layout of type

This commit is contained in:
DianQK 2024-02-14 12:09:28 +08:00
parent 08ae8380ce
commit 3d7f8b4e5b
No known key found for this signature in database
GPG key ID: 46BDB1AC96C48912
9 changed files with 60 additions and 40 deletions

View file

@ -95,6 +95,12 @@ impl<'tcx> MirPass<'tcx> for UninhabitedEnumBranching {
let mut allowed_variants = if let Ok(layout) = layout {
variant_discriminants(&layout, discriminant_ty, tcx)
} else if let Some(variant_range) = discriminant_ty.variant_range(tcx) {
variant_range
.map(|variant| {
discriminant_ty.discriminant_for_variant(tcx, variant).unwrap().val
})
.collect()
} else {
continue;
};