Get all variants to eliminate the default branching if we cannot get the layout of type
This commit is contained in:
parent
08ae8380ce
commit
3d7f8b4e5b
9 changed files with 60 additions and 40 deletions
|
@ -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;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue