about summary refs log tree commit diff
path: root/tests/ui/liveness/liveness-assign
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/liveness/liveness-assign')
-rw-r--r--tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-loop.rs12
-rw-r--r--tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-loop.stderr12
-rw-r--r--tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-op-eq.rs12
-rw-r--r--tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-op-eq.stderr14
-rw-r--r--tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-drop.rs12
-rw-r--r--tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-drop.stderr15
-rw-r--r--tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-init.rs12
-rw-r--r--tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-init.stderr15
8 files changed, 104 insertions, 0 deletions
diff --git a/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-loop.rs b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-loop.rs
new file mode 100644
index 00000000000..08911c5bde7
--- /dev/null
+++ b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-loop.rs
@@ -0,0 +1,12 @@
+fn test() {
+    let v: isize;
+    //~^ HELP consider making this binding mutable
+    //~| SUGGESTION mut v
+    loop {
+        v = 1; //~ ERROR cannot assign twice to immutable variable `v`
+               //~| NOTE cannot assign twice to immutable variable
+    }
+}
+
+fn main() {
+}
diff --git a/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-loop.stderr b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-loop.stderr
new file mode 100644
index 00000000000..66cdce7dacf
--- /dev/null
+++ b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-loop.stderr
@@ -0,0 +1,12 @@
+error[E0384]: cannot assign twice to immutable variable `v`
+  --> $DIR/liveness-assign-imm-local-in-loop.rs:6:9
+   |
+LL |     let v: isize;
+   |         - help: consider making this binding mutable: `mut v`
+...
+LL |         v = 1;
+   |         ^^^^^ cannot assign twice to immutable variable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0384`.
diff --git a/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-op-eq.rs b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-op-eq.rs
new file mode 100644
index 00000000000..1752d969086
--- /dev/null
+++ b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-op-eq.rs
@@ -0,0 +1,12 @@
+fn test() {
+    let v: isize;
+    //~^ HELP consider making this binding mutable
+    //~| SUGGESTION mut v
+    v = 2;  //~ NOTE first assignment
+    v += 1; //~ ERROR cannot assign twice to immutable variable `v`
+            //~| NOTE cannot assign twice to immutable
+    v.clone();
+}
+
+fn main() {
+}
diff --git a/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-op-eq.stderr b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-op-eq.stderr
new file mode 100644
index 00000000000..5db9539cbf1
--- /dev/null
+++ b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-in-op-eq.stderr
@@ -0,0 +1,14 @@
+error[E0384]: cannot assign twice to immutable variable `v`
+  --> $DIR/liveness-assign-imm-local-in-op-eq.rs:6:5
+   |
+LL |     let v: isize;
+   |         - help: consider making this binding mutable: `mut v`
+...
+LL |     v = 2;
+   |     ----- first assignment to `v`
+LL |     v += 1;
+   |     ^^^^^^ cannot assign twice to immutable variable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0384`.
diff --git a/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-drop.rs b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-drop.rs
new file mode 100644
index 00000000000..c9b16e43910
--- /dev/null
+++ b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-drop.rs
@@ -0,0 +1,12 @@
+fn test() {
+    let b = Box::new(1); //~ NOTE first assignment
+                         //~| HELP consider making this binding mutable
+                         //~| SUGGESTION mut b
+    drop(b);
+    b = Box::new(2); //~ ERROR cannot assign twice to immutable variable `b`
+                     //~| NOTE cannot assign twice to immutable
+    drop(b);
+}
+
+fn main() {
+}
diff --git a/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-drop.stderr b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-drop.stderr
new file mode 100644
index 00000000000..bb7e7e27a4c
--- /dev/null
+++ b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-drop.stderr
@@ -0,0 +1,15 @@
+error[E0384]: cannot assign twice to immutable variable `b`
+  --> $DIR/liveness-assign-imm-local-with-drop.rs:6:5
+   |
+LL |     let b = Box::new(1);
+   |         -
+   |         |
+   |         first assignment to `b`
+   |         help: consider making this binding mutable: `mut b`
+...
+LL |     b = Box::new(2);
+   |     ^ cannot assign twice to immutable variable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0384`.
diff --git a/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-init.rs b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-init.rs
new file mode 100644
index 00000000000..4bb2db27a16
--- /dev/null
+++ b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-init.rs
@@ -0,0 +1,12 @@
+fn test() {
+    let v: isize = 1; //~ NOTE first assignment
+                      //~| HELP consider making this binding mutable
+                      //~| SUGGESTION mut v
+    v.clone();
+    v = 2; //~ ERROR cannot assign twice to immutable variable `v`
+           //~| NOTE cannot assign twice to immutable
+    v.clone();
+}
+
+fn main() {
+}
diff --git a/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-init.stderr b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-init.stderr
new file mode 100644
index 00000000000..80458a70a01
--- /dev/null
+++ b/tests/ui/liveness/liveness-assign/liveness-assign-imm-local-with-init.stderr
@@ -0,0 +1,15 @@
+error[E0384]: cannot assign twice to immutable variable `v`
+  --> $DIR/liveness-assign-imm-local-with-init.rs:6:5
+   |
+LL |     let v: isize = 1;
+   |         -
+   |         |
+   |         first assignment to `v`
+   |         help: consider making this binding mutable: `mut v`
+...
+LL |     v = 2;
+   |     ^^^^^ cannot assign twice to immutable variable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0384`.