error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:7:4
   |
LL | fn async() {}
   |    ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
note: lint level defined here
  --> $DIR/async-ident.rs:2:9
   |
LL | #![deny(keyword_idents)]
   |         ^^^^^^^^^^^^^^
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:12:7
   |
LL |     ($async:expr, async) => {};
   |       ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:12:19
   |
LL |     ($async:expr, async) => {};
   |                   ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:19:6
   |
LL | foo!(async);
   |      ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:28:11
   |
LL |     trait async {}
   |           ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:32:10
   |
LL |     impl async for MyStruct {}
   |          ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:38:12
   |
LL |     static async: u32 = 0;
   |            ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:44:11
   |
LL |     const async: u32 = 0;
   |           ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:50:15
   |
LL | impl Foo { fn async() {} }
   |               ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:55:12
   |
LL |     struct async {}
   |            ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:58:9
   |
LL |     let async: async = async {};
   |         ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:58:16
   |
LL |     let async: async = async {};
   |                ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:58:24
   |
LL |     let async: async = async {};
   |                        ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:69:19
   |
LL |     () => (pub fn async() {})
   |                   ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: `async` is a keyword in the 2018 edition
  --> $DIR/async-ident.rs:76:6
   |
LL |     (async) => (1)
   |      ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #49716 <https://github.com/rust-lang/rust/issues/49716>

error: aborting due to 15 previous errors

