about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-06-15 09:02:31 +0000
committerbors <bors@rust-lang.org>2015-06-15 09:02:31 +0000
commit0d82fb55dbb9b28798ea7c2004fa91fe3ae23b86 (patch)
tree2aab8478f66bed0dc97012de5d19c9e64a122ea3 /src
parent7517ecf4fc9cfe2adff8a38ecc2ef660692a4b5b (diff)
parenta54bbac99af8240d78e161ac68653726c4ff27cc (diff)
downloadrust-0d82fb55dbb9b28798ea7c2004fa91fe3ae23b86.tar.gz
rust-0d82fb55dbb9b28798ea7c2004fa91fe3ae23b86.zip
Auto merge of #26307 - nrc:save-bugs, r=cmr
r? @brson (or anyone, really)
Diffstat (limited to 'src')
-rw-r--r--src/librustc_trans/save/mod.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/librustc_trans/save/mod.rs b/src/librustc_trans/save/mod.rs
index 380d6b0ee65..3ea628704eb 100644
--- a/src/librustc_trans/save/mod.rs
+++ b/src/librustc_trans/save/mod.rs
@@ -255,16 +255,17 @@ impl<'l, 'tcx: 'l> SaveContext<'l, 'tcx> {
                 match typ.node {
                     // Common case impl for a struct or something basic.
                     ast::TyPath(None, ref path) => {
-                        sub_span = self.span_utils.sub_span_for_type_name(path.span);
+                        sub_span = self.span_utils.sub_span_for_type_name(path.span).unwrap();
                         type_data = self.lookup_ref_id(typ.id).map(|id| TypeRefData {
-                            span: sub_span.unwrap(),
+                            span: sub_span,
                             scope: parent,
                             ref_id: id,
                         });
                     },
                     _ => {
                         // Less useful case, impl for a compound type.
-                        sub_span = self.span_utils.sub_span_for_type_name(typ.span);
+                        let span = typ.span;
+                        sub_span = self.span_utils.sub_span_for_type_name(span).unwrap_or(span);
                     }
                 }
 
@@ -273,7 +274,7 @@ impl<'l, 'tcx: 'l> SaveContext<'l, 'tcx> {
 
                 Data::ImplData(ImplData {
                     id: item.id,
-                    span: sub_span.unwrap(),
+                    span: sub_span,
                     scope: parent,
                     trait_ref: trait_data,
                     self_ref: type_data,
@@ -320,9 +321,10 @@ impl<'l, 'tcx: 'l> SaveContext<'l, 'tcx> {
                               parent: NodeId)
                               -> Option<TypeRefData> {
         self.lookup_ref_id(trait_ref.ref_id).map(|def_id| {
-            let sub_span = self.span_utils.sub_span_for_type_name(trait_ref.path.span);
+            let span = trait_ref.path.span;
+            let sub_span = self.span_utils.sub_span_for_type_name(span).unwrap_or(span);
             TypeRefData {
-                span: sub_span.unwrap(),
+                span: sub_span,
                 scope: parent,
                 ref_id: def_id,
             }