about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlexander Regueiro <alexreg@me.com>2018-08-09 21:51:12 +0100
committerAlexander Regueiro <alexreg@me.com>2018-08-20 21:57:56 +0100
commite221fcce66ed8fd9e7c89988596d28e768193f98 (patch)
treee046b5f37b202e70a7d15a8f5f72a4159f4eb32d /src
parent1558ae7cfd5e1190d3388dcc6f0f734589e4e478 (diff)
downloadrust-e221fcce66ed8fd9e7c89988596d28e768193f98.tar.gz
rust-e221fcce66ed8fd9e7c89988596d28e768193f98.zip
Removed `raw_identifiers` feature gate.
Diffstat (limited to 'src')
-rw-r--r--src/librustc_lint/builtin.rs14
-rw-r--r--src/libsyntax/diagnostic_list.rs5
-rw-r--r--src/libsyntax/feature_gate.rs15
-rw-r--r--src/test/run-pass/auxiliary/edition-kw-macro-2015.rs2
-rw-r--r--src/test/run-pass/edition-keywords-2015-2015.rs2
-rw-r--r--src/test/run-pass/edition-keywords-2015-2018.rs2
-rw-r--r--src/test/run-pass/rfc-2151-raw-identifiers/attr.rs2
-rw-r--r--src/test/run-pass/rfc-2151-raw-identifiers/basic.rs2
-rw-r--r--src/test/run-pass/rfc-2151-raw-identifiers/items.rs2
-rw-r--r--src/test/run-pass/rfc-2151-raw-identifiers/macros.rs1
-rw-r--r--src/test/ui/E0705.rs9
-rw-r--r--src/test/ui/E0705.stderr6
-rw-r--r--src/test/ui/editions/auxiliary/edition-kw-macro-2015.rs1
-rw-r--r--src/test/ui/editions/edition-keywords-2015-2015-expansion.rs1
-rw-r--r--src/test/ui/editions/edition-keywords-2015-2015-parsing.rs2
-rw-r--r--src/test/ui/editions/edition-keywords-2015-2015-parsing.stderr4
-rw-r--r--src/test/ui/editions/edition-keywords-2015-2018-expansion.rs2
-rw-r--r--src/test/ui/editions/edition-keywords-2015-2018-expansion.stderr2
-rw-r--r--src/test/ui/editions/edition-keywords-2015-2018-parsing.rs2
-rw-r--r--src/test/ui/editions/edition-keywords-2015-2018-parsing.stderr4
-rw-r--r--src/test/ui/feature-gates/feature-gate-raw-identifiers.rs14
-rw-r--r--src/test/ui/feature-gates/feature-gate-raw-identifiers.stderr11
-rw-r--r--src/test/ui/raw/raw-literal-keywords.rs2
-rw-r--r--src/test/ui/raw/raw-literal-keywords.stderr6
-rw-r--r--src/test/ui/raw/raw-literal-self.rs2
-rw-r--r--src/test/ui/raw/raw-literal-self.stderr2
-rw-r--r--src/test/ui/rust-2018/async-ident-allowed.stderr2
-rw-r--r--src/test/ui/rust-2018/async-ident.fixed1
-rw-r--r--src/test/ui/rust-2018/async-ident.rs1
-rw-r--r--src/test/ui/rust-2018/async-ident.stderr30
30 files changed, 42 insertions, 109 deletions
diff --git a/src/librustc_lint/builtin.rs b/src/librustc_lint/builtin.rs
index 0936f28a8fb..102c8067344 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 15abad555f4..89af57a0858 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 74f573fceba..8a595113fcb 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 69952e9f90a..f8ed2c7f432 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 73869e63de7..1751eacc6b7 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 0a1c6505854..f2794a4b8d8 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 6cea75cf1d1..2ef9fba2076 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 5d495c4e9e5..eefce3981be 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 256bd263d38..4306ffe2042 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 4bd16ded52f..9e89b79266c 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 b5fd3cf35f2..2e3492937ac 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 2aa3077e48c..c40064d38d2 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 8f80e000e3c..5b8832ddaf2 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 3b78ce80be2..a9037a50ecb 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 08cba2d2908..bdb190c748a 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 5b6fd3e1c9c..a629d13e6c3 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 41d5ebd3e7d..291fd0285e5 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 5852d56e6d3..d087146d7a1 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 337d6be6bbc..1b7bfb53059 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 60cfbce3ff0..ab8a34a4a9e 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 38024feb432..00000000000
--- 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 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, 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 02eff7247c4..00000000000
--- 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 9bb6653d770..f1bfbc95eb3 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 022f80ae8a4..8a6b91b4b4b 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 f88d6cf9a67..17496d767b6 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 e3345847aa8..f4b75937247 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 1644102cdca..741c1c70209 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 228bf911253..15b8eec3bea 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 cc400c2a92e..6087d2c1642 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 94fd3e70434..06d68a38c5f 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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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`