error: expected identifier, found keyword `await`
  --> $DIR/2018-edition-error-in-non-macro-position.rs:6:13
   |
LL |     pub mod await {
   |             ^^^^^ expected identifier, found keyword
   |
help: escape `await` to use it as an identifier
   |
LL |     pub mod r#await {
   |             ++

error: expected identifier, found keyword `await`
  --> $DIR/2018-edition-error-in-non-macro-position.rs:7:20
   |
LL |         pub struct await;
   |                    ^^^^^ expected identifier, found keyword
   |
help: escape `await` to use it as an identifier
   |
LL |         pub struct r#await;
   |                    ++

error: expected identifier, found keyword `await`
  --> $DIR/2018-edition-error-in-non-macro-position.rs:10:22
   |
LL | use self::outer_mod::await::await;
   |                      ^^^^^ expected identifier, found keyword
   |
help: escape `await` to use it as an identifier
   |
LL | use self::outer_mod::r#await::await;
   |                      ++

error: expected identifier, found keyword `await`
  --> $DIR/2018-edition-error-in-non-macro-position.rs:10:29
   |
LL | use self::outer_mod::await::await;
   |                             ^^^^^ expected identifier, found keyword
   |
help: escape `await` to use it as an identifier
   |
LL | use self::outer_mod::await::r#await;
   |                             ++

error: expected identifier, found keyword `await`
  --> $DIR/2018-edition-error-in-non-macro-position.rs:13:14
   |
LL | struct Foo { await: () }
   |        ---   ^^^^^ expected identifier, found keyword
   |        |
   |        while parsing this struct
   |
help: escape `await` to use it as an identifier
   |
LL | struct Foo { r#await: () }
   |              ++

error: expected identifier, found keyword `await`
  --> $DIR/2018-edition-error-in-non-macro-position.rs:16:15
   |
LL | impl Foo { fn await() {} }
   |               ^^^^^ expected identifier, found keyword
   |
help: escape `await` to use it as an identifier
   |
LL | impl Foo { fn r#await() {} }
   |               ++

error: expected identifier, found keyword `await`
  --> $DIR/2018-edition-error-in-non-macro-position.rs:19:14
   |
LL | macro_rules! await {
   |              ^^^^^ expected identifier, found keyword
   |
help: escape `await` to use it as an identifier
   |
LL | macro_rules! r#await {
   |              ++

error: aborting due to 7 previous errors

