Closed
Description
There are various fields in the tcx of data that is not tracked for incremental compilation, or is tracked in an odd way. Here is a partial list:
- used_mut_nodes - Refactored used_mut_nodes #43945
- rvalue_promotable_to_static - remove or encapsulate the remaining non-query data in tcx #44501
- normalized_cache - remove or encapsulate the remaining non-query data in tcx #44501
- inhabitedness_cache - remove or encapsulate the remaining non-query data in tcx #44501
- trait_map - rustc: Make the
trait_map
of TyCtxt private #44162 - export_map - rustc: Make the
trait_map
of TyCtxt private #44162 - named_region_map - Migrate a slew of metadata methods to queries #44142
- specializes_cache - rustc: Remove
specialization_cache
in favor of a query #44157 - freevars - Migrate a slew of metadata methods to queries #44142
- maybe_unused_trait_imports - Migrate a slew of metadata methods to queries #44142
- maybe_unused_extern_crates - Migrate a slew of metadata methods to queries #44142
- used_unsafe - rustc: Remove the
used_unsafe
field on TyCtxt #44195 - stability - Migrate a slew of metadata methods to queries #44142
In each case, the idea would be to (at least to start) encapsulate the fields so that we are using queries to access those maps. I'll try to write up some mentoring instructions for each one later on.