]> git.lizzy.rs Git - rust.git/blob - tests/ui/nll/issue-27868.rs
Auto merge of #101138 - Rejyr:diagnostic-migration-rustc-lint-pt2, r=davidtwco
[rust.git] / tests / ui / nll / issue-27868.rs
1 // Regression test for issue #27868
2
3 use std::ops::AddAssign;
4
5 struct MyVec<T>(Vec<T>);
6
7 impl <T> Drop for MyVec<T> {
8     fn drop(&mut self) {
9         println!("Being dropped.");
10     }
11 }
12
13 impl<T> AddAssign<T> for MyVec<T> {
14     fn add_assign(&mut self, _elem: T) {
15         println!("In add_assign.");
16     }
17 }
18
19 fn main() {
20     let mut vec = MyVec(vec![0]);
21     let mut vecvec = vec![vec];
22
23     vecvec[0] += {
24         vecvec = vec![];
25         //~^ ERROR cannot assign to `vecvec` because it is borrowed [E0506]
26         0
27     };
28 }