Closed
Description
This code looks like it is invoking the collector twice (link):
fn codegen_crate<'a, 'tcx>(
&self,
tcx: TyCtxt<'a, 'tcx, 'tcx>,
_rx: mpsc::Receiver<Box<dyn Any + Send>>
) -> Box<dyn Any> {
...
::rustc_mir::monomorphize::assert_symbols_are_distinct(tcx,
collector::collect_crate_mono_items(
tcx,
collector::MonoItemCollectionMode::Eager
).0.iter()
...
for mono_item in
collector::collect_crate_mono_items(
tcx,
collector::MonoItemCollectionMode::Eager
).0 {
...
}
}
Per a quick conversation on Zulip, it seems like this is a bug. It should probably be invoking the collect_and_partition_mono_items
query.