2024-02-16 14:02:50 -06:00
|
|
|
//@ run-rustfix
|
|
|
|
//@ edition:2021
|
2023-02-03 17:21:56 -06:00
|
|
|
#![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() {}
|