mirror of https://github.com/rust-lang/rust
18 lines
409 B
Rust
18 lines
409 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
|
|
}
|