rust/tests/ui/regions/regions-escape-method.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

17 lines
393 B
Rust
Raw Normal View History

// 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.
struct S;
impl S {
2015-01-03 15:45:00 +00:00
fn f<B, F>(&self, _: F) where F: FnOnce(&i32) -> B {
}
}
fn main() {
let s = S;
2020-05-20 17:58:41 +00:00
s.f(|p| p) //~ ERROR lifetime may not live long enough
}