| warning[E0713]: borrow may still be in use when destructor runs |
| --> $DIR/issue-45696-scribble-on-boxed-borrow.rs:63:5 |
| | |
| LL | fn scribbled<'a>(s: Scribble<'a>) -> &'a mut u32 { |
| | -- lifetime `'a` defined here |
| LL | &mut *s.0 //[nll]~ ERROR borrow may still be in use when destructor runs [E0713] |
| | ^^^^^^^^^ returning this value requires that `*s.0` is borrowed for `'a` |
| ... |
| LL | } |
| | - here, drop of `s` needs exclusive access to `*s.0`, because the type `Scribble<'_>` implements the `Drop` trait |
| | |
| = warning: This error has been downgraded to a warning for backwards compatibility with previous releases. |
| It represents potential unsoundness in your code. |
| This warning will become a hard error in the future. |
| |
| warning[E0713]: borrow may still be in use when destructor runs |
| --> $DIR/issue-45696-scribble-on-boxed-borrow.rs:73:5 |
| | |
| LL | fn boxed_scribbled<'a>(s: Box<Scribble<'a>>) -> &'a mut u32 { |
| | -- lifetime `'a` defined here |
| LL | &mut *(*s).0 //[nll]~ ERROR borrow may still be in use when destructor runs [E0713] |
| | ^^^^^^^^^^^^ returning this value requires that `*s.0` is borrowed for `'a` |
| ... |
| LL | } |
| | - here, drop of `s` needs exclusive access to `*s.0`, because the type `Scribble<'_>` implements the `Drop` trait |
| | |
| = warning: This error has been downgraded to a warning for backwards compatibility with previous releases. |
| It represents potential unsoundness in your code. |
| This warning will become a hard error in the future. |
| |
| warning[E0713]: borrow may still be in use when destructor runs |
| --> $DIR/issue-45696-scribble-on-boxed-borrow.rs:83:5 |
| | |
| LL | fn boxed_boxed_scribbled<'a>(s: Box<Box<Scribble<'a>>>) -> &'a mut u32 { |
| | -- lifetime `'a` defined here |
| LL | &mut *(**s).0 //[nll]~ ERROR borrow may still be in use when destructor runs [E0713] |
| | ^^^^^^^^^^^^^ returning this value requires that `*s.0` is borrowed for `'a` |
| ... |
| LL | } |
| | - here, drop of `s` needs exclusive access to `*s.0`, because the type `Scribble<'_>` implements the `Drop` trait |
| | |
| = warning: This error has been downgraded to a warning for backwards compatibility with previous releases. |
| It represents potential unsoundness in your code. |
| This warning will become a hard error in the future. |
| |
| error: compilation successful |
| --> $DIR/issue-45696-scribble-on-boxed-borrow.rs:89:1 |
| | |
| LL | / fn main() { //[ast]~ ERROR compilation successful |
| LL | | //[migrate]~^ ERROR compilation successful |
| LL | | let mut x = 1; |
| LL | | { |
| ... | |
| LL | | *boxed_boxed_scribbled(Box::new(Box::new(Scribble(&mut x)))) += 10; |
| LL | | } |
| | |_^ |
| |
| error: aborting due to previous error |
| |
| For more information about this error, try `rustc --explain E0713`. |