diff options
| author | Felix S. Klock II <pnkfelix@pnkfx.org> | 2018-11-05 13:55:00 +0100 |
|---|---|---|
| committer | Felix S. Klock II <pnkfelix@pnkfx.org> | 2018-11-05 15:26:02 +0100 |
| commit | 9f9bf94b8dcb9acc4c0419dec256d1ece3139b1c (patch) | |
| tree | 5710187146c00608935cecb91094ca3781e67e04 | |
| parent | affddf68c623390aa5566dad6357892d9e0ae278 (diff) | |
| download | rust-9f9bf94b8dcb9acc4c0419dec256d1ece3139b1c.tar.gz rust-9f9bf94b8dcb9acc4c0419dec256d1ece3139b1c.zip | |
Make `ui/borrowck/borrowck-overloaded-index-move-index.rs` robust w.r.t. NLL.
| -rw-r--r-- | src/test/ui/borrowck/borrowck-overloaded-index-move-index.nll.stderr | 29 | ||||
| -rw-r--r-- | src/test/ui/borrowck/borrowck-overloaded-index-move-index.rs | 4 |
2 files changed, 31 insertions, 2 deletions
diff --git a/src/test/ui/borrowck/borrowck-overloaded-index-move-index.nll.stderr b/src/test/ui/borrowck/borrowck-overloaded-index-move-index.nll.stderr index 824d8298ecb..198d086aa3b 100644 --- a/src/test/ui/borrowck/borrowck-overloaded-index-move-index.nll.stderr +++ b/src/test/ui/borrowck/borrowck-overloaded-index-move-index.nll.stderr @@ -1,3 +1,27 @@ +error[E0505]: cannot move out of `s` because it is borrowed + --> $DIR/borrowck-overloaded-index-move-index.rs:60:22 + | +LL | let rs = &mut s; + | ------ borrow of `s` occurs here +LL | +LL | println!("{}", f[s]); + | ^ move out of `s` occurs here +... +LL | use_mut(rs); + | -- borrow later used here + +error[E0505]: cannot move out of `s` because it is borrowed + --> $DIR/borrowck-overloaded-index-move-index.rs:63:7 + | +LL | let rs = &mut s; + | ------ borrow of `s` occurs here +... +LL | f[s] = 10; + | ^ move out of `s` occurs here +... +LL | use_mut(rs); + | -- borrow later used here + error[E0382]: use of moved value: `s` --> $DIR/borrowck-overloaded-index-move-index.rs:63:7 | @@ -9,6 +33,7 @@ LL | f[s] = 10; | = note: move occurs because `s` has type `std::string::String`, which does not implement the `Copy` trait -error: aborting due to previous error +error: aborting due to 3 previous errors -For more information about this error, try `rustc --explain E0382`. +Some errors occurred: E0382, E0505. +For more information about an error, try `rustc --explain E0382`. diff --git a/src/test/ui/borrowck/borrowck-overloaded-index-move-index.rs b/src/test/ui/borrowck/borrowck-overloaded-index-move-index.rs index d8615d19053..e95423a8e83 100644 --- a/src/test/ui/borrowck/borrowck-overloaded-index-move-index.rs +++ b/src/test/ui/borrowck/borrowck-overloaded-index-move-index.rs @@ -71,4 +71,8 @@ fn main() { let _j = &i; println!("{}", s[i]); // no error, i is copy println!("{}", s[i]); + + use_mut(rs); } + +fn use_mut<T>(_: &mut T) { } |
