// Regression test for #81650 // run-rustfix #![allow(warnings)] struct Foo<'a> { x: &'a mut &'a i32, } impl<'a> Foo<'a> { fn bar(&self, f: F) where F: FnOnce(&Foo<'a>) -> T, F: 'a, {} } trait Test { fn test(&self); } fn func<'a, T: Test + 'a>(foo: &'a Foo<'a>, t: T) { foo.bar(move |_| { //~^ ERROR the parameter type `T` may not live long enough t.test(); }); } fn main() {}