diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2020-03-08 11:51:04 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-08 11:51:04 +0100 |
| commit | f459d2ed99f446a95dff044b980582895bd8782a (patch) | |
| tree | 3f2ad7be617da853a0cdb7393c92896ec10510a4 /src/librustc_save_analysis | |
| parent | f943349eafaa75a60c05b0c84dcdb771d0eae8c9 (diff) | |
| parent | 5307edce6faa5c675dc57a1dd3b4fdcbf1ebdc7d (diff) | |
| download | rust-f459d2ed99f446a95dff044b980582895bd8782a.tar.gz rust-f459d2ed99f446a95dff044b980582895bd8782a.zip | |
Rollup merge of #69422 - JohnTitor:remove-unwrap, r=Xanewok
Remove use of `unwrap()` from save-analysis Fix #69409, fix #69416
Diffstat (limited to 'src/librustc_save_analysis')
| -rw-r--r-- | src/librustc_save_analysis/lib.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/librustc_save_analysis/lib.rs b/src/librustc_save_analysis/lib.rs index ec251c224b6..88bfe7661e2 100644 --- a/src/librustc_save_analysis/lib.rs +++ b/src/librustc_save_analysis/lib.rs @@ -532,13 +532,16 @@ impl<'l, 'tcx> SaveContext<'l, 'tcx> { match self.tables.expr_ty_adjusted(&hir_node).kind { ty::Adt(def, _) if !def.is_enum() => { let variant = &def.non_enum_variant(); - let index = self.tcx.find_field_index(ident, variant).unwrap(); filter!(self.span_utils, ident.span); let span = self.span_from_span(ident.span); return Some(Data::RefData(Ref { kind: RefKind::Variable, span, - ref_id: id_from_def_id(variant.fields[index].did), + ref_id: self + .tcx + .find_field_index(ident, variant) + .map(|index| id_from_def_id(variant.fields[index].did)) + .unwrap_or_else(|| null_id()), })); } ty::Tuple(..) => None, |
