| #![allow(dead_code, unused_variables, unused_macro_rules, bad_style)] |
| #![deny(keyword_idents)] |
| |
| //@ edition:2015 |
| //@ run-rustfix |
| |
| fn r#async() {} //~ ERROR async |
| //~^ WARN this is accepted in the current edition |
| |
| macro_rules! foo { |
| ($foo:ident) => {}; |
| ($async:expr, r#async) => {}; |
| //~^ ERROR async |
| //~| WARN this is accepted in the current edition |
| } |
| |
| foo!(r#async); |
| //~^ ERROR async |
| //~| WARN this is accepted in the current edition |
| |
| mod dont_lint_raw { |
| fn r#async() {} |
| } |
| |
| mod async_trait { |
| trait r#async {} |
| //~^ ERROR async |
| //~| WARN this is accepted in the current edition |
| struct MyStruct; |
| impl r#async for MyStruct {} |
| //~^ ERROR async |
| //~| WARN this is accepted in the current edition |
| } |
| |
| mod async_static { |
| static r#async: u32 = 0; |
| //~^ ERROR async |
| //~| WARN this is accepted in the current edition |
| } |
| |
| mod async_const { |
| const r#async: u32 = 0; |
| //~^ ERROR async |
| //~| WARN this is accepted in the current edition |
| } |
| |
| struct Foo; |
| impl Foo { fn r#async() {} } |
| //~^ ERROR async |
| //~| WARN this is accepted in the current edition |
| |
| fn main() { |
| struct r#async {} |
| //~^ ERROR async |
| //~| WARN this is accepted in the current edition |
| let r#async: r#async = r#async {}; |
| //~^ ERROR async |
| //~| WARN this is accepted in the current edition |
| //~| ERROR async |
| //~| WARN this is accepted in the current edition |
| //~| ERROR async |
| //~| WARN this is accepted in the current edition |
| } |
| |
| #[macro_export] |
| macro_rules! produces_async { |
| () => (pub fn r#async() {}) |
| //~^ ERROR async |
| //~| WARN this is accepted in the current edition |
| } |
| |
| #[macro_export] |
| macro_rules! consumes_async { |
| (r#async) => (1) |
| //~^ ERROR async |
| //~| WARN this is accepted in the current edition |
| } |