bless expect-region-supply-region-2 test under polonius

Polonius also emits the error that NLL doesn't get a chance to: see comment
"Borrowck doesn't get a chance to run, but if it did it should error here."
This commit is contained in:
Rémy Rakic 2021-08-03 21:57:57 +02:00
parent 8a21c2f7f2
commit f2a4d7fdbe

View file

@ -0,0 +1,37 @@
error: lifetime may not live long enough
--> $DIR/expect-region-supply-region-2.rs:14:30
|
LL | fn expect_bound_supply_named<'x>() {
| -- lifetime `'x` defined here
...
LL | closure_expecting_bound(|x: &'x u32| {
| ^ - let's call the lifetime of this reference `'1`
| |
| requires that `'1` must outlive `'x`
error[E0521]: borrowed data escapes outside of closure
--> $DIR/expect-region-supply-region-2.rs:20:9
|
LL | let mut f: Option<&u32> = None;
| ----- `f` declared here, outside of the closure body
...
LL | closure_expecting_bound(|x: &'x u32| {
| - `x` is a reference that is only valid in the closure body
...
LL | f = Some(x);
| ^^^^^^^^^^^ `x` escapes the closure body here
error: lifetime may not live long enough
--> $DIR/expect-region-supply-region-2.rs:14:30
|
LL | fn expect_bound_supply_named<'x>() {
| -- lifetime `'x` defined here
...
LL | closure_expecting_bound(|x: &'x u32| {
| ^ requires that `'x` must outlive `'static`
|
= help: consider replacing `'x` with `'static`
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0521`.