@@ -2162,13 +2162,13 @@ impl<'a> Parser<'a> {
2162
2162
& token:: CloseDelim ( delim) ,
2163
2163
seq_sep_none ( ) ,
2164
2164
|p| p. parse_token_tree ( ) ) ) ;
2165
- let hi = self . span . hi ;
2165
+ let hi = self . last_span . hi ;
2166
2166
2167
2167
return Ok ( self . mk_mac_expr ( lo,
2168
- hi,
2169
- MacInvocTT ( pth,
2170
- tts,
2171
- EMPTY_CTXT ) ) ) ;
2168
+ hi,
2169
+ MacInvocTT ( pth,
2170
+ tts,
2171
+ EMPTY_CTXT ) ) ) ;
2172
2172
}
2173
2173
if self . check ( & token:: OpenDelim ( token:: Brace ) ) {
2174
2174
// This is a struct literal, unless we're prohibited
@@ -3449,7 +3449,7 @@ impl<'a> Parser<'a> {
3449
3449
seq_sep_none ( ) ,
3450
3450
|p| p. parse_token_tree ( )
3451
3451
) ) ;
3452
- let hi = self . span . hi ;
3452
+ let hi = self . last_span . hi ;
3453
3453
3454
3454
let style = if delim == token:: Brace {
3455
3455
MacStmtWithBraces
@@ -3567,7 +3567,7 @@ impl<'a> Parser<'a> {
3567
3567
token:: Semi => {
3568
3568
stmts. push ( P ( Spanned {
3569
3569
node : StmtMac ( mac, MacStmtWithSemicolon ) ,
3570
- span : span,
3570
+ span : mk_sp ( span. lo , self . span . hi ) ,
3571
3571
} ) ) ;
3572
3572
try!( self . bump ( ) ) ;
3573
3573
}
@@ -3591,7 +3591,7 @@ impl<'a> Parser<'a> {
3591
3591
token:: Semi => {
3592
3592
stmts. push ( P ( Spanned {
3593
3593
node : StmtMac ( m, MacStmtWithSemicolon ) ,
3594
- span : span,
3594
+ span : mk_sp ( span. lo , self . span . hi ) ,
3595
3595
} ) ) ;
3596
3596
try!( self . bump ( ) ) ;
3597
3597
}
@@ -3610,13 +3610,15 @@ impl<'a> Parser<'a> {
3610
3610
}
3611
3611
}
3612
3612
_ => { // all other kinds of statements:
3613
+ let mut hi = span. hi ;
3613
3614
if classify:: stmt_ends_with_semi ( & node) {
3614
3615
try!( self . commit_stmt_expecting ( token:: Semi ) ) ;
3616
+ hi = self . last_span . hi ;
3615
3617
}
3616
3618
3617
3619
stmts. push ( P ( Spanned {
3618
3620
node : node,
3619
- span : span
3621
+ span : mk_sp ( span. lo , hi )
3620
3622
} ) ) ;
3621
3623
}
3622
3624
}
0 commit comments