summary refs log tree commit diff
path: root/src/test/ui/parser
diff options
context:
space:
mode:
authorNoah Lev <camelidcamel@gmail.com>2021-09-06 16:16:52 -0700
committerNoah Lev <camelidcamel@gmail.com>2022-03-23 22:31:57 -0700
commitc9cc43aa66911b38e9da68de6c2c7ee1f37911ea (patch)
treeb77280da36514533301d1fcfd278c4c8ab854041 /src/test/ui/parser
parent5d9cd4b851f121d0bc84cab474d6c536aba207df (diff)
downloadrust-c9cc43aa66911b38e9da68de6c2c7ee1f37911ea.tar.gz
rust-c9cc43aa66911b38e9da68de6c2c7ee1f37911ea.zip
Move increment checks to improve errors
Diffstat (limited to 'src/test/ui/parser')
-rw-r--r--src/test/ui/parser/increment.fixed36
-rw-r--r--src/test/ui/parser/increment.rs27
-rw-r--r--src/test/ui/parser/increment.stderr49
3 files changed, 76 insertions, 36 deletions
diff --git a/src/test/ui/parser/increment.fixed b/src/test/ui/parser/increment.fixed
new file mode 100644
index 00000000000..ad61c4e66d2
--- /dev/null
+++ b/src/test/ui/parser/increment.fixed
@@ -0,0 +1,36 @@
+// run-rustfix
+
+fn post_regular() {
+    let mut i = 0;
+    { let tmp = i; i += 1; tmp }; //~ ERROR Rust has no postfix increment operator
+    println!("{}", i);
+}
+
+fn post_while() {
+    let mut i = 0;
+    while { let tmp = i; i += 1; tmp } < 5 {
+        //~^ ERROR Rust has no postfix increment operator
+        println!("{}", i);
+    }
+}
+
+fn pre_regular() {
+    let mut i = 0;
+    i += 1; //~ ERROR Rust has no prefix increment operator
+    println!("{}", i);
+}
+
+fn pre_while() {
+    let mut i = 0;
+    while { i += 1; i } < 5 {
+        //~^ ERROR Rust has no prefix increment operator
+        println!("{}", i);
+    }
+}
+
+fn main() {
+    post_regular();
+    post_while();
+    pre_regular();
+    pre_while();
+}
diff --git a/src/test/ui/parser/increment.rs b/src/test/ui/parser/increment.rs
index 77a94b65f1f..f31031fed3a 100644
--- a/src/test/ui/parser/increment.rs
+++ b/src/test/ui/parser/increment.rs
@@ -1,27 +1,36 @@
+// run-rustfix
+
 fn post_regular() {
-    let i = 0;
-    i++; //~ ERROR
+    let mut i = 0;
+    i++; //~ ERROR Rust has no postfix increment operator
+    println!("{}", i);
 }
 
 fn post_while() {
-    let i = 0;
+    let mut i = 0;
     while i++ < 5 {
-        //~^ ERROR
+        //~^ ERROR Rust has no postfix increment operator
         println!("{}", i);
     }
 }
 
 fn pre_regular() {
-    let i = 0;
-    ++i; //~ ERROR
+    let mut i = 0;
+    ++i; //~ ERROR Rust has no prefix increment operator
+    println!("{}", i);
 }
 
 fn pre_while() {
-    let i = 0;
+    let mut i = 0;
     while ++i < 5 {
-        //~^ ERROR
+        //~^ ERROR Rust has no prefix increment operator
         println!("{}", i);
     }
 }
 
-fn main() {}
+fn main() {
+    post_regular();
+    post_while();
+    pre_regular();
+    pre_while();
+}
diff --git a/src/test/ui/parser/increment.stderr b/src/test/ui/parser/increment.stderr
index 667956cdd7d..6a2b37e3ddc 100644
--- a/src/test/ui/parser/increment.stderr
+++ b/src/test/ui/parser/increment.stderr
@@ -1,52 +1,47 @@
-error: expected expression, found `+`
-  --> $DIR/increment.rs:3:7
+error: Rust has no postfix increment operator
+  --> $DIR/increment.rs:5:6
    |
 LL |     i++;
-   |       ^ expected expression
+   |      ^^ not a valid postfix operator
    |
-   = note: Rust has no dedicated increment operator
-help: try using `+= 1` instead
+help: use `+= 1` instead
    |
-LL |     i += 1;
-   |       ~~~~
+LL |     { let tmp = i; i += 1; tmp };
+   |     +++++++++++  ~~~~~~~~~~~~~~~
 
-error: expected expression, found `+`
-  --> $DIR/increment.rs:8:13
+error: Rust has no postfix increment operator
+  --> $DIR/increment.rs:11:12
    |
 LL |     while i++ < 5 {
-   |             ^ expected expression
+   |            ^^ not a valid postfix operator
    |
-   = note: Rust has no dedicated increment operator
-help: try using `+= 1` instead
+help: use `+= 1` instead
    |
-LL |     while i += 1 < 5 {
-   |             ~~~~
+LL |     while { let tmp = i; i += 1; tmp } < 5 {
+   |           +++++++++++  ~~~~~~~~~~~~~~~
 
-error: expected expression, found `+`
-  --> $DIR/increment.rs:16:5
+error: Rust has no prefix increment operator
+  --> $DIR/increment.rs:19:5
    |
 LL |     ++i;
-   |     ^ expected expression
+   |     ^^ not a valid prefix operator
    |
-   = note: Rust has no dedicated increment operator
-help: try using `+= 1` instead
+help: use `+= 1` instead
    |
 LL -     ++i;
 LL +     i += 1;
    | 
 
-error: expected expression, found `+`
-  --> $DIR/increment.rs:21:11
+error: Rust has no prefix increment operator
+  --> $DIR/increment.rs:25:11
    |
 LL |     while ++i < 5 {
-   |           ^ expected expression
+   |           ^^ not a valid prefix operator
    |
-   = note: Rust has no dedicated increment operator
-help: try using `+= 1` instead
+help: use `+= 1` instead
    |
-LL -     while ++i < 5 {
-LL +     while { i += 1; i } < 5 {
-   | 
+LL |     while { i += 1; i } < 5 {
+   |           ~   +++++++++
 
 error: aborting due to 4 previous errors