diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2018-08-14 18:04:20 -0700 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2018-08-15 13:18:34 -0700 |
| commit | 2a74d7924a138b720e054fa6ea9610b5ba56d061 (patch) | |
| tree | 0948e0d65a625bfa020912e6976e856635591691 | |
| parent | 67390c0c312ca2d8649ee7aa1e4bfa823f273857 (diff) | |
| download | rust-2a74d7924a138b720e054fa6ea9610b5ba56d061.tar.gz rust-2a74d7924a138b720e054fa6ea9610b5ba56d061.zip | |
Tweak unclosed delimiter parser error
| -rw-r--r-- | src/libsyntax/parse/lexer/tokentrees.rs | 6 | ||||
| -rw-r--r-- | src/test/ui/issue-10636-1.rs (renamed from src/test/parse-fail/issue-10636-1.rs) | 6 | ||||
| -rw-r--r-- | src/test/ui/issue-10636-1.stderr | 11 | ||||
| -rw-r--r-- | src/test/ui/parser-recovery-2.stderr | 11 | ||||
| -rw-r--r-- | src/test/ui/resolve/token-error-correct-2.stderr | 11 | ||||
| -rw-r--r-- | src/test/ui/resolve/token-error-correct-3.stderr | 11 | ||||
| -rw-r--r-- | src/test/ui/resolve/token-error-correct.stderr | 22 | ||||
| -rw-r--r-- | src/test/ui/token/issue-10636-2.stderr | 11 |
8 files changed, 44 insertions, 45 deletions
diff --git a/src/libsyntax/parse/lexer/tokentrees.rs b/src/libsyntax/parse/lexer/tokentrees.rs index 36c220fa0d9..c578108a3fc 100644 --- a/src/libsyntax/parse/lexer/tokentrees.rs +++ b/src/libsyntax/parse/lexer/tokentrees.rs @@ -79,11 +79,12 @@ impl<'a> StringReader<'a> { let token_str = token_to_string(&self.token); let msg = format!("incorrect close delimiter: `{}`", token_str); let mut err = self.sess.span_diagnostic.struct_span_err(self.span, &msg); + err.span_label(self.span, "incorrect close delimiter"); // This is a conservative error: only report the last unclosed delimiter. // The previous unclosed delimiters could actually be closed! The parser // just hasn't gotten to them yet. if let Some(&(_, sp)) = self.open_braces.last() { - err.span_note(sp, "unclosed delimiter"); + err.span_label(sp, "unclosed delimiter"); }; err.emit(); @@ -118,7 +119,8 @@ impl<'a> StringReader<'a> { // matching opening delimiter). let token_str = token_to_string(&self.token); let msg = format!("unexpected close delimiter: `{}`", token_str); - let err = self.sess.span_diagnostic.struct_span_err(self.span, &msg); + let mut err = self.sess.span_diagnostic.struct_span_err(self.span, &msg); + err.span_label(self.span, "unexpected close delimiter"); Err(err) }, _ => { diff --git a/src/test/parse-fail/issue-10636-1.rs b/src/test/ui/issue-10636-1.rs index 398fe8c5b8c..fdd50773593 100644 --- a/src/test/parse-fail/issue-10636-1.rs +++ b/src/test/ui/issue-10636-1.rs @@ -12,4 +12,8 @@ struct Obj { //~ NOTE: unclosed delimiter member: usize -) //~ ERROR: incorrect close delimiter +) +//~^ ERROR incorrect close delimiter +//~| NOTE incorrect close delimiter + +fn main() {} diff --git a/src/test/ui/issue-10636-1.stderr b/src/test/ui/issue-10636-1.stderr new file mode 100644 index 00000000000..af80e259fbd --- /dev/null +++ b/src/test/ui/issue-10636-1.stderr @@ -0,0 +1,11 @@ +error: incorrect close delimiter: `)` + --> $DIR/issue-10636-1.rs:15:1 + | +LL | struct Obj { //~ NOTE: unclosed delimiter + | - unclosed delimiter +LL | member: usize +LL | ) + | ^ incorrect close delimiter + +error: aborting due to previous error + diff --git a/src/test/ui/parser-recovery-2.stderr b/src/test/ui/parser-recovery-2.stderr index 7b520607352..1025dad3af7 100644 --- a/src/test/ui/parser-recovery-2.stderr +++ b/src/test/ui/parser-recovery-2.stderr @@ -1,14 +1,11 @@ error: incorrect close delimiter: `)` --> $DIR/parser-recovery-2.rs:18:5 | -LL | ) //~ ERROR incorrect close delimiter: `)` - | ^ - | -note: unclosed delimiter - --> $DIR/parser-recovery-2.rs:16:14 - | LL | fn bar() { - | ^ + | - unclosed delimiter +LL | let x = foo(); //~ ERROR cannot find function `foo` in this scope +LL | ) //~ ERROR incorrect close delimiter: `)` + | ^ incorrect close delimiter error: unexpected token: `;` --> $DIR/parser-recovery-2.rs:22:15 diff --git a/src/test/ui/resolve/token-error-correct-2.stderr b/src/test/ui/resolve/token-error-correct-2.stderr index 7abc1ba4781..fcd4b4888b0 100644 --- a/src/test/ui/resolve/token-error-correct-2.stderr +++ b/src/test/ui/resolve/token-error-correct-2.stderr @@ -1,14 +1,11 @@ error: incorrect close delimiter: `)` --> $DIR/token-error-correct-2.rs:16:5 | -LL | ) //~ ERROR: incorrect close delimiter: `)` - | ^ - | -note: unclosed delimiter - --> $DIR/token-error-correct-2.rs:14:12 - | LL | if foo { - | ^ + | - unclosed delimiter +LL | //~^ ERROR: cannot find value `foo` +LL | ) //~ ERROR: incorrect close delimiter: `)` + | ^ incorrect close delimiter error[E0425]: cannot find value `foo` in this scope --> $DIR/token-error-correct-2.rs:14:8 diff --git a/src/test/ui/resolve/token-error-correct-3.stderr b/src/test/ui/resolve/token-error-correct-3.stderr index 24186d94acc..a546c2704d9 100644 --- a/src/test/ui/resolve/token-error-correct-3.stderr +++ b/src/test/ui/resolve/token-error-correct-3.stderr @@ -1,14 +1,11 @@ error: incorrect close delimiter: `}` --> $DIR/token-error-correct-3.rs:30:9 | -LL | } else { //~ ERROR: incorrect close delimiter: `}` - | ^ - | -note: unclosed delimiter - --> $DIR/token-error-correct-3.rs:24:21 - | LL | callback(path.as_ref(); //~ ERROR expected one of - | ^ + | - unclosed delimiter +... +LL | } else { //~ ERROR: incorrect close delimiter: `}` + | ^ incorrect close delimiter error: expected one of `)`, `,`, `.`, `?`, or an operator, found `;` --> $DIR/token-error-correct-3.rs:24:35 diff --git a/src/test/ui/resolve/token-error-correct.stderr b/src/test/ui/resolve/token-error-correct.stderr index c6d32c6726e..bae57dd77c8 100644 --- a/src/test/ui/resolve/token-error-correct.stderr +++ b/src/test/ui/resolve/token-error-correct.stderr @@ -1,26 +1,20 @@ error: incorrect close delimiter: `}` --> $DIR/token-error-correct.rs:16:1 | -LL | } - | ^ - | -note: unclosed delimiter - --> $DIR/token-error-correct.rs:14:12 - | LL | foo(bar(; - | ^ + | - unclosed delimiter +LL | //~^ ERROR: expected expression, found `;` +LL | } + | ^ incorrect close delimiter error: incorrect close delimiter: `}` --> $DIR/token-error-correct.rs:16:1 | -LL | } - | ^ - | -note: unclosed delimiter - --> $DIR/token-error-correct.rs:14:8 - | LL | foo(bar(; - | ^ + | - unclosed delimiter +LL | //~^ ERROR: expected expression, found `;` +LL | } + | ^ incorrect close delimiter error: expected expression, found `;` --> $DIR/token-error-correct.rs:14:13 diff --git a/src/test/ui/token/issue-10636-2.stderr b/src/test/ui/token/issue-10636-2.stderr index 6c0053f2f85..634191bb5ef 100644 --- a/src/test/ui/token/issue-10636-2.stderr +++ b/src/test/ui/token/issue-10636-2.stderr @@ -1,14 +1,11 @@ error: incorrect close delimiter: `}` --> $DIR/issue-10636-2.rs:18:1 | -LL | } //~ ERROR: incorrect close delimiter - | ^ - | -note: unclosed delimiter - --> $DIR/issue-10636-2.rs:15:15 - | LL | option.map(|some| 42; - | ^ + | - unclosed delimiter +... +LL | } //~ ERROR: incorrect close delimiter + | ^ incorrect close delimiter error: expected one of `)`, `,`, `.`, `?`, or an operator, found `;` --> $DIR/issue-10636-2.rs:15:25 |
