2019-07-18 18:43:10 +00:00
|
|
|
// compile-flags: --edition 2018
|
|
|
|
#![feature(async_await)]
|
|
|
|
#![allow(dead_code)]
|
|
|
|
|
2019-07-19 16:50:18 +00:00
|
|
|
// No edition 2018
|
|
|
|
#[rustfmt::skip]
|
|
|
|
mod m {
|
|
|
|
async fn sink1<'a>(_: &'a str) {} // lint
|
|
|
|
async fn sink1_elided(_: &str) {} // ok
|
2019-07-18 18:43:10 +00:00
|
|
|
|
2019-07-19 16:50:18 +00:00
|
|
|
// lint
|
|
|
|
async fn one_to_one<'a>(s: &'a str) -> &'a str {
|
|
|
|
s
|
|
|
|
}
|
2019-07-19 15:03:34 +00:00
|
|
|
|
2019-07-19 16:50:18 +00:00
|
|
|
// ok
|
|
|
|
async fn one_to_one_elided(s: &str) -> &str {
|
|
|
|
s
|
|
|
|
}
|
2019-07-19 15:03:34 +00:00
|
|
|
|
2019-07-19 16:50:18 +00:00
|
|
|
// ok
|
|
|
|
async fn all_to_one<'a>(a: &'a str, _b: &'a str) -> &'a str {
|
|
|
|
a
|
|
|
|
}
|
2019-07-19 15:03:34 +00:00
|
|
|
|
2019-07-19 16:50:18 +00:00
|
|
|
// async fn unrelated(_: &str, _: &str) {} // Not allowed in async fn
|
2019-07-18 18:43:10 +00:00
|
|
|
|
2019-07-19 16:50:18 +00:00
|
|
|
// #3988
|
|
|
|
struct Foo;
|
|
|
|
impl Foo {
|
|
|
|
// ok
|
|
|
|
pub async fn foo(&mut self) {}
|
|
|
|
}
|
2019-07-18 18:43:10 +00:00
|
|
|
|
2019-07-19 16:50:18 +00:00
|
|
|
// rust-lang/rust#61115
|
|
|
|
// ok
|
|
|
|
async fn print(s: &str) {
|
|
|
|
println!("{}", s);
|
|
|
|
}
|
2019-07-18 18:43:10 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|