about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2020-02-24 23:22:46 +0900
committerYuki Okushi <huyuumi.dev@gmail.com>2020-02-25 00:22:01 +0900
commita211a82b3c7e450edd99ff6d3cf77a0cedae0d2e (patch)
tree5a9c254d7b337086d334f4e1d39c185e0dbf0e21 /src
parentf85b0c456f763a70a8eae0e4a9daf6a4005ef87a (diff)
downloadrust-a211a82b3c7e450edd99ff6d3cf77a0cedae0d2e.tar.gz
rust-a211a82b3c7e450edd99ff6d3cf77a0cedae0d2e.zip
Address review comment
Diffstat (limited to 'src')
-rw-r--r--src/librustc_save_analysis/lib.rs22
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,
                     _ => {