about summary refs log tree commit diff
path: root/src/test/compile-fail
diff options
context:
space:
mode:
authorRamana Venkata <vramana@users.noreply.github.com>2017-12-08 02:45:11 +0530
committerRamana Venkata <vramana@users.noreply.github.com>2017-12-08 23:42:13 +0530
commit90f7c31d86a82cefddc3307f5fd491dd264119c4 (patch)
tree5c5543658265c5fcf3ecf8654a0ede097d9d777c /src/test/compile-fail
parenta8437a0accccc4140731b1a73c13ada7305883ac (diff)
downloadrust-90f7c31d86a82cefddc3307f5fd491dd264119c4.tar.gz
rust-90f7c31d86a82cefddc3307f5fd491dd264119c4.zip
Fix bad error message for cannot_reborrow_already_uniquely_borrowed
Fixes #45638
Diffstat (limited to 'src/test/compile-fail')
-rw-r--r--src/test/compile-fail/E0501.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/test/compile-fail/E0501.rs b/src/test/compile-fail/E0501.rs
index 04678b96c8d..f7e246e8f0f 100644
--- a/src/test/compile-fail/E0501.rs
+++ b/src/test/compile-fail/E0501.rs
@@ -8,17 +8,28 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+// ignore-tidy-linelength
+// revisions: ast mir
+//[mir]compile-flags: -Z borrowck=mir
+
 fn inside_closure(x: &mut i32) {
 }
 
-fn outside_closure(x: &mut i32) {
+fn outside_closure_1(x: &mut i32) {
+}
+
+fn outside_closure_2(x: &i32) {
 }
 
 fn foo(a: &mut i32) {
     let bar = || {
         inside_closure(a)
     };
-    outside_closure(a); //~ ERROR E0501
+    outside_closure_1(a); //[ast]~ ERROR cannot borrow `*a` as mutable because previous closure requires unique access
+                         //[mir]~^ ERROR cannot borrow `*a` as mutable because previous closure requires unique access
+
+    outside_closure_2(a); //[ast]~ ERROR cannot borrow `*a` as immutable because previous closure requires unique access
+                         //[mir]~^ ERROR cannot borrow `*a` as immutable because previous closure requires unique access
 }
 
 fn main() {