From a54bbac99af8240d78e161ac68653726c4ff27cc Mon Sep 17 00:00:00 2001 From: Nick Cameron Date: Mon, 15 Jun 2015 17:58:10 +1200 Subject: [PATCH] save-analysis: fix a couple of span bugs --- src/librustc_trans/save/mod.rs | 14 ++++++++------ 1 file 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 @@ pub fn get_item_data(&self, item: &ast::Item) -> Data { 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 @@ pub fn get_item_data(&self, item: &ast::Item) -> Data { 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 @@ pub fn get_trait_ref_data(&self, parent: NodeId) -> Option { 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, } -- 2.44.0