error[E0521]: borrowed data escapes outside of function --> $DIR/region-invariant-static-error-reporting.rs:15: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 previous error For more information about this error, try `rustc --explain E0521`.