@@ -42,7 +42,7 @@ use ast::{BinOpKind, UnOp};
4242use ast:: { RangeEnd , RangeSyntax } ;
4343use { ast, attr} ;
4444use codemap:: { self , CodeMap , Spanned , respan} ;
45- use syntax_pos:: { self , Span , BytePos , FileName , DUMMY_SP } ;
45+ use syntax_pos:: { self , Span , MultiSpan , BytePos , FileName , DUMMY_SP } ;
4646use errors:: { self , DiagnosticBuilder } ;
4747use parse:: { self , classify, token} ;
4848use parse:: common:: SeqSep ;
@@ -447,7 +447,9 @@ pub enum Error {
447447}
448448
449449impl Error {
450- pub fn span_err ( self , sp : Span , handler : & errors:: Handler ) -> DiagnosticBuilder {
450+ pub fn span_err < S : Into < MultiSpan > > ( self ,
451+ sp : S ,
452+ handler : & errors:: Handler ) -> DiagnosticBuilder {
451453 match self {
452454 Error :: FileNotFoundForModule { ref mod_name,
453455 ref default_path,
@@ -1266,13 +1268,16 @@ impl<'a> Parser<'a> {
12661268 pub fn fatal ( & self , m : & str ) -> DiagnosticBuilder < ' a > {
12671269 self . sess . span_diagnostic . struct_span_fatal ( self . span , m)
12681270 }
1269- pub fn span_fatal ( & self , sp : Span , m : & str ) -> DiagnosticBuilder < ' a > {
1271+ pub fn span_fatal < S : Into < MultiSpan > > ( & self , sp : S , m : & str ) -> DiagnosticBuilder < ' a > {
12701272 self . sess . span_diagnostic . struct_span_fatal ( sp, m)
12711273 }
1272- pub fn span_fatal_err ( & self , sp : Span , err : Error ) -> DiagnosticBuilder < ' a > {
1274+ pub fn span_fatal_err < S : Into < MultiSpan > > ( & self , sp : S , err : Error ) -> DiagnosticBuilder < ' a > {
12731275 err. span_err ( sp, self . diagnostic ( ) )
12741276 }
1275- pub fn span_fatal_help ( & self , sp : Span , m : & str , help : & str ) -> DiagnosticBuilder < ' a > {
1277+ pub fn span_fatal_help < S : Into < MultiSpan > > ( & self ,
1278+ sp : S ,
1279+ m : & str ,
1280+ help : & str ) -> DiagnosticBuilder < ' a > {
12761281 let mut err = self . sess . span_diagnostic . struct_span_fatal ( sp, m) ;
12771282 err. help ( help) ;
12781283 err
@@ -1283,21 +1288,21 @@ impl<'a> Parser<'a> {
12831288 pub fn warn ( & self , m : & str ) {
12841289 self . sess . span_diagnostic . span_warn ( self . span , m)
12851290 }
1286- pub fn span_warn ( & self , sp : Span , m : & str ) {
1291+ pub fn span_warn < S : Into < MultiSpan > > ( & self , sp : S , m : & str ) {
12871292 self . sess . span_diagnostic . span_warn ( sp, m)
12881293 }
1289- pub fn span_err ( & self , sp : Span , m : & str ) {
1294+ pub fn span_err < S : Into < MultiSpan > > ( & self , sp : S , m : & str ) {
12901295 self . sess . span_diagnostic . span_err ( sp, m)
12911296 }
1292- pub fn struct_span_err ( & self , sp : Span , m : & str ) -> DiagnosticBuilder < ' a > {
1297+ pub fn struct_span_err < S : Into < MultiSpan > > ( & self , sp : S , m : & str ) -> DiagnosticBuilder < ' a > {
12931298 self . sess . span_diagnostic . struct_span_err ( sp, m)
12941299 }
1295- pub fn span_err_help ( & self , sp : Span , m : & str , h : & str ) {
1300+ pub fn span_err_help < S : Into < MultiSpan > > ( & self , sp : S , m : & str , h : & str ) {
12961301 let mut err = self . sess . span_diagnostic . mut_span_err ( sp, m) ;
12971302 err. help ( h) ;
12981303 err. emit ( ) ;
12991304 }
1300- pub fn span_bug ( & self , sp : Span , m : & str ) -> ! {
1305+ pub fn span_bug < S : Into < MultiSpan > > ( & self , sp : S , m : & str ) -> ! {
13011306 self . sess . span_diagnostic . span_bug ( sp, m)
13021307 }
13031308 pub fn abort_if_errors ( & self ) {
0 commit comments