diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-12-07 15:39:06 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-07 15:39:06 +0100 |
| commit | 3bcfa4c45940eb9d41493d9d64c0f1dbe7f14f08 (patch) | |
| tree | 8674f6b46d935cdcebb263920243734f7e0a0707 /compiler/rustc_passes | |
| parent | 91b8f34ac2272e3c94a97bebc033abe8e2f17101 (diff) | |
| parent | 1c81540206b10a2b5b709540ba5ac138eaaa5261 (diff) | |
| download | rust-3bcfa4c45940eb9d41493d9d64c0f1dbe7f14f08.tar.gz rust-3bcfa4c45940eb9d41493d9d64c0f1dbe7f14f08.zip | |
Rollup merge of #105267 - compiler-errors:issue-104613, r=oli-obk
Don't ICE in ExprUseVisitor on FRU for non-existent struct Fixes #104613 Fixes #105202
Diffstat (limited to 'compiler/rustc_passes')
| -rw-r--r-- | compiler/rustc_passes/src/dead.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/rustc_passes/src/dead.rs b/compiler/rustc_passes/src/dead.rs index da023fcf4c3..a71ae717a50 100644 --- a/compiler/rustc_passes/src/dead.rs +++ b/compiler/rustc_passes/src/dead.rs @@ -124,7 +124,7 @@ impl<'tcx> MarkSymbolVisitor<'tcx> { fn handle_field_access(&mut self, lhs: &hir::Expr<'_>, hir_id: hir::HirId) { match self.typeck_results().expr_ty_adjusted(lhs).kind() { ty::Adt(def, _) => { - let index = self.tcx.field_index(hir_id, self.typeck_results()); + let index = self.typeck_results().field_index(hir_id); self.insert_def_id(def.non_enum_variant().fields[index].did); } ty::Tuple(..) => {} @@ -208,7 +208,7 @@ impl<'tcx> MarkSymbolVisitor<'tcx> { if let PatKind::Wild = pat.pat.kind { continue; } - let index = self.tcx.field_index(pat.hir_id, self.typeck_results()); + let index = self.typeck_results().field_index(pat.hir_id); self.insert_def_id(variant.fields[index].did); } } @@ -341,7 +341,7 @@ impl<'tcx> MarkSymbolVisitor<'tcx> { fn mark_as_used_if_union(&mut self, adt: ty::AdtDef<'tcx>, fields: &[hir::ExprField<'_>]) { if adt.is_union() && adt.non_enum_variant().fields.len() > 1 && adt.did().is_local() { for field in fields { - let index = self.tcx.field_index(field.hir_id, self.typeck_results()); + let index = self.typeck_results().field_index(field.hir_id); self.insert_def_id(adt.non_enum_variant().fields[index].did); } } |
