diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-02-24 23:22:46 +0900 |
|---|---|---|
| committer | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-02-25 00:22:01 +0900 |
| commit | a211a82b3c7e450edd99ff6d3cf77a0cedae0d2e (patch) | |
| tree | 5a9c254d7b337086d334f4e1d39c185e0dbf0e21 /src | |
| parent | f85b0c456f763a70a8eae0e4a9daf6a4005ef87a (diff) | |
| download | rust-a211a82b3c7e450edd99ff6d3cf77a0cedae0d2e.tar.gz rust-a211a82b3c7e450edd99ff6d3cf77a0cedae0d2e.zip | |
Address review comment
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_save_analysis/lib.rs | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/librustc_save_analysis/lib.rs b/src/librustc_save_analysis/lib.rs index a46be2dcd82..22df31cc526 100644 --- a/src/librustc_save_analysis/lib.rs +++ b/src/librustc_save_analysis/lib.rs @@ -533,17 +533,17 @@ 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(); - if let Some(index) = self.tcx.find_field_index(ident, variant) { - 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), - })); - } - - None + 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: 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, _ => { |
