diff --git a/src/librustc_lint/builtin.rs b/src/librustc_lint/builtin.rs index 0936f28a8fb1e..102c806734407 100644 --- a/src/librustc_lint/builtin.rs +++ b/src/librustc_lint/builtin.rs @@ -1928,14 +1928,12 @@ impl Async2018 { ); // Don't suggest about raw identifiers if the feature isn't active - if cx.sess.features_untracked().raw_identifiers { - lint.span_suggestion_with_applicability( - span, - "you can use a raw identifier to stay compatible", - "r#async".to_string(), - Applicability::MachineApplicable, - ); - } + lint.span_suggestion_with_applicability( + span, + "you can use a raw identifier to stay compatible", + "r#async".to_string(), + Applicability::MachineApplicable, + ); lint.emit() } } diff --git a/src/libsyntax/diagnostic_list.rs b/src/libsyntax/diagnostic_list.rs index 15abad555f4b6..89af57a085807 100644 --- a/src/libsyntax/diagnostic_list.rs +++ b/src/libsyntax/diagnostic_list.rs @@ -382,8 +382,9 @@ Erroneous code example: ```ignore (limited to a warning during 2018 edition development) #![feature(rust_2018_preview)] -#![feature(raw_identifiers)] // error: the feature `raw_identifiers` is - // included in the Rust 2018 edition +#![feature(impl_header_lifetime_elision)] // error: the feature + // `impl_header_lifetime_elision` is + // included in the Rust 2018 edition ``` "##, diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs index 74f573fceba81..8a595113fcb5d 100644 --- a/src/libsyntax/feature_gate.rs +++ b/src/libsyntax/feature_gate.rs @@ -423,9 +423,6 @@ declare_features! ( // `use path as _;` and `extern crate c as _;` (active, underscore_imports, "1.26.0", Some(48216), None), - // Allows keywords to be escaped for use as identifiers - (active, raw_identifiers, "1.26.0", Some(48589), Some(Edition::Edition2018)), - // Allows macro invocations in `extern {}` blocks (active, macros_in_extern, "1.27.0", Some(49476), None), @@ -651,6 +648,8 @@ declare_features! ( // Allows importing and reexporting macros with `use`, // enables macro modularization in general. (accepted, use_extern_macros, "1.30.0", Some(35896), None), + // Allows keywords to be escaped for use as identifiers + (accepted, raw_identifiers, "1.30.0", Some(48589), None), ); // If you change this, please modify src/doc/unstable-book as well. You must @@ -2072,16 +2071,6 @@ pub fn check_crate(krate: &ast::Crate, plugin_attributes, }; - if !features.raw_identifiers { - for &span in sess.raw_identifier_spans.borrow().iter() { - if !span.allows_unstable() { - gate_feature!(&ctx, raw_identifiers, span, - "raw identifiers are experimental and subject to change" - ); - } - } - } - let visitor = &mut PostExpansionVisitor { context: &ctx }; visitor.whole_crate_feature_gates(krate); visit::walk_crate(visitor, krate); diff --git a/src/test/run-pass/auxiliary/edition-kw-macro-2015.rs b/src/test/run-pass/auxiliary/edition-kw-macro-2015.rs index 69952e9f90af6..f8ed2c7f432eb 100644 --- a/src/test/run-pass/auxiliary/edition-kw-macro-2015.rs +++ b/src/test/run-pass/auxiliary/edition-kw-macro-2015.rs @@ -10,8 +10,6 @@ // edition:2015 -#![feature(raw_identifiers)] - #[macro_export] macro_rules! produces_async { () => (pub fn async() {}) diff --git a/src/test/run-pass/edition-keywords-2015-2015.rs b/src/test/run-pass/edition-keywords-2015-2015.rs index 73869e63de7c4..1751eacc6b7ce 100644 --- a/src/test/run-pass/edition-keywords-2015-2015.rs +++ b/src/test/run-pass/edition-keywords-2015-2015.rs @@ -11,8 +11,6 @@ // edition:2015 // aux-build:edition-kw-macro-2015.rs -#![feature(raw_identifiers)] - #[macro_use] extern crate edition_kw_macro_2015; diff --git a/src/test/run-pass/edition-keywords-2015-2018.rs b/src/test/run-pass/edition-keywords-2015-2018.rs index 0a1c6505854c9..f2794a4b8d81a 100644 --- a/src/test/run-pass/edition-keywords-2015-2018.rs +++ b/src/test/run-pass/edition-keywords-2015-2018.rs @@ -11,8 +11,6 @@ // edition:2015 // aux-build:edition-kw-macro-2018.rs -#![feature(raw_identifiers)] - #[macro_use] extern crate edition_kw_macro_2018; diff --git a/src/test/run-pass/rfc-2151-raw-identifiers/attr.rs b/src/test/run-pass/rfc-2151-raw-identifiers/attr.rs index 6cea75cf1d11e..2ef9fba2076ad 100644 --- a/src/test/run-pass/rfc-2151-raw-identifiers/attr.rs +++ b/src/test/run-pass/rfc-2151-raw-identifiers/attr.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(raw_identifiers)] - use std::mem; #[r#repr(r#C, r#packed)] diff --git a/src/test/run-pass/rfc-2151-raw-identifiers/basic.rs b/src/test/run-pass/rfc-2151-raw-identifiers/basic.rs index 5d495c4e9e557..eefce3981bec1 100644 --- a/src/test/run-pass/rfc-2151-raw-identifiers/basic.rs +++ b/src/test/run-pass/rfc-2151-raw-identifiers/basic.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(raw_identifiers)] - fn r#fn(r#match: u32) -> u32 { r#match } diff --git a/src/test/run-pass/rfc-2151-raw-identifiers/items.rs b/src/test/run-pass/rfc-2151-raw-identifiers/items.rs index 256bd263d38d4..4306ffe2042af 100644 --- a/src/test/run-pass/rfc-2151-raw-identifiers/items.rs +++ b/src/test/run-pass/rfc-2151-raw-identifiers/items.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(raw_identifiers)] - #[derive(Debug, PartialEq, Eq)] struct IntWrapper(u32); diff --git a/src/test/run-pass/rfc-2151-raw-identifiers/macros.rs b/src/test/run-pass/rfc-2151-raw-identifiers/macros.rs index 4bd16ded52fbd..9e89b79266cfa 100644 --- a/src/test/run-pass/rfc-2151-raw-identifiers/macros.rs +++ b/src/test/run-pass/rfc-2151-raw-identifiers/macros.rs @@ -9,7 +9,6 @@ // except according to those terms. #![feature(decl_macro)] -#![feature(raw_identifiers)] r#macro_rules! r#struct { ($r#struct:expr) => { $r#struct } diff --git a/src/test/ui/E0705.rs b/src/test/ui/E0705.rs index b5fd3cf35f28b..2e3492937acb9 100644 --- a/src/test/ui/E0705.rs +++ b/src/test/ui/E0705.rs @@ -10,11 +10,8 @@ // compile-pass -#![feature(raw_identifiers)] -//~^ WARN the feature `raw_identifiers` is included in the Rust 2018 edition +#![feature(impl_header_lifetime_elision)] +//~^ WARN the feature `impl_header_lifetime_elision` is included in the Rust 2018 edition #![feature(rust_2018_preview)] -fn main() { - let foo = 0; - let bar = r#foo; -} +fn main() {} diff --git a/src/test/ui/E0705.stderr b/src/test/ui/E0705.stderr index 2aa3077e48c2d..c40064d38d2ff 100644 --- a/src/test/ui/E0705.stderr +++ b/src/test/ui/E0705.stderr @@ -1,6 +1,6 @@ -warning[E0705]: the feature `raw_identifiers` is included in the Rust 2018 edition +warning[E0705]: the feature `impl_header_lifetime_elision` is included in the Rust 2018 edition --> $DIR/E0705.rs:13:12 | -LL | #![feature(raw_identifiers)] - | ^^^^^^^^^^^^^^^ +LL | #![feature(impl_header_lifetime_elision)] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/test/ui/editions/auxiliary/edition-kw-macro-2015.rs b/src/test/ui/editions/auxiliary/edition-kw-macro-2015.rs index 8f80e000e3caf..5b8832ddaf27c 100644 --- a/src/test/ui/editions/auxiliary/edition-kw-macro-2015.rs +++ b/src/test/ui/editions/auxiliary/edition-kw-macro-2015.rs @@ -10,7 +10,6 @@ // edition:2015 -#![feature(raw_identifiers)] #![allow(async_idents)] #[macro_export] diff --git a/src/test/ui/editions/edition-keywords-2015-2015-expansion.rs b/src/test/ui/editions/edition-keywords-2015-2015-expansion.rs index 3b78ce80be208..a9037a50ecb6b 100644 --- a/src/test/ui/editions/edition-keywords-2015-2015-expansion.rs +++ b/src/test/ui/editions/edition-keywords-2015-2015-expansion.rs @@ -12,7 +12,6 @@ // aux-build:edition-kw-macro-2015.rs // compile-pass -#![feature(raw_identifiers)] #![allow(async_idents)] #[macro_use] diff --git a/src/test/ui/editions/edition-keywords-2015-2015-parsing.rs b/src/test/ui/editions/edition-keywords-2015-2015-parsing.rs index 08cba2d2908a6..bdb190c748ace 100644 --- a/src/test/ui/editions/edition-keywords-2015-2015-parsing.rs +++ b/src/test/ui/editions/edition-keywords-2015-2015-parsing.rs @@ -11,8 +11,6 @@ // edition:2015 // aux-build:edition-kw-macro-2015.rs -#![feature(raw_identifiers)] - #[macro_use] extern crate edition_kw_macro_2015; diff --git a/src/test/ui/editions/edition-keywords-2015-2015-parsing.stderr b/src/test/ui/editions/edition-keywords-2015-2015-parsing.stderr index 5b6fd3e1c9c43..a629d13e6c31b 100644 --- a/src/test/ui/editions/edition-keywords-2015-2015-parsing.stderr +++ b/src/test/ui/editions/edition-keywords-2015-2015-parsing.stderr @@ -1,11 +1,11 @@ error: no rules expected the token `r#async` - --> $DIR/edition-keywords-2015-2015-parsing.rs:24:31 + --> $DIR/edition-keywords-2015-2015-parsing.rs:22:31 | LL | r#async = consumes_async!(r#async); //~ ERROR no rules expected the token `r#async` | ^^^^^^^ error: no rules expected the token `async` - --> $DIR/edition-keywords-2015-2015-parsing.rs:25:35 + --> $DIR/edition-keywords-2015-2015-parsing.rs:23:35 | LL | r#async = consumes_async_raw!(async); //~ ERROR no rules expected the token `async` | ^^^^^ diff --git a/src/test/ui/editions/edition-keywords-2015-2018-expansion.rs b/src/test/ui/editions/edition-keywords-2015-2018-expansion.rs index 41d5ebd3e7db1..291fd0285e57c 100644 --- a/src/test/ui/editions/edition-keywords-2015-2018-expansion.rs +++ b/src/test/ui/editions/edition-keywords-2015-2018-expansion.rs @@ -11,8 +11,6 @@ // edition:2015 // aux-build:edition-kw-macro-2018.rs -#![feature(raw_identifiers)] - #[macro_use] extern crate edition_kw_macro_2018; diff --git a/src/test/ui/editions/edition-keywords-2015-2018-expansion.stderr b/src/test/ui/editions/edition-keywords-2015-2018-expansion.stderr index 5852d56e6d374..d087146d7a14a 100644 --- a/src/test/ui/editions/edition-keywords-2015-2018-expansion.stderr +++ b/src/test/ui/editions/edition-keywords-2015-2018-expansion.stderr @@ -1,5 +1,5 @@ error: expected identifier, found reserved keyword `async` - --> $DIR/edition-keywords-2015-2018-expansion.rs:20:5 + --> $DIR/edition-keywords-2015-2018-expansion.rs:18:5 | LL | produces_async! {} //~ ERROR expected identifier, found reserved keyword | ^^^^^^^^^^^^^^^^^^ expected identifier, found reserved keyword diff --git a/src/test/ui/editions/edition-keywords-2015-2018-parsing.rs b/src/test/ui/editions/edition-keywords-2015-2018-parsing.rs index 337d6be6bbcd8..1b7bfb530596a 100644 --- a/src/test/ui/editions/edition-keywords-2015-2018-parsing.rs +++ b/src/test/ui/editions/edition-keywords-2015-2018-parsing.rs @@ -11,8 +11,6 @@ // edition:2015 // aux-build:edition-kw-macro-2018.rs -#![feature(raw_identifiers)] - #[macro_use] extern crate edition_kw_macro_2018; diff --git a/src/test/ui/editions/edition-keywords-2015-2018-parsing.stderr b/src/test/ui/editions/edition-keywords-2015-2018-parsing.stderr index 60cfbce3ff0e4..ab8a34a4a9e3d 100644 --- a/src/test/ui/editions/edition-keywords-2015-2018-parsing.stderr +++ b/src/test/ui/editions/edition-keywords-2015-2018-parsing.stderr @@ -1,11 +1,11 @@ error: no rules expected the token `r#async` - --> $DIR/edition-keywords-2015-2018-parsing.rs:24:31 + --> $DIR/edition-keywords-2015-2018-parsing.rs:22:31 | LL | r#async = consumes_async!(r#async); //~ ERROR no rules expected the token `r#async` | ^^^^^^^ error: no rules expected the token `async` - --> $DIR/edition-keywords-2015-2018-parsing.rs:25:35 + --> $DIR/edition-keywords-2015-2018-parsing.rs:23:35 | LL | r#async = consumes_async_raw!(async); //~ ERROR no rules expected the token `async` | ^^^^^ diff --git a/src/test/ui/feature-gates/feature-gate-raw-identifiers.rs b/src/test/ui/feature-gates/feature-gate-raw-identifiers.rs deleted file mode 100644 index 38024feb432d9..0000000000000 --- a/src/test/ui/feature-gates/feature-gate-raw-identifiers.rs +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2018 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -fn main() { - let r#foo = 3; //~ ERROR raw identifiers are experimental and subject to change - println!("{}", foo); -} diff --git a/src/test/ui/feature-gates/feature-gate-raw-identifiers.stderr b/src/test/ui/feature-gates/feature-gate-raw-identifiers.stderr deleted file mode 100644 index 02eff7247c47b..0000000000000 --- a/src/test/ui/feature-gates/feature-gate-raw-identifiers.stderr +++ /dev/null @@ -1,11 +0,0 @@ -error[E0658]: raw identifiers are experimental and subject to change (see issue #48589) - --> $DIR/feature-gate-raw-identifiers.rs:12:9 - | -LL | let r#foo = 3; //~ ERROR raw identifiers are experimental and subject to change - | ^^^^^ - | - = help: add #![feature(raw_identifiers)] to the crate attributes to enable - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0658`. diff --git a/src/test/ui/raw/raw-literal-keywords.rs b/src/test/ui/raw/raw-literal-keywords.rs index 9bb6653d77080..f1bfbc95eb395 100644 --- a/src/test/ui/raw/raw-literal-keywords.rs +++ b/src/test/ui/raw/raw-literal-keywords.rs @@ -10,8 +10,6 @@ // compile-flags: -Z parse-only -#![feature(raw_identifiers)] - fn test_if() { r#if true { } //~ ERROR found `true` } diff --git a/src/test/ui/raw/raw-literal-keywords.stderr b/src/test/ui/raw/raw-literal-keywords.stderr index 022f80ae8a4ec..8a6b91b4b4b6f 100644 --- a/src/test/ui/raw/raw-literal-keywords.stderr +++ b/src/test/ui/raw/raw-literal-keywords.stderr @@ -1,17 +1,17 @@ error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `true` - --> $DIR/raw-literal-keywords.rs:16:10 + --> $DIR/raw-literal-keywords.rs:14:10 | LL | r#if true { } //~ ERROR found `true` | ^^^^ expected one of 8 possible tokens here error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `Test` - --> $DIR/raw-literal-keywords.rs:20:14 + --> $DIR/raw-literal-keywords.rs:18:14 | LL | r#struct Test; //~ ERROR found `Test` | ^^^^ expected one of 8 possible tokens here error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `Test` - --> $DIR/raw-literal-keywords.rs:24:13 + --> $DIR/raw-literal-keywords.rs:22:13 | LL | r#union Test; //~ ERROR found `Test` | ^^^^ expected one of 8 possible tokens here diff --git a/src/test/ui/raw/raw-literal-self.rs b/src/test/ui/raw/raw-literal-self.rs index f88d6cf9a67bd..17496d767b622 100644 --- a/src/test/ui/raw/raw-literal-self.rs +++ b/src/test/ui/raw/raw-literal-self.rs @@ -10,8 +10,6 @@ // compile-flags: -Z parse-only -#![feature(raw_identifiers)] - fn self_test(r#self: u32) { //~^ ERROR `r#self` is not currently supported. } diff --git a/src/test/ui/raw/raw-literal-self.stderr b/src/test/ui/raw/raw-literal-self.stderr index e3345847aa895..f4b759372471c 100644 --- a/src/test/ui/raw/raw-literal-self.stderr +++ b/src/test/ui/raw/raw-literal-self.stderr @@ -1,5 +1,5 @@ error: `r#self` is not currently supported. - --> $DIR/raw-literal-self.rs:15:14 + --> $DIR/raw-literal-self.rs:13:14 | LL | fn self_test(r#self: u32) { | ^^^^^^ diff --git a/src/test/ui/rust-2018/async-ident-allowed.stderr b/src/test/ui/rust-2018/async-ident-allowed.stderr index 1644102cdca1a..741c1c70209bc 100644 --- a/src/test/ui/rust-2018/async-ident-allowed.stderr +++ b/src/test/ui/rust-2018/async-ident-allowed.stderr @@ -2,7 +2,7 @@ error: `async` is a keyword in the 2018 edition --> $DIR/async-ident-allowed.rs:19:9 | LL | let async = 3; //~ ERROR: is a keyword - | ^^^^^ + | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` | note: lint level defined here --> $DIR/async-ident-allowed.rs:13:9 diff --git a/src/test/ui/rust-2018/async-ident.fixed b/src/test/ui/rust-2018/async-ident.fixed index 228bf91125337..15b8eec3bea99 100644 --- a/src/test/ui/rust-2018/async-ident.fixed +++ b/src/test/ui/rust-2018/async-ident.fixed @@ -8,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(raw_identifiers)] #![allow(dead_code, unused_variables, non_camel_case_types, non_upper_case_globals)] #![deny(async_idents)] diff --git a/src/test/ui/rust-2018/async-ident.rs b/src/test/ui/rust-2018/async-ident.rs index cc400c2a92e0e..6087d2c16423e 100644 --- a/src/test/ui/rust-2018/async-ident.rs +++ b/src/test/ui/rust-2018/async-ident.rs @@ -8,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(raw_identifiers)] #![allow(dead_code, unused_variables, non_camel_case_types, non_upper_case_globals)] #![deny(async_idents)] diff --git a/src/test/ui/rust-2018/async-ident.stderr b/src/test/ui/rust-2018/async-ident.stderr index 94fd3e70434cb..06d68a38c5f38 100644 --- a/src/test/ui/rust-2018/async-ident.stderr +++ b/src/test/ui/rust-2018/async-ident.stderr @@ -1,11 +1,11 @@ error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:18:4 + --> $DIR/async-ident.rs:17:4 | LL | fn async() {} //~ ERROR async | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` | note: lint level defined here - --> $DIR/async-ident.rs:13:9 + --> $DIR/async-ident.rs:12:9 | LL | #![deny(async_idents)] | ^^^^^^^^^^^^ @@ -13,7 +13,7 @@ LL | #![deny(async_idents)] = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:23:7 + --> $DIR/async-ident.rs:22:7 | LL | ($async:expr, async) => {}; | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` @@ -22,7 +22,7 @@ LL | ($async:expr, async) => {}; = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:23:19 + --> $DIR/async-ident.rs:22:19 | LL | ($async:expr, async) => {}; | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` @@ -31,7 +31,7 @@ LL | ($async:expr, async) => {}; = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:37:11 + --> $DIR/async-ident.rs:36:11 | LL | trait async {} | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` @@ -40,7 +40,7 @@ LL | trait async {} = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:41:10 + --> $DIR/async-ident.rs:40:10 | LL | impl async for MyStruct {} | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` @@ -49,7 +49,7 @@ LL | impl async for MyStruct {} = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:47:12 + --> $DIR/async-ident.rs:46:12 | LL | static async: u32 = 0; | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` @@ -58,7 +58,7 @@ LL | static async: u32 = 0; = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:53:11 + --> $DIR/async-ident.rs:52:11 | LL | const async: u32 = 0; | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` @@ -67,7 +67,7 @@ LL | const async: u32 = 0; = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:59:15 + --> $DIR/async-ident.rs:58:15 | LL | impl Foo { fn async() {} } | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` @@ -76,7 +76,7 @@ LL | impl Foo { fn async() {} } = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:64:12 + --> $DIR/async-ident.rs:63:12 | LL | struct async {} | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` @@ -85,7 +85,7 @@ LL | struct async {} = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:67:9 + --> $DIR/async-ident.rs:66:9 | LL | let async: async = async {}; | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` @@ -94,7 +94,7 @@ LL | let async: async = async {}; = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:67:16 + --> $DIR/async-ident.rs:66:16 | LL | let async: async = async {}; | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` @@ -103,7 +103,7 @@ LL | let async: async = async {}; = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:67:24 + --> $DIR/async-ident.rs:66:24 | LL | let async: async = async {}; | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` @@ -112,7 +112,7 @@ LL | let async: async = async {}; = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:78:19 + --> $DIR/async-ident.rs:77:19 | LL | () => (pub fn async() {}) | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async` @@ -121,7 +121,7 @@ LL | () => (pub fn async() {}) = note: for more information, see issue #49716 error: `async` is a keyword in the 2018 edition - --> $DIR/async-ident.rs:85:6 + --> $DIR/async-ident.rs:84:6 | LL | (async) => (1) | ^^^^^ help: you can use a raw identifier to stay compatible: `r#async`