2014-02-15 17:00:38 -06:00
|
|
|
// verify that an error is raised when trying to move out of a
|
|
|
|
// borrowed path.
|
|
|
|
|
2018-08-14 18:16:05 -05:00
|
|
|
|
|
|
|
|
2021-08-24 19:39:40 -05:00
|
|
|
|
2015-01-07 20:53:58 -06:00
|
|
|
|
2014-02-15 17:00:38 -06:00
|
|
|
fn main() {
|
2021-08-24 19:39:40 -05:00
|
|
|
let a: Box<Box<_>> = Box::new(Box::new(2));
|
2014-02-15 17:00:38 -06:00
|
|
|
let b = &a;
|
|
|
|
|
|
|
|
let z = *a; //~ ERROR: cannot move out of `*a` because it is borrowed
|
2018-08-14 18:16:05 -05:00
|
|
|
b.use_ref();
|
2014-02-15 17:00:38 -06:00
|
|
|
}
|
2018-08-14 18:16:05 -05:00
|
|
|
|
|
|
|
trait Fake { fn use_mut(&mut self) { } fn use_ref(&self) { } }
|
|
|
|
impl<T> Fake for T { }
|