interpret: read_discriminant: only return VariantIdx
This commit is contained in:
@@ -101,7 +101,7 @@ pub(crate) fn try_destructure_mir_constant_for_diagnostics<'tcx>(
|
||||
return None;
|
||||
}
|
||||
ty::Adt(def, _) => {
|
||||
let variant = ecx.read_discriminant(&op).ok()?.1;
|
||||
let variant = ecx.read_discriminant(&op).ok()?;
|
||||
let down = ecx.project_downcast(&op, variant).ok()?;
|
||||
(def.variants()[variant].fields.len(), Some(variant), down)
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ pub(crate) fn const_to_valtree_inner<'tcx>(
|
||||
bug!("uninhabited types should have errored and never gotten converted to valtree")
|
||||
}
|
||||
|
||||
let Ok((_, variant)) = ecx.read_discriminant(&place.into()) else {
|
||||
let Ok(variant) = ecx.read_discriminant(&place.into()) else {
|
||||
return Err(ValTreeCreationError::Other);
|
||||
};
|
||||
branches(ecx, place, def.variant(variant).fields.len(), def.is_enum().then_some(variant), num_nodes)
|
||||
|
||||
Reference in New Issue
Block a user