summaryrefslogtreecommitdiffstats
path: root/tests/ui/lifetimes/issue-69314.fixed
blob: 41116d4ea617037000c074a6fd8cbdc95559fc8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// run-rustfix
// edition:2021
#![allow(dead_code, unused_mut, unused_variables)]
struct A {}
struct Msg<'a> {
    s: &'a [i32],
}
impl A {
    async fn g(buf: &[i32]) -> Msg<'_> {
        Msg { s: &buf[0..1] }
    }
    async fn f() {
        let mut buf = [0; 512];
        let m2 = &buf[..]; //~ ERROR `buf` does not live long enough
        let m = Self::g(m2).await;
        Self::f2(m).await;
    }
    async fn f2(m: Msg<'_>) {}
    //~^ ERROR implicit elided lifetime not allowed here
}

fn main() {}