18 lines
410 B
Rust
18 lines
410 B
Rust
|
// 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
|
||
|
}
|