@@ -3253,7 +3253,7 @@ impl<'a> Parser<'a> {
3253
3253
let tts = try!( self . parse_seq_to_end ( & token:: CloseDelim ( delim) ,
3254
3254
seq_sep_none ( ) , |p| p. parse_token_tree ( ) ) ) ;
3255
3255
let mac = Mac_ { path : path, tts : tts, ctxt : EMPTY_CTXT } ;
3256
- pat = PatMac ( codemap:: Spanned { node : mac, span : self . span } ) ;
3256
+ pat = PatMac ( codemap:: Spanned { node : mac, span : mk_sp ( lo , self . span . hi ) } ) ;
3257
3257
} else {
3258
3258
// Parse ident @ pat
3259
3259
// This can give false positives and parse nullary enums,
@@ -4475,6 +4475,7 @@ impl<'a> Parser<'a> {
4475
4475
let last_span = self . last_span ;
4476
4476
self . complain_if_pub_macro ( vis, last_span) ;
4477
4477
4478
+ let lo = self . span . lo ;
4478
4479
let pth = try!( self . parse_path ( NoTypesAllowed ) ) ;
4479
4480
try!( self . expect ( & token:: Not ) ) ;
4480
4481
@@ -4485,7 +4486,7 @@ impl<'a> Parser<'a> {
4485
4486
|p| p. parse_token_tree ( ) ) ) ;
4486
4487
let m_ = Mac_ { path : pth, tts : tts, ctxt : EMPTY_CTXT } ;
4487
4488
let m: ast:: Mac = codemap:: Spanned { node : m_,
4488
- span : mk_sp ( self . span . lo ,
4489
+ span : mk_sp ( lo,
4489
4490
self . span . hi ) } ;
4490
4491
if delim != token:: Brace {
4491
4492
try!( self . expect ( & token:: Semi ) )
@@ -5513,6 +5514,8 @@ impl<'a> Parser<'a> {
5513
5514
let last_span = self . last_span ;
5514
5515
self . complain_if_pub_macro ( visibility, last_span) ;
5515
5516
5517
+ let mac_lo = self . span . lo ;
5518
+
5516
5519
// item macro.
5517
5520
let pth = try!( self . parse_path ( NoTypesAllowed ) ) ;
5518
5521
try!( self . expect ( & token:: Not ) ) ;
@@ -5533,7 +5536,7 @@ impl<'a> Parser<'a> {
5533
5536
// single-variant-enum... :
5534
5537
let m = Mac_ { path : pth, tts : tts, ctxt : EMPTY_CTXT } ;
5535
5538
let m: ast:: Mac = codemap:: Spanned { node : m,
5536
- span : mk_sp ( self . span . lo ,
5539
+ span : mk_sp ( mac_lo ,
5537
5540
self . span . hi ) } ;
5538
5541
5539
5542
if delim != token:: Brace {
0 commit comments