mirror of
https://github.com/rust-lang/rust
synced 2024-11-05 20:45:15 +00:00
8a7520995c
The FIXME was added in 46984 when the diagnostic message looked like this: // FIXME(#46983): error message should be better &s.0 //~ ERROR free region `` does not outlive free region `'static` The message was improved in 90667 and now looks like this: &s.0 //~ ERROR lifetime may not live long enough but the FIXME was not removed. The issue 46983 about that diagnostics should be improved has been closed. We can remove the FIXME now.
22 lines
791 B
Text
22 lines
791 B
Text
error[E0506]: cannot assign to `*s` because it is borrowed
|
|
--> $DIR/guarantor-issue-46974.rs:7:5
|
|
|
|
|
LL | let t = &mut *s; // this borrow should last for the entire function
|
|
| ------- `*s` is borrowed here
|
|
LL | let x = &t.0;
|
|
LL | *s = (2,);
|
|
| ^^^^^^^^^ `*s` is assigned to here but it was already borrowed
|
|
LL | *x
|
|
| -- borrow later used here
|
|
|
|
error: lifetime may not live long enough
|
|
--> $DIR/guarantor-issue-46974.rs:12:5
|
|
|
|
|
LL | fn bar(s: &Box<(i32,)>) -> &'static i32 {
|
|
| - let's call the lifetime of this reference `'1`
|
|
LL | &s.0
|
|
| ^^^^ returning this value requires that `'1` must outlive `'static`
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0506`.
|