summary refs log tree commit diff
path: root/src/test/ui/parser
diff options
context:
space:
mode:
authorCamelid <camelidcamel@gmail.com>2021-03-25 21:04:03 -0700
committerNoah Lev <camelidcamel@gmail.com>2022-03-23 22:31:57 -0700
commit5d9cd4b851f121d0bc84cab474d6c536aba207df (patch)
treeb9accf1f415cbdfafb461adfe4d982e9fd354768 /src/test/ui/parser
parent6970f88db3ac2a9cefa9c585228291ae1f18fb04 (diff)
downloadrust-5d9cd4b851f121d0bc84cab474d6c536aba207df.tar.gz
rust-5d9cd4b851f121d0bc84cab474d6c536aba207df.zip
Suggest `i += 1` when we see `i++` or `++i`
Diffstat (limited to 'src/test/ui/parser')
-rw-r--r--src/test/ui/parser/increment.rs27
-rw-r--r--src/test/ui/parser/increment.stderr52
2 files changed, 79 insertions, 0 deletions
diff --git a/src/test/ui/parser/increment.rs b/src/test/ui/parser/increment.rs
new file mode 100644
index 00000000000..77a94b65f1f
--- /dev/null
+++ b/src/test/ui/parser/increment.rs
@@ -0,0 +1,27 @@
+fn post_regular() {
+    let i = 0;
+    i++; //~ ERROR
+}
+
+fn post_while() {
+    let i = 0;
+    while i++ < 5 {
+        //~^ ERROR
+        println!("{}", i);
+    }
+}
+
+fn pre_regular() {
+    let i = 0;
+    ++i; //~ ERROR
+}
+
+fn pre_while() {
+    let i = 0;
+    while ++i < 5 {
+        //~^ ERROR
+        println!("{}", i);
+    }
+}
+
+fn main() {}
diff --git a/src/test/ui/parser/increment.stderr b/src/test/ui/parser/increment.stderr
new file mode 100644
index 00000000000..667956cdd7d
--- /dev/null
+++ b/src/test/ui/parser/increment.stderr
@@ -0,0 +1,52 @@
+error: expected expression, found `+`
+  --> $DIR/increment.rs:3:7
+   |
+LL |     i++;
+   |       ^ expected expression
+   |
+   = note: Rust has no dedicated increment operator
+help: try using `+= 1` instead
+   |
+LL |     i += 1;
+   |       ~~~~
+
+error: expected expression, found `+`
+  --> $DIR/increment.rs:8:13
+   |
+LL |     while i++ < 5 {
+   |             ^ expected expression
+   |
+   = note: Rust has no dedicated increment operator
+help: try using `+= 1` instead
+   |
+LL |     while i += 1 < 5 {
+   |             ~~~~
+
+error: expected expression, found `+`
+  --> $DIR/increment.rs:16:5
+   |
+LL |     ++i;
+   |     ^ expected expression
+   |
+   = note: Rust has no dedicated increment operator
+help: try using `+= 1` instead
+   |
+LL -     ++i;
+LL +     i += 1;
+   | 
+
+error: expected expression, found `+`
+  --> $DIR/increment.rs:21:11
+   |
+LL |     while ++i < 5 {
+   |           ^ expected expression
+   |
+   = note: Rust has no dedicated increment operator
+help: try using `+= 1` instead
+   |
+LL -     while ++i < 5 {
+LL +     while { i += 1; i } < 5 {
+   | 
+
+error: aborting due to 4 previous errors
+