about summary refs log tree commit diff
path: root/clippy_lints/src/inconsistent_struct_constructor.rs
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
commitdda2aef64fb5b4903a28e5d4fb8d63483642cc6f (patch)
tree2d9a80aeff6475956dc45fdef35296ea34e7592e /clippy_lints/src/inconsistent_struct_constructor.rs
parentc8ea0420cb6ce2262a93a919c2bb70378f5cd3ae (diff)
downloadrust-dda2aef64fb5b4903a28e5d4fb8d63483642cc6f.tar.gz
rust-dda2aef64fb5b4903a28e5d4fb8d63483642cc6f.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 'clippy_lints/src/inconsistent_struct_constructor.rs')
-rw-r--r--clippy_lints/src/inconsistent_struct_constructor.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/clippy_lints/src/inconsistent_struct_constructor.rs b/clippy_lints/src/inconsistent_struct_constructor.rs
index 1debdef9d86..388bb3727f9 100644
--- a/clippy_lints/src/inconsistent_struct_constructor.rs
+++ b/clippy_lints/src/inconsistent_struct_constructor.rs
@@ -76,7 +76,7 @@ impl LateLintPass<'_> for InconsistentStructConstructor {
             then {
                 let mut def_order_map = FxHashMap::default();
                 for (idx, field) in variant.fields.iter().enumerate() {
-                    def_order_map.insert(field.ident.name, idx);
+                    def_order_map.insert(field.name, idx);
                 }
 
                 if is_consistent_order(fields, &def_order_map) {