about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-09-01 08:15:04 +0000
committerbors <bors@rust-lang.org>2019-09-01 08:15:04 +0000
commitd0677b9abc143d64d6b0cd6720e36eb73674632f (patch)
tree9151276a5d22c4fddaad40a88a6f6b5777793d74 /src/test
parent59cc53e6e708e9b9e86822c1b4d69f28f6c45eae (diff)
parentc621919deb00448e2287213a0d0bc65ff382af66 (diff)
Auto merge of #64036 - matthewjasper:kill-borrows-on-self-assign, r=estebank
Kill borrows from assignments after generating new borrows

Closes #63719
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/nll/self-assign-ref-mut.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/nll/self-assign-ref-mut.rs b/src/test/ui/nll/self-assign-ref-mut.rs
new file mode 100644
index 00000000000..1ca4cf3a775
--- /dev/null
+++ b/src/test/ui/nll/self-assign-ref-mut.rs
@@ -0,0 +1,20 @@
+// Check that `*y` isn't borrowed after `y = y`.
+
+// check-pass
+
+fn main() {
+    let mut x = 1;
+    {
+        let mut y = &mut x;
+        y = y;
+        y;
+    }
+    x;
+    {
+        let mut y = &mut x;
+        y = y;
+        y = y;
+        y;
+    }
+    x;
+}