Return Ok(false) instead of throwing when handling a diverging intrinsic
This commit is contained in:
parent
68d9853985
commit
c0b972abfa
@ -95,11 +95,10 @@ pub fn emulate_intrinsic(
|
||||
) -> InterpResult<'tcx, bool> {
|
||||
let substs = instance.substs;
|
||||
|
||||
// The intrinsic itself cannot diverge, so if we got here without a return
|
||||
// place... (can happen e.g., for transmute returning `!`)
|
||||
// We currently do not handle any diverging intrinsics.
|
||||
let dest = match dest {
|
||||
Some(dest) => dest,
|
||||
None => throw_ub!(Unreachable)
|
||||
None => return Ok(false)
|
||||
};
|
||||
let intrinsic_name = &*self.tcx.item_name(instance.def_id()).as_str();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user