error[E0521]: borrowed data escapes outside of function --> $DIR/region-invariant-static-error-reporting.rs:14:9 | LL | fn unify<'a>(x: Option>, 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 for more information about variance error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0521`.