@@ -42,7 +42,7 @@ use ast::{BinOpKind, UnOp};
42
42
use ast:: { RangeEnd , RangeSyntax } ;
43
43
use { ast, attr} ;
44
44
use 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 } ;
46
46
use errors:: { self , DiagnosticBuilder } ;
47
47
use parse:: { self , classify, token} ;
48
48
use parse:: common:: SeqSep ;
@@ -447,7 +447,9 @@ pub enum Error {
447
447
}
448
448
449
449
impl 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 {
451
453
match self {
452
454
Error :: FileNotFoundForModule { ref mod_name,
453
455
ref default_path,
@@ -1266,13 +1268,16 @@ impl<'a> Parser<'a> {
1266
1268
pub fn fatal ( & self , m : & str ) -> DiagnosticBuilder < ' a > {
1267
1269
self . sess . span_diagnostic . struct_span_fatal ( self . span , m)
1268
1270
}
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 > {
1270
1272
self . sess . span_diagnostic . struct_span_fatal ( sp, m)
1271
1273
}
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 > {
1273
1275
err. span_err ( sp, self . diagnostic ( ) )
1274
1276
}
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 > {
1276
1281
let mut err = self . sess . span_diagnostic . struct_span_fatal ( sp, m) ;
1277
1282
err. help ( help) ;
1278
1283
err
@@ -1283,21 +1288,21 @@ impl<'a> Parser<'a> {
1283
1288
pub fn warn ( & self , m : & str ) {
1284
1289
self . sess . span_diagnostic . span_warn ( self . span , m)
1285
1290
}
1286
- pub fn span_warn ( & self , sp : Span , m : & str ) {
1291
+ pub fn span_warn < S : Into < MultiSpan > > ( & self , sp : S , m : & str ) {
1287
1292
self . sess . span_diagnostic . span_warn ( sp, m)
1288
1293
}
1289
- pub fn span_err ( & self , sp : Span , m : & str ) {
1294
+ pub fn span_err < S : Into < MultiSpan > > ( & self , sp : S , m : & str ) {
1290
1295
self . sess . span_diagnostic . span_err ( sp, m)
1291
1296
}
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 > {
1293
1298
self . sess . span_diagnostic . struct_span_err ( sp, m)
1294
1299
}
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 ) {
1296
1301
let mut err = self . sess . span_diagnostic . mut_span_err ( sp, m) ;
1297
1302
err. help ( h) ;
1298
1303
err. emit ( ) ;
1299
1304
}
1300
- pub fn span_bug ( & self , sp : Span , m : & str ) -> ! {
1305
+ pub fn span_bug < S : Into < MultiSpan > > ( & self , sp : S , m : & str ) -> ! {
1301
1306
self . sess . span_diagnostic . span_bug ( sp, m)
1302
1307
}
1303
1308
pub fn abort_if_errors ( & self ) {
0 commit comments