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