tidy fixes
This commit is contained in:
parent
307798aa38
commit
aa3d40cd71
2 changed files with 6 additions and 4 deletions
|
@ -646,15 +646,18 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
||||||
} => {
|
} => {
|
||||||
let variants_start = niche_variants.start().as_u32() as u128;
|
let variants_start = niche_variants.start().as_u32() as u128;
|
||||||
let variants_end = niche_variants.end().as_u32() as u128;
|
let variants_end = niche_variants.end().as_u32() as u128;
|
||||||
let raw_discr = raw_discr.not_undef()
|
let raw_discr = raw_discr.not_undef().map_err(|_| {
|
||||||
.map_err(|_| InterpError::Unsupported(InvalidDiscriminant(ScalarMaybeUndef::Undef)))?;
|
InterpError::Unsupported(InvalidDiscriminant(ScalarMaybeUndef::Undef))
|
||||||
|
})?;
|
||||||
match raw_discr.to_bits_or_ptr(discr_val.layout.size, self) {
|
match raw_discr.to_bits_or_ptr(discr_val.layout.size, self) {
|
||||||
Err(ptr) => {
|
Err(ptr) => {
|
||||||
// The niche must be just 0 (which an inbounds pointer value never is)
|
// The niche must be just 0 (which an inbounds pointer value never is)
|
||||||
let ptr_valid = niche_start == 0 && variants_start == variants_end &&
|
let ptr_valid = niche_start == 0 && variants_start == variants_end &&
|
||||||
!self.memory.ptr_may_be_null(ptr);
|
!self.memory.ptr_may_be_null(ptr);
|
||||||
if !ptr_valid {
|
if !ptr_valid {
|
||||||
return err!(Unsupported(InvalidDiscriminant(raw_discr.erase_tag().into())));
|
return err!(Unsupported(InvalidDiscriminant(
|
||||||
|
raw_discr.erase_tag().into()
|
||||||
|
)));
|
||||||
}
|
}
|
||||||
(dataful_variant.as_u32() as u128, dataful_variant)
|
(dataful_variant.as_u32() as u128, dataful_variant)
|
||||||
},
|
},
|
||||||
|
|
|
@ -270,7 +270,6 @@ impl<'mir, 'tcx> ConstPropagator<'mir, 'tcx> {
|
||||||
| UndefinedBehaviour(_) => {},
|
| UndefinedBehaviour(_) => {},
|
||||||
| InvalidProgram(_) => {},
|
| InvalidProgram(_) => {},
|
||||||
| ResourceExhaustion(_) => {},
|
| ResourceExhaustion(_) => {},
|
||||||
|
|
||||||
| Panic(_)
|
| Panic(_)
|
||||||
=> {
|
=> {
|
||||||
diagnostic.report_as_lint(
|
diagnostic.report_as_lint(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue