about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorLzu Tao <taolzu@gmail.com>2020-10-08 14:21:12 +0000
committerLzu Tao <taolzu@gmail.com>2020-10-08 14:26:21 +0000
commitab226bda9a7ad56d2d417ab9451d5980c9fd35cd (patch)
treef7ce01ee1e54780252cb7ea88d3516d92dfcf667 /src/test
parent382848989f91fa2c25390f0d5c1e8b1ae94f47df (diff)
downloadrust-ab226bda9a7ad56d2d417ab9451d5980c9fd35cd.tar.gz
rust-ab226bda9a7ad56d2d417ab9451d5980c9fd35cd.zip
Suggest removing &mut from borrow of &mut
Fix a typo: minding -> binding
Add test for &mut &mut
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/borrowck/mut-borrow-of-mut-ref.rs14
-rw-r--r--src/test/ui/borrowck/mut-borrow-of-mut-ref.stderr22
2 files changed, 23 insertions, 13 deletions
diff --git a/src/test/ui/borrowck/mut-borrow-of-mut-ref.rs b/src/test/ui/borrowck/mut-borrow-of-mut-ref.rs
index 212f706953e..59b541a24d1 100644
--- a/src/test/ui/borrowck/mut-borrow-of-mut-ref.rs
+++ b/src/test/ui/borrowck/mut-borrow-of-mut-ref.rs
@@ -1,11 +1,11 @@
 // Suggest not mutably borrowing a mutable reference
+#![crate_type = "rlib"]
 
-fn main() {
-    f(&mut 0)
+pub fn f(b: &mut i32) {
+    g(&mut b);
+    //~^ ERROR cannot borrow
+    g(&mut &mut b);
+    //~^ ERROR cannot borrow
 }
 
-fn f(b: &mut i32) {
-    g(&mut b) //~ ERROR cannot borrow
-}
-
-fn g(_: &mut i32) {}
+pub fn g(_: &mut i32) {}
diff --git a/src/test/ui/borrowck/mut-borrow-of-mut-ref.stderr b/src/test/ui/borrowck/mut-borrow-of-mut-ref.stderr
index 09dabbc89b4..8710f204698 100644
--- a/src/test/ui/borrowck/mut-borrow-of-mut-ref.stderr
+++ b/src/test/ui/borrowck/mut-borrow-of-mut-ref.stderr
@@ -1,11 +1,21 @@
 error[E0596]: cannot borrow `b` as mutable, as it is not declared as mutable
-  --> $DIR/mut-borrow-of-mut-ref.rs:8:7
+  --> $DIR/mut-borrow-of-mut-ref.rs:5:7
    |
-LL | fn f(b: &mut i32) {
-   |      - help: consider changing this to be mutable: `mut b`
-LL |     g(&mut b)
-   |       ^^^^^^ cannot borrow as mutable
+LL |     g(&mut b);
+   |       ^^^^^^
+   |       |
+   |       cannot borrow as mutable
+   |       try removing `&mut` here
 
-error: aborting due to previous error
+error[E0596]: cannot borrow `b` as mutable, as it is not declared as mutable
+  --> $DIR/mut-borrow-of-mut-ref.rs:7:12
+   |
+LL |     g(&mut &mut b);
+   |            ^^^^^^
+   |            |
+   |            cannot borrow as mutable
+   |            try removing `&mut` here
+
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0596`.