Fix the span for try shorthand expressions
This commit is contained in:
parent
c0b8c43820
commit
05e4116af2
2 changed files with 21 additions and 1 deletions
|
@ -2576,7 +2576,7 @@ impl<'a> Parser<'a> {
|
||||||
loop {
|
loop {
|
||||||
// expr?
|
// expr?
|
||||||
while self.eat(&token::Question) {
|
while self.eat(&token::Question) {
|
||||||
let hi = self.span.hi;
|
let hi = self.last_span.hi;
|
||||||
e = self.mk_expr(lo, hi, ExprKind::Try(e), None);
|
e = self.mk_expr(lo, hi, ExprKind::Try(e), None);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
20
src/test/compile-fail/symbol-names/issue-32709.rs
Normal file
20
src/test/compile-fail/symbol-names/issue-32709.rs
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
#![feature(question_mark)]
|
||||||
|
|
||||||
|
// Make sure that the span of try shorthand does not include the trailing
|
||||||
|
// semicolon;
|
||||||
|
fn a() -> Result<i32, ()> {
|
||||||
|
Err(5)?; //~ ERROR 16:5: 16:12
|
||||||
|
Ok(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
Loading…
Add table
Add a link
Reference in a new issue