Make UsageMap::get_user_items
infallible.
It's nicer this way.
This commit is contained in:
parent
d9c13cd453
commit
142075a9fb
2 changed files with 16 additions and 16 deletions
|
@ -231,8 +231,8 @@ impl<'tcx> UsageMap<'tcx> {
|
||||||
assert!(self.used_map.insert(user_item, used_items).is_none());
|
assert!(self.used_map.insert(user_item, used_items).is_none());
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_user_items(&self, item: MonoItem<'tcx>) -> Option<&[MonoItem<'tcx>]> {
|
pub fn get_user_items(&self, item: MonoItem<'tcx>) -> &[MonoItem<'tcx>] {
|
||||||
self.user_map.get(&item).map(|items| items.as_slice())
|
self.user_map.get(&item).map(|items| items.as_slice()).unwrap_or(&[])
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Internally iterate over all inlined items used by `item`.
|
/// Internally iterate over all inlined items used by `item`.
|
||||||
|
|
|
@ -495,20 +495,20 @@ fn internalize_symbols<'tcx>(
|
||||||
if !single_codegen_unit {
|
if !single_codegen_unit {
|
||||||
debug_assert_eq!(mono_item_placements[item], home_cgu);
|
debug_assert_eq!(mono_item_placements[item], home_cgu);
|
||||||
|
|
||||||
if let Some(user_items) = cx.usage_map.get_user_items(*item) {
|
if cx
|
||||||
if user_items
|
.usage_map
|
||||||
.iter()
|
.get_user_items(*item)
|
||||||
.filter_map(|user_item| {
|
.iter()
|
||||||
// Some user mono items might not have been
|
.filter_map(|user_item| {
|
||||||
// instantiated. We can safely ignore those.
|
// Some user mono items might not have been
|
||||||
mono_item_placements.get(user_item)
|
// instantiated. We can safely ignore those.
|
||||||
})
|
mono_item_placements.get(user_item)
|
||||||
.any(|placement| *placement != home_cgu)
|
})
|
||||||
{
|
.any(|placement| *placement != home_cgu)
|
||||||
// Found a user from another CGU, so skip to the next item
|
{
|
||||||
// without marking this one as internal.
|
// Found a user from another CGU, so skip to the next item
|
||||||
continue;
|
// without marking this one as internal.
|
||||||
}
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue