The CStore maintains a cache of decoded item attributes which:
- is an instance of shared mutable state that we'd like to avoid and
- is largely unused at this point because item attributes are also cached via the
item_attrs query.
The remaining instances where the CrateMetadata::get_item_attrs() is called directly should not be performance critical. To solve this issue:
- Remove the
attribute_cache field from CrateMetadata and make things compile again
- Open a PR so that we can due a performance test in order to verify that this indeed does not regress compile times.
cc @rust-lang/wg-compiler-performance
The
CStoremaintains a cache of decoded item attributes which:item_attrsquery.The remaining instances where the
CrateMetadata::get_item_attrs()is called directly should not be performance critical. To solve this issue:attribute_cachefield fromCrateMetadataand make things compile againcc @rust-lang/wg-compiler-performance