2019-01-27 11:03:21 +00:00
|
|
|
error[E0521]: borrowed data escapes outside of function
|
2022-04-01 17:13:25 +00:00
|
|
|
--> $DIR/region-invariant-static-error-reporting.rs:14:9
|
2019-01-27 11:03:21 +00:00
|
|
|
|
|
|
|
|
LL | fn unify<'a>(x: Option<Invariant<'a>>, f: fn(Invariant<'a>)) {
|
2021-10-03 20:25:26 +00:00
|
|
|
| -- - `x` is a reference that is only valid in the function body
|
|
|
|
| |
|
|
|
|
| lifetime `'a` defined here
|
2019-01-27 11:03:21 +00:00
|
|
|
LL | let bad = if x.is_some() {
|
|
|
|
LL | x.unwrap()
|
2021-10-03 20:25:26 +00:00
|
|
|
| ^^^^^^^^^^
|
|
|
|
| |
|
|
|
|
| `x` escapes the function body here
|
|
|
|
| argument requires that `'a` must outlive `'static`
|
2021-09-28 01:22:44 +00:00
|
|
|
|
|
2022-04-02 22:32:39 +00:00
|
|
|
= note: requirement occurs because of the type `Invariant<'_>`, which makes the generic argument `'_` invariant
|
|
|
|
= note: the struct `Invariant<'a>` is invariant over the parameter `'a`
|
2021-09-28 01:22:44 +00:00
|
|
|
= help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
|
2019-01-27 11:03:21 +00:00
|
|
|
|
2023-11-21 15:44:16 +00:00
|
|
|
error: aborting due to 1 previous error
|
2019-01-27 11:03:21 +00:00
|
|
|
|
2021-02-02 17:57:34 +00:00
|
|
|
For more information about this error, try `rustc --explain E0521`.
|