Skip to content

Commit 2e5b165

Browse files
committed
Auto merge of #27203 - marcusklaas:fix-range-span, r=alexcrichton
Right trims the span for certain range expressions. Closes #27162.
2 parents d6a6178 + b36d107 commit 2e5b165

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/libsyntax/parse/parser.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -2738,14 +2738,15 @@ impl<'a> Parser<'a> {
27382738
// (much lower than other prefix expressions) to be consistent
27392739
// with the postfix-form 'expr..'
27402740
let lo = self.span.lo;
2741+
let mut hi = self.span.hi;
27412742
try!(self.bump());
27422743
let opt_end = if self.is_at_start_of_range_notation_rhs() {
27432744
let end = try!(self.parse_binops());
2745+
hi = end.span.hi;
27442746
Some(end)
27452747
} else {
27462748
None
27472749
};
2748-
let hi = self.span.hi;
27492750
let ex = self.mk_range(None, opt_end);
27502751
Ok(self.mk_expr(lo, hi, ex))
27512752
}
@@ -2787,17 +2788,17 @@ impl<'a> Parser<'a> {
27872788
}
27882789
// A range expression, either `expr..expr` or `expr..`.
27892790
token::DotDot => {
2791+
let lo = lhs.span.lo;
2792+
let mut hi = self.span.hi;
27902793
try!(self.bump());
27912794

27922795
let opt_end = if self.is_at_start_of_range_notation_rhs() {
27932796
let end = try!(self.parse_binops());
2797+
hi = end.span.hi;
27942798
Some(end)
27952799
} else {
27962800
None
27972801
};
2798-
2799-
let lo = lhs.span.lo;
2800-
let hi = self.span.hi;
28012802
let range = self.mk_range(Some(lhs), opt_end);
28022803
return Ok(self.mk_expr(lo, hi, range));
28032804
}

0 commit comments

Comments
 (0)