The `AggregateKind` enum ends up in the final mir `Body`. Currently, any changes to `AdtDef` (regardless of how significant they are) will legitimately cause the overall result of `optimized_mir` to change, invalidating any codegen re-use involving that mir. This will get worse once we start hashing the `Span` inside `FieldDef` (which is itself contained in `AdtDef`). To try to reduce these kinds of invalidations, this commit changes `AggregateKind::Adt` to store just the `DefId`, instead of the full `AdtDef`. This allows the result of `optimized_mir` to be unchanged if the `AdtDef` changes in a way that doesn't actually affect any of the MIR we build. |
||
|---|---|---|
| .. | ||
| back | ||
| coverageinfo | ||
| debuginfo | ||
| mir | ||
| traits | ||
| base.rs | ||
| common.rs | ||
| glue.rs | ||
| lib.rs | ||
| meth.rs | ||
| mono_item.rs | ||
| target_features.rs | ||