Skip to content

Commit eb3ebb7

Browse files
committed
auto merge of #9525 : klutzy/rust/obsolete-span-fix, r=alexcrichton
2 parents fcd3776 + fc44a9c commit eb3ebb7

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/libsyntax/parse/parser.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -922,6 +922,7 @@ impl Parser {
922922
let attrs = p.parse_outer_attributes();
923923
let lo = p.span.lo;
924924

925+
let vis_span = *self.span;
925926
let vis = p.parse_visibility();
926927
let pur = p.parse_fn_purity();
927928
// NB: at the moment, trait methods are public by default; this
@@ -947,7 +948,7 @@ impl Parser {
947948
// NB: at the moment, visibility annotations on required
948949
// methods are ignored; this could change.
949950
if vis != ast::inherited {
950-
self.obsolete(*self.last_span,
951+
self.obsolete(vis_span,
951952
ObsoleteTraitFuncVisibility);
952953
}
953954
required(TypeMethod {
@@ -1213,14 +1214,16 @@ impl Parser {
12131214
// parse an optional, obsolete argument mode.
12141215
pub fn parse_arg_mode(&self) {
12151216
if self.eat(&token::BINOP(token::MINUS)) {
1216-
self.obsolete(*self.span, ObsoleteMode);
1217+
self.obsolete(*self.last_span, ObsoleteMode);
12171218
} else if self.eat(&token::ANDAND) {
1218-
self.obsolete(*self.span, ObsoleteMode);
1219+
self.obsolete(*self.last_span, ObsoleteMode);
12191220
} else if self.eat(&token::BINOP(token::PLUS)) {
1221+
let lo = self.last_span.lo;
12201222
if self.eat(&token::BINOP(token::PLUS)) {
1221-
self.obsolete(*self.span, ObsoleteMode);
1223+
let hi = self.last_span.hi;
1224+
self.obsolete(mk_sp(lo, hi), ObsoleteMode);
12221225
} else {
1223-
self.obsolete(*self.span, ObsoleteMode);
1226+
self.obsolete(*self.last_span, ObsoleteMode);
12241227
}
12251228
} else {
12261229
// Ignore.
@@ -3865,7 +3868,7 @@ impl Parser {
38653868

38663869
let mut meths = ~[];
38673870
if self.eat(&token::SEMI) {
3868-
self.obsolete(*self.span, ObsoleteEmptyImpl);
3871+
self.obsolete(*self.last_span, ObsoleteEmptyImpl);
38693872
} else {
38703873
self.expect(&token::LBRACE);
38713874
while !self.eat(&token::RBRACE) {

0 commit comments

Comments
 (0)