error[E0597]: `x` does not live long enough --> $DIR/polonius-smoke-test.rs:7:5 | LL | &x //~ ERROR | ^^ borrowed value does not live long enough LL | } | - `x` dropped here while still borrowed | = note: borrowed value must be valid for the static lifetime... error[E0503]: cannot use `x` because it was mutably borrowed --> $DIR/polonius-smoke-test.rs:13:13 | LL | let y = &mut x; | ------ borrow of `x` occurs here LL | let z = x; //~ ERROR | ^ use of borrowed `x` LL | let w = y; | - borrow later used here error[E0505]: cannot move out of `x` because it is borrowed --> $DIR/polonius-smoke-test.rs:19:13 | LL | let y = &mut *x; | ------- borrow of `*x` occurs here LL | let z = x; //~ ERROR | ^ move out of `x` occurs here LL | y | - borrow later used here error[E0505]: cannot move out of `s` because it is borrowed --> $DIR/polonius-smoke-test.rs:43:5 | LL | let r = &mut *s; | ------- borrow of `*s` occurs here LL | let tmp = foo(&r); LL | s; //~ ERROR | ^ move out of `s` occurs here LL | tmp; | --- borrow later used here error: aborting due to 4 previous errors Some errors occurred: E0503, E0505, E0597. For more information about an error, try `rustc --explain E0503`.