about summary refs log tree commit diff
path: root/src/debuginfo
diff options
context:
space:
mode:
authorAaron Hill <aa1ronham@gmail.com>2022-01-02 22:37:05 -0500
committerAaron Hill <aa1ronham@gmail.com>2022-01-11 10:16:22 -0500
commit409276cf55a666932524d9d9dd9e0a0329364db3 (patch)
tree803f22193c848d7910c37ed72fa6b00848082b6e /src/debuginfo
parent1da0071338ba6387ef3d8c2063d0c9757e78519f (diff)
downloadrust-409276cf55a666932524d9d9dd9e0a0329364db3.tar.gz
rust-409276cf55a666932524d9d9dd9e0a0329364db3.zip
Store a `Symbol` instead of an `Ident` in `VariantDef`/`FieldDef`
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`.
Diffstat (limited to 'src/debuginfo')
-rw-r--r--src/debuginfo/mod.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/debuginfo/mod.rs b/src/debuginfo/mod.rs
index 638b025be22..8e203b8cfa0 100644
--- a/src/debuginfo/mod.rs
+++ b/src/debuginfo/mod.rs
@@ -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,