about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-09-09 01:36:58 +0000
committerbors <bors@rust-lang.org>2018-09-09 01:36:58 +0000
commit004bc5a33cd44cd0896cae917a75488579126da5 (patch)
treed0da7000dd54a3a1bc3e9d24e902fbb99912d38f /src/test
parent0198a1ea45e29af00d92423aa6d2ac876410c3f9 (diff)
parent3192d3dc0c4417a6e360018b341c07d32f3f3d7f (diff)
downloadrust-004bc5a33cd44cd0896cae917a75488579126da5.tar.gz
rust-004bc5a33cd44cd0896cae917a75488579126da5.zip
Auto merge of #53949 - estebank:unclosed-delim, r=nikomatsakis
Improve messages for un-closed delimiter errors
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/issue-10636-1.rs3
-rw-r--r--src/test/ui/issue-10636-1.stderr8
-rw-r--r--src/test/ui/issue-2354.rs (renamed from src/test/parse-fail/issue-2354.rs)4
-rw-r--r--src/test/ui/issue-2354.stderr16
-rw-r--r--src/test/ui/parser-recovery-1.rs9
-rw-r--r--src/test/ui/parser-recovery-1.stderr22
-rw-r--r--src/test/ui/parser-recovery-2.stderr2
-rw-r--r--src/test/ui/parser/unclosed-braces.rs32
-rw-r--r--src/test/ui/parser/unclosed-braces.stderr17
-rw-r--r--src/test/ui/resolve/token-error-correct-2.stderr2
-rw-r--r--src/test/ui/resolve/token-error-correct-3.stderr4
-rw-r--r--src/test/ui/resolve/token-error-correct.stderr4
-rw-r--r--src/test/ui/token/issue-10636-2.stderr4
13 files changed, 102 insertions, 25 deletions
diff --git a/src/test/ui/issue-10636-1.rs b/src/test/ui/issue-10636-1.rs
index fdd50773593..375b951ee15 100644
--- a/src/test/ui/issue-10636-1.rs
+++ b/src/test/ui/issue-10636-1.rs
@@ -10,7 +10,8 @@
 
 // compile-flags: -Z parse-only
 
-struct Obj { //~ NOTE: unclosed delimiter
+struct Obj {
+    //~^ NOTE: un-closed delimiter
     member: usize
 )
 //~^ ERROR incorrect close delimiter
diff --git a/src/test/ui/issue-10636-1.stderr b/src/test/ui/issue-10636-1.stderr
index af80e259fbd..49b6d08aff5 100644
--- a/src/test/ui/issue-10636-1.stderr
+++ b/src/test/ui/issue-10636-1.stderr
@@ -1,9 +1,9 @@
 error: incorrect close delimiter: `)`
-  --> $DIR/issue-10636-1.rs:15:1
+  --> $DIR/issue-10636-1.rs:16:1
    |
-LL | struct Obj { //~ NOTE: unclosed delimiter
-   |            - unclosed delimiter
-LL |     member: usize
+LL | struct Obj {
+   |            - un-closed delimiter
+...
 LL | )
    | ^ incorrect close delimiter
 
diff --git a/src/test/parse-fail/issue-2354.rs b/src/test/ui/issue-2354.rs
index 2e799a72c81..35fddcb0de4 100644
--- a/src/test/parse-fail/issue-2354.rs
+++ b/src/test/ui/issue-2354.rs
@@ -10,11 +10,13 @@
 
 // compile-flags: -Z parse-only
 
-fn foo() { //~ HELP did you mean to close this delimiter?
+fn foo() { //~ NOTE un-closed delimiter
   match Some(x) {
+  //~^ NOTE this delimiter might not be properly closed...
       Some(y) => { panic!(); }
       None => { panic!(); }
 }
+//~^ NOTE ...as it matches this but it has different indentation
 
 fn bar() {
     let mut i = 0;
diff --git a/src/test/ui/issue-2354.stderr b/src/test/ui/issue-2354.stderr
new file mode 100644
index 00000000000..9cf569b685b
--- /dev/null
+++ b/src/test/ui/issue-2354.stderr
@@ -0,0 +1,16 @@
+error: this file contains an un-closed delimiter
+  --> $DIR/issue-2354.rs:26:66
+   |
+LL | fn foo() { //~ NOTE un-closed delimiter
+   |          - un-closed delimiter
+LL |   match Some(x) {
+   |                 - this delimiter might not be properly closed...
+...
+LL | }
+   | - ...as it matches this but it has different indentation
+...
+LL | fn main() {} //~ ERROR this file contains an un-closed delimiter
+   |                                                                  ^
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/parser-recovery-1.rs b/src/test/ui/parser-recovery-1.rs
index 9fb4d6facdd..f51bcb9e70c 100644
--- a/src/test/ui/parser-recovery-1.rs
+++ b/src/test/ui/parser-recovery-1.rs
@@ -14,11 +14,12 @@
 
 trait Foo {
     fn bar() {
-        let x = foo(); //~ ERROR cannot find function `foo` in this scope
-
+        let x = foo();
+        //~^ ERROR cannot find function `foo` in this scope
 }
 
 fn main() {
-    let x = y.;  //~ ERROR unexpected token
-                 //~^ ERROR cannot find value `y` in this scope
+    let x = y.;
+    //~^ ERROR unexpected token
+    //~| ERROR cannot find value `y` in this scope
 } //~ ERROR this file contains an un-closed delimiter
diff --git a/src/test/ui/parser-recovery-1.stderr b/src/test/ui/parser-recovery-1.stderr
index bf4070682fb..5ba96e1a5dd 100644
--- a/src/test/ui/parser-recovery-1.stderr
+++ b/src/test/ui/parser-recovery-1.stderr
@@ -1,31 +1,33 @@
 error: this file contains an un-closed delimiter
-  --> $DIR/parser-recovery-1.rs:24:55
+  --> $DIR/parser-recovery-1.rs:25:55
    |
+LL | trait Foo {
+   |           - un-closed delimiter
+LL |     fn bar() {
+   |              - this delimiter might not be properly closed...
+...
+LL | }
+   | - ...as it matches this but it has different indentation
+...
 LL | } //~ ERROR this file contains an un-closed delimiter
    |                                                       ^
-   |
-help: did you mean to close this delimiter?
-  --> $DIR/parser-recovery-1.rs:15:11
-   |
-LL | trait Foo {
-   |           ^
 
 error: unexpected token: `;`
   --> $DIR/parser-recovery-1.rs:22:15
    |
-LL |     let x = y.;  //~ ERROR unexpected token
+LL |     let x = y.;
    |               ^
 
 error[E0425]: cannot find function `foo` in this scope
   --> $DIR/parser-recovery-1.rs:17:17
    |
-LL |         let x = foo(); //~ ERROR cannot find function `foo` in this scope
+LL |         let x = foo();
    |                 ^^^ not found in this scope
 
 error[E0425]: cannot find value `y` in this scope
   --> $DIR/parser-recovery-1.rs:22:13
    |
-LL |     let x = y.;  //~ ERROR unexpected token
+LL |     let x = y.;
    |             ^ not found in this scope
 
 error[E0601]: `main` function not found in crate `parser_recovery_1`
diff --git a/src/test/ui/parser-recovery-2.stderr b/src/test/ui/parser-recovery-2.stderr
index 1025dad3af7..2965e4eb581 100644
--- a/src/test/ui/parser-recovery-2.stderr
+++ b/src/test/ui/parser-recovery-2.stderr
@@ -2,7 +2,7 @@ error: incorrect close delimiter: `)`
   --> $DIR/parser-recovery-2.rs:18:5
    |
 LL |     fn bar() {
-   |              - unclosed delimiter
+   |              - un-closed delimiter
 LL |         let x = foo(); //~ ERROR cannot find function `foo` in this scope
 LL |     ) //~ ERROR incorrect close delimiter: `)`
    |     ^ incorrect close delimiter
diff --git a/src/test/ui/parser/unclosed-braces.rs b/src/test/ui/parser/unclosed-braces.rs
new file mode 100644
index 00000000000..802133ae6b9
--- /dev/null
+++ b/src/test/ui/parser/unclosed-braces.rs
@@ -0,0 +1,32 @@
+// Copyright 2018 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.
+
+struct S {
+    x: [usize; 3],
+}
+
+fn foo() {
+    {
+        {
+            println!("hi");
+        }
+    }
+}
+
+fn main() {
+//~^ NOTE un-closed delimiter
+    {
+        {
+        //~^ NOTE this delimiter might not be properly closed...
+            foo();
+    }
+    //~^ NOTE ...as it matches this but it has different indentation
+}
+//~ ERROR this file contains an un-closed delimiter
diff --git a/src/test/ui/parser/unclosed-braces.stderr b/src/test/ui/parser/unclosed-braces.stderr
new file mode 100644
index 00000000000..4f865bc9b39
--- /dev/null
+++ b/src/test/ui/parser/unclosed-braces.stderr
@@ -0,0 +1,17 @@
+error: this file contains an un-closed delimiter
+  --> $DIR/unclosed-braces.rs:32:53
+   |
+LL | fn main() {
+   |           - un-closed delimiter
+...
+LL |         {
+   |         - this delimiter might not be properly closed...
+...
+LL |     }
+   |     - ...as it matches this but it has different indentation
+...
+LL | //~ ERROR this file contains an un-closed delimiter
+   |                                                     ^
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/resolve/token-error-correct-2.stderr b/src/test/ui/resolve/token-error-correct-2.stderr
index fcd4b4888b0..6965c864569 100644
--- a/src/test/ui/resolve/token-error-correct-2.stderr
+++ b/src/test/ui/resolve/token-error-correct-2.stderr
@@ -2,7 +2,7 @@ error: incorrect close delimiter: `)`
   --> $DIR/token-error-correct-2.rs:16:5
    |
 LL |     if foo {
-   |            - unclosed delimiter
+   |            - un-closed delimiter
 LL |     //~^ ERROR: cannot find value `foo`
 LL |     ) //~ ERROR: incorrect close delimiter: `)`
    |     ^ incorrect close delimiter
diff --git a/src/test/ui/resolve/token-error-correct-3.stderr b/src/test/ui/resolve/token-error-correct-3.stderr
index a546c2704d9..b87a59d2196 100644
--- a/src/test/ui/resolve/token-error-correct-3.stderr
+++ b/src/test/ui/resolve/token-error-correct-3.stderr
@@ -1,8 +1,10 @@
 error: incorrect close delimiter: `}`
   --> $DIR/token-error-correct-3.rs:30:9
    |
+LL |         if !is_directory(path.as_ref()) { //~ ERROR: cannot find function `is_directory`
+   |                                         - close delimiter possibly meant for this
 LL |             callback(path.as_ref(); //~ ERROR expected one of
-   |                     - unclosed delimiter
+   |                     - un-closed delimiter
 ...
 LL |         } else { //~ ERROR: incorrect close delimiter: `}`
    |         ^ incorrect close delimiter
diff --git a/src/test/ui/resolve/token-error-correct.stderr b/src/test/ui/resolve/token-error-correct.stderr
index 1e246b6f085..b6909840732 100644
--- a/src/test/ui/resolve/token-error-correct.stderr
+++ b/src/test/ui/resolve/token-error-correct.stderr
@@ -1,8 +1,10 @@
 error: incorrect close delimiter: `}`
   --> $DIR/token-error-correct.rs:16:1
    |
+LL | fn main() {
+   |           - close delimiter possibly meant for this
 LL |     foo(bar(;
-   |            - unclosed delimiter
+   |            - un-closed delimiter
 LL |     //~^ ERROR: expected expression, found `;`
 LL | }
    | ^ incorrect close delimiter
diff --git a/src/test/ui/token/issue-10636-2.stderr b/src/test/ui/token/issue-10636-2.stderr
index 634191bb5ef..9800b0c5e3f 100644
--- a/src/test/ui/token/issue-10636-2.stderr
+++ b/src/test/ui/token/issue-10636-2.stderr
@@ -1,8 +1,10 @@
 error: incorrect close delimiter: `}`
   --> $DIR/issue-10636-2.rs:18:1
    |
+LL | pub fn trace_option(option: Option<isize>) {
+   |                                            - close delimiter possibly meant for this
 LL |     option.map(|some| 42;
-   |               - unclosed delimiter
+   |               - un-closed delimiter
 ...
 LL | } //~ ERROR: incorrect close delimiter
    | ^ incorrect close delimiter