diff options
Diffstat (limited to 'tests/ui/regions/region-invariant-static-error-reporting.stderr')
-rw-r--r-- | tests/ui/regions/region-invariant-static-error-reporting.stderr | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/regions/region-invariant-static-error-reporting.stderr b/tests/ui/regions/region-invariant-static-error-reporting.stderr new file mode 100644 index 000000000..2ad39b000 --- /dev/null +++ b/tests/ui/regions/region-invariant-static-error-reporting.stderr @@ -0,0 +1,21 @@ +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 previous error + +For more information about this error, try `rustc --explain E0521`. |