| error[E0521]: borrowed data escapes outside of function |
| --> $DIR/region-invariant-static-error-reporting.rs:14:9 |
| | |
| LL | fn unify<'a>(x: Option<Invariant<'a>>, f: fn(Invariant<'a>)) { |
| | -- - `x` is a reference that is only valid in the function body |
| | | |
| | lifetime `'a` defined here |
| LL | let bad = if x.is_some() { |
| LL | x.unwrap() |
| | ^^^^^^^^^^ |
| | | |
| | `x` escapes the function body here |
| | argument requires that `'a` must outlive `'static` |
| | |
| = 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` |
| = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0521`. |