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