summaryrefslogtreecommitdiffstats
path: root/tests/ui/borrowck/borrowck-move-subcomponent.rs
blob: 38abd19322215207241335a1a8431f8277d89606 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Tests that the borrow checker checks all components of a path when moving
// out.



struct S {
  x : Box<isize>
}

fn f<T>(_: T) {}

fn main() {
  let a : S = S { x : Box::new(1) };
  let pb = &a;
  let S { x: ax } = a;  //~ ERROR cannot move out
  f(pb);
}