Skip to content

Commit

Permalink
Store a Symbol instead of an Ident in VariantDef/FieldDef
Browse files Browse the repository at this point in the history
The field is also renamed from `ident` to `name. In most cases,
we don't actually need the `Span`. A new `ident` method is added
to `VariantDef` and `FieldDef`, which constructs the full `Ident`
using `tcx.def_ident_span()`. This method is used in the cases
where we actually need an `Ident`.

This makes incremental compilation properly track changes
to the `Span`, without all of the invalidations caused by storing
a `Span` directly via an `Ident`.
  • Loading branch information
Aaron1011 committed Jan 11, 2022
1 parent 1da0071 commit 409276c
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/debuginfo/mod.rs
Expand Up @@ -174,7 +174,7 @@ impl<'tcx> DebugContext<'tcx> {

field_entry.set(
gimli::DW_AT_name,
AttributeValue::String(field_def.ident.as_str().to_string().into_bytes()),
AttributeValue::String(field_def.name.as_str().to_string().into_bytes()),
);
field_entry.set(
gimli::DW_AT_data_member_location,
Expand Down

0 comments on commit 409276c

Please sign in to comment.