summaryrefslogtreecommitdiffstats
path: root/tests/ui/suggestions/lifetimes/missing-lifetimes-in-signature-2.rs
blob: 4096d95e5fd7fe74f57b9f6bbbc14c77081c1878 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Regression test for #81650
// run-rustfix

#![allow(warnings)]

struct Foo<'a> {
    x: &'a mut &'a i32,
}

impl<'a> Foo<'a> {
    fn bar<F, T>(&self, f: F)
    where
        F: FnOnce(&Foo<'a>) -> T,
        F: 'a,
    {}
}

trait Test {
    fn test(&self);
}

fn func<T: Test>(foo: &Foo, t: T) {
    foo.bar(move |_| {
    //~^ ERROR the parameter type `T` may not live long enough
        t.test();
    });
}

fn main() {}