about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorAriel Ben-Yehuda <ariel.byd@gmail.com>2017-04-06 13:20:24 +0300
committerAriel Ben-Yehuda <ariel.byd@gmail.com>2017-04-06 13:20:24 +0300
commit95bd41e339ad07a2d7fb347de0a71fcdf155f2d5 (patch)
tree0ca258108cdd8d8716e53526812cc4610e2ff4f8 /src/test
parent5309a3e31d88def1f3ea966162ed4f81f161d500 (diff)
downloadrust-95bd41e339ad07a2d7fb347de0a71fcdf155f2d5.tar.gz
rust-95bd41e339ad07a2d7fb347de0a71fcdf155f2d5.zip
don't try to blame tuple fields for immutability
Tuple fields don't have an `&T` in their declaration that can be changed
to `&mut T` - skip them..

Fixes #41104.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/did_you_mean/issue-39544.rs6
-rw-r--r--src/test/ui/did_you_mean/issue-39544.stderr8
2 files changed, 13 insertions, 1 deletions
diff --git a/src/test/ui/did_you_mean/issue-39544.rs b/src/test/ui/did_you_mean/issue-39544.rs
index 6331fc5771f..d7c89355606 100644
--- a/src/test/ui/did_you_mean/issue-39544.rs
+++ b/src/test/ui/did_you_mean/issue-39544.rs
@@ -51,3 +51,9 @@ pub fn with_arg(z: Z, w: &Z) {
     let _ = &mut z.x;
     let _ = &mut w.x;
 }
+
+pub fn with_tuple() {
+    let mut y = 0;
+    let x = (&y,);
+    *x.0 = 1;
+}
diff --git a/src/test/ui/did_you_mean/issue-39544.stderr b/src/test/ui/did_you_mean/issue-39544.stderr
index e1e229a8b05..2e98bc65e9e 100644
--- a/src/test/ui/did_you_mean/issue-39544.stderr
+++ b/src/test/ui/did_you_mean/issue-39544.stderr
@@ -90,5 +90,11 @@ error: cannot borrow immutable field `w.x` as mutable
 52 |     let _ = &mut w.x;
    |                  ^^^ cannot mutably borrow immutable field
 
-error: aborting due to 11 previous errors
+error: cannot assign to immutable borrowed content `*x.0`
+  --> $DIR/issue-39544.rs:58:5
+   |
+58 |     *x.0 = 1;
+   |     ^^^^^^^^ cannot borrow as mutable
+
+error: aborting due to 12 previous errors