about summary refs log tree commit diff
path: root/tests/ui/regions/regions-escape-method.rs
blob: 82bf86c79b235c0d0bcceaccc1ed52eccdfaee06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Test a method call where the parameter `B` would (illegally) be
// inferred to a region bound in the method argument. If this program
// were accepted, then the closure passed to `s.f` could escape its
// argument.
//@ run-rustfix

struct S;

impl S {
    fn f<B, F>(&self, _: F) where F: FnOnce(&i32) -> B {
    }
}

fn main() {
    let s = S;
    s.f(|p| p) //~ ERROR lifetime may not live long enough
}