]> git.proxmox.com Git - rustc.git/blob - src/test/ui/nll/issue-27868.rs
Update upstream source from tag 'upstream/1.33.0+dfsg1'
[rustc.git] / src / test / ui / nll / issue-27868.rs
1 // Regression test for issue #27868
2
3 #![feature(nll)]
4
5 use std::ops::AddAssign;
6
7 struct MyVec<T>(Vec<T>);
8
9 impl <T> Drop for MyVec<T> {
10 fn drop(&mut self) {
11 println!("Being dropped.");
12 }
13 }
14
15 impl<T> AddAssign<T> for MyVec<T> {
16 fn add_assign(&mut self, _elem: T) {
17 println!("In add_assign.");
18 }
19 }
20
21 fn main() {
22 let mut vec = MyVec(vec![0]);
23 let mut vecvec = vec![vec];
24
25 vecvec[0] += {
26 vecvec = vec![];
27 //~^ ERROR cannot assign to `vecvec` because it is borrowed [E0506]
28 0
29 };
30 }