detect External indices more generally in internalize_constant (#2395)

This commit is contained in:
Mark Thom
2024-04-29 14:23:14 -06:00
parent 9837187183
commit bcfa0219e2
2 changed files with 13 additions and 6 deletions

View File

@@ -1017,6 +1017,13 @@ fn generate_instruction_preface() -> TokenStream {
},
}
}
pub fn is_external(&self) -> bool {
matches!(
self,
IndexingCodePtr::External(_) | IndexingCodePtr::DynamicExternal(_)
)
}
}
impl IndexingInstruction {

View File

@@ -114,13 +114,13 @@ impl<'a> IndexingCodeMergingPtr<'a> {
Some(OptArgIndexKey::Literal(_, _, constant, _)) => {
constants.insert(*constant, constant_ptr);
}
_ if constant_ptr.is_external() => {
// this must be a defunct clause, because it's been deleted
// from the skeleton.
debug_assert!(constant_key.is_none());
}
_ => {
if let IndexingCodePtr::DynamicExternal(_) = constant_ptr {
// this must be a defunct clause, because it's been deleted
// from the skeleton.
} else {
unreachable!()
}
unreachable!()
}
}