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:
parent
8a21c2f7f2
commit
f2a4d7fdbe
1 changed files with 37 additions and 0 deletions
|
|
@ -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`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue