about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJubilee Young <workingjubilee@gmail.com>2025-02-05 11:15:27 -0800
committerJubilee Young <workingjubilee@gmail.com>2025-02-09 20:45:47 -0800
commitca193471b52ad3158a49217e66d08064ed91f0cf (patch)
tree02f82f808f525d0d6c25717760f601f5260439d7
parent90c50f0164d07945fdac83a316a5ebaf9e86d7a7 (diff)
downloadrust-ca193471b52ad3158a49217e66d08064ed91f0cf.tar.gz
rust-ca193471b52ad3158a49217e66d08064ed91f0cf.zip
tests: error strings for ABI stability now match
-rw-r--r--tests/incremental/feature_gate.rs2
-rw-r--r--tests/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.stderr2
-rw-r--r--tests/ui/cmse-nonsecure/cmse-nonsecure-entry/gate_test.stderr2
-rw-r--r--tests/ui/feature-gates/feature-gate-abi-avr-interrupt.rs28
-rw-r--r--tests/ui/feature-gates/feature-gate-abi-avr-interrupt.stderr28
-rw-r--r--tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs14
-rw-r--r--tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.stderr14
-rw-r--r--tests/ui/feature-gates/feature-gate-abi-riscv-interrupt.rs12
-rw-r--r--tests/ui/feature-gates/feature-gate-abi-riscv-interrupt.stderr12
-rw-r--r--tests/ui/feature-gates/feature-gate-abi-x86-interrupt.rs14
-rw-r--r--tests/ui/feature-gates/feature-gate-abi-x86-interrupt.stderr14
-rw-r--r--tests/ui/feature-gates/feature-gate-abi.rs38
-rw-r--r--tests/ui/feature-gates/feature-gate-abi.stderr38
-rw-r--r--tests/ui/feature-gates/feature-gate-abi_gpu_kernel.rs14
-rw-r--r--tests/ui/feature-gates/feature-gate-abi_gpu_kernel.stderr14
-rw-r--r--tests/ui/feature-gates/feature-gate-abi_ptx.rs14
-rw-r--r--tests/ui/feature-gates/feature-gate-abi_ptx.stderr14
-rw-r--r--tests/ui/feature-gates/feature-gate-abi_unadjusted.rs2
-rw-r--r--tests/ui/feature-gates/feature-gate-abi_unadjusted.stderr2
-rw-r--r--tests/ui/feature-gates/feature-gate-intrinsics.rs4
-rw-r--r--tests/ui/feature-gates/feature-gate-intrinsics.stderr4
-rw-r--r--tests/ui/feature-gates/feature-gate-rust_cold_cc.rs14
-rw-r--r--tests/ui/feature-gates/feature-gate-rust_cold_cc.stderr14
-rw-r--r--tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.rs8
-rw-r--r--tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.stderr8
-rw-r--r--tests/ui/feature-gates/feature-gate-unboxed-closures.rs2
-rw-r--r--tests/ui/feature-gates/feature-gate-unboxed-closures.stderr2
-rw-r--r--tests/ui/feature-gates/feature-gate-vectorcall.rs14
-rw-r--r--tests/ui/feature-gates/feature-gate-vectorcall.stderr14
-rw-r--r--tests/ui/feature-gates/feature-gated-feature-in-macro-arg.rs2
-rw-r--r--tests/ui/feature-gates/feature-gated-feature-in-macro-arg.stderr2
-rw-r--r--tests/ui/intrinsics/incorrect-read_via_copy-defn.rs2
-rw-r--r--tests/ui/intrinsics/incorrect-read_via_copy-defn.stderr2
-rw-r--r--tests/ui/intrinsics/incorrect-transmute.rs2
-rw-r--r--tests/ui/intrinsics/incorrect-transmute.stderr2
35 files changed, 187 insertions, 187 deletions
diff --git a/tests/incremental/feature_gate.rs b/tests/incremental/feature_gate.rs
index 54c2dbb352e..332cf944b5d 100644
--- a/tests/incremental/feature_gate.rs
+++ b/tests/incremental/feature_gate.rs
@@ -10,4 +10,4 @@ fn main() {
 }
 
 extern "unadjusted" fn foo() {}
-//[cfail2]~^ ERROR: unadjusted ABI is an implementation detail and perma-unstable
+//[cfail2]~^ ERROR: "unadjusted" ABI is an implementation detail and perma-unstable
diff --git a/tests/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.stderr b/tests/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.stderr
index 120d5cc5293..63260b5c78f 100644
--- a/tests/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.stderr
+++ b/tests/ui/cmse-nonsecure/cmse-nonsecure-call/gate_test.stderr
@@ -1,4 +1,4 @@
-error[E0658]: C-cmse-nonsecure-call ABI is experimental and subject to change
+error[E0658]: the extern "C-cmse-nonsecure-call" ABI is experimental and subject to change
   --> $DIR/gate_test.rs:5:46
    |
 LL |         core::mem::transmute::<usize, extern "C-cmse-nonsecure-call" fn(i32, i32, i32, i32) -> i32>(
diff --git a/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/gate_test.stderr b/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/gate_test.stderr
index dabf16cab30..0afbbe647af 100644
--- a/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/gate_test.stderr
+++ b/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/gate_test.stderr
@@ -1,4 +1,4 @@
-error[E0658]: C-cmse-nonsecure-entry ABI is experimental and subject to change
+error[E0658]: the extern "C-cmse-nonsecure-entry" ABI is experimental and subject to change
   --> $DIR/gate_test.rs:4:12
    |
 LL | pub extern "C-cmse-nonsecure-entry" fn entry_function(input: u32) -> u32 {
diff --git a/tests/ui/feature-gates/feature-gate-abi-avr-interrupt.rs b/tests/ui/feature-gates/feature-gate-abi-avr-interrupt.rs
index f37c5335deb..5386628a8e0 100644
--- a/tests/ui/feature-gates/feature-gate-abi-avr-interrupt.rs
+++ b/tests/ui/feature-gates/feature-gate-abi-avr-interrupt.rs
@@ -9,43 +9,43 @@ trait Sized { }
 // feature gate is not used.
 
 extern "avr-non-blocking-interrupt" fn fu() {}
-//~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+//~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental
 extern "avr-interrupt" fn f() {}
-//~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+//~^ ERROR extern "avr-interrupt" ABI is experimental
 
 trait T {
     extern "avr-interrupt" fn m();
-    //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+    //~^ ERROR extern "avr-interrupt" ABI is experimental
     extern "avr-non-blocking-interrupt" fn mu();
-    //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+    //~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental
 
     extern "avr-interrupt" fn dm() {}
-    //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+    //~^ ERROR extern "avr-interrupt" ABI is experimental
     extern "avr-non-blocking-interrupt" fn dmu() {}
-    //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+    //~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental
 }
 
 struct S;
 impl T for S {
     extern "avr-interrupt" fn m() {}
-    //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+    //~^ ERROR extern "avr-interrupt" ABI is experimental
     extern "avr-non-blocking-interrupt" fn mu() {}
-    //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+    //~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental
 }
 
 impl S {
     extern "avr-interrupt" fn im() {}
-    //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+    //~^ ERROR extern "avr-interrupt" ABI is experimental
     extern "avr-non-blocking-interrupt" fn imu() {}
-    //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+    //~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental
 }
 
 type TA = extern "avr-interrupt" fn();
-//~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+//~^ ERROR extern "avr-interrupt" ABI is experimental
 type TAU = extern "avr-non-blocking-interrupt" fn();
-//~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+//~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental
 
 extern "avr-interrupt" {}
-//~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+//~^ ERROR extern "avr-interrupt" ABI is experimental
 extern "avr-non-blocking-interrupt" {}
-//~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
+//~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental
diff --git a/tests/ui/feature-gates/feature-gate-abi-avr-interrupt.stderr b/tests/ui/feature-gates/feature-gate-abi-avr-interrupt.stderr
index c6786699de1..d9f3c3adc7f 100644
--- a/tests/ui/feature-gates/feature-gate-abi-avr-interrupt.stderr
+++ b/tests/ui/feature-gates/feature-gate-abi-avr-interrupt.stderr
@@ -1,4 +1,4 @@
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-non-blocking-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:11:8
    |
 LL | extern "avr-non-blocking-interrupt" fn fu() {}
@@ -8,7 +8,7 @@ LL | extern "avr-non-blocking-interrupt" fn fu() {}
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:13:8
    |
 LL | extern "avr-interrupt" fn f() {}
@@ -18,7 +18,7 @@ LL | extern "avr-interrupt" fn f() {}
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:17:12
    |
 LL |     extern "avr-interrupt" fn m();
@@ -28,7 +28,7 @@ LL |     extern "avr-interrupt" fn m();
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-non-blocking-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:19:12
    |
 LL |     extern "avr-non-blocking-interrupt" fn mu();
@@ -38,7 +38,7 @@ LL |     extern "avr-non-blocking-interrupt" fn mu();
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:22:12
    |
 LL |     extern "avr-interrupt" fn dm() {}
@@ -48,7 +48,7 @@ LL |     extern "avr-interrupt" fn dm() {}
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-non-blocking-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:24:12
    |
 LL |     extern "avr-non-blocking-interrupt" fn dmu() {}
@@ -58,7 +58,7 @@ LL |     extern "avr-non-blocking-interrupt" fn dmu() {}
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:30:12
    |
 LL |     extern "avr-interrupt" fn m() {}
@@ -68,7 +68,7 @@ LL |     extern "avr-interrupt" fn m() {}
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-non-blocking-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:32:12
    |
 LL |     extern "avr-non-blocking-interrupt" fn mu() {}
@@ -78,7 +78,7 @@ LL |     extern "avr-non-blocking-interrupt" fn mu() {}
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:37:12
    |
 LL |     extern "avr-interrupt" fn im() {}
@@ -88,7 +88,7 @@ LL |     extern "avr-interrupt" fn im() {}
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-non-blocking-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:39:12
    |
 LL |     extern "avr-non-blocking-interrupt" fn imu() {}
@@ -98,7 +98,7 @@ LL |     extern "avr-non-blocking-interrupt" fn imu() {}
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:43:18
    |
 LL | type TA = extern "avr-interrupt" fn();
@@ -108,7 +108,7 @@ LL | type TA = extern "avr-interrupt" fn();
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-non-blocking-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:45:19
    |
 LL | type TAU = extern "avr-non-blocking-interrupt" fn();
@@ -118,7 +118,7 @@ LL | type TAU = extern "avr-non-blocking-interrupt" fn();
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:48:8
    |
 LL | extern "avr-interrupt" {}
@@ -128,7 +128,7 @@ LL | extern "avr-interrupt" {}
    = help: add `#![feature(abi_avr_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: avr-interrupt and avr-non-blocking-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "avr-non-blocking-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-avr-interrupt.rs:50:8
    |
 LL | extern "avr-non-blocking-interrupt" {}
diff --git a/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs b/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs
index b0fb4c414d4..bb69a638cee 100644
--- a/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs
+++ b/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs
@@ -6,29 +6,29 @@
 trait Sized { }
 
 extern "msp430-interrupt" fn f() {}
-//~^ ERROR msp430-interrupt ABI is experimental
+//~^ ERROR "msp430-interrupt" ABI is experimental
 
 trait T {
     extern "msp430-interrupt" fn m();
-    //~^ ERROR msp430-interrupt ABI is experimental
+    //~^ ERROR "msp430-interrupt" ABI is experimental
 
     extern "msp430-interrupt" fn dm() {}
-    //~^ ERROR msp430-interrupt ABI is experimental
+    //~^ ERROR "msp430-interrupt" ABI is experimental
 }
 
 struct S;
 impl T for S {
     extern "msp430-interrupt" fn m() {}
-    //~^ ERROR msp430-interrupt ABI is experimental
+    //~^ ERROR "msp430-interrupt" ABI is experimental
 }
 
 impl S {
     extern "msp430-interrupt" fn im() {}
-    //~^ ERROR msp430-interrupt ABI is experimental
+    //~^ ERROR "msp430-interrupt" ABI is experimental
 }
 
 type TA = extern "msp430-interrupt" fn();
-//~^ ERROR msp430-interrupt ABI is experimental
+//~^ ERROR "msp430-interrupt" ABI is experimental
 
 extern "msp430-interrupt" {}
-//~^ ERROR msp430-interrupt ABI is experimental
+//~^ ERROR "msp430-interrupt" ABI is experimental
diff --git a/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.stderr b/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.stderr
index 5dacc86dcc5..21ddbf7a86d 100644
--- a/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.stderr
+++ b/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.stderr
@@ -1,4 +1,4 @@
-error[E0658]: msp430-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-msp430-interrupt.rs:8:8
    |
 LL | extern "msp430-interrupt" fn f() {}
@@ -8,7 +8,7 @@ LL | extern "msp430-interrupt" fn f() {}
    = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: msp430-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-msp430-interrupt.rs:12:12
    |
 LL |     extern "msp430-interrupt" fn m();
@@ -18,7 +18,7 @@ LL |     extern "msp430-interrupt" fn m();
    = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: msp430-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-msp430-interrupt.rs:15:12
    |
 LL |     extern "msp430-interrupt" fn dm() {}
@@ -28,7 +28,7 @@ LL |     extern "msp430-interrupt" fn dm() {}
    = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: msp430-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-msp430-interrupt.rs:21:12
    |
 LL |     extern "msp430-interrupt" fn m() {}
@@ -38,7 +38,7 @@ LL |     extern "msp430-interrupt" fn m() {}
    = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: msp430-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-msp430-interrupt.rs:26:12
    |
 LL |     extern "msp430-interrupt" fn im() {}
@@ -48,7 +48,7 @@ LL |     extern "msp430-interrupt" fn im() {}
    = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: msp430-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-msp430-interrupt.rs:30:18
    |
 LL | type TA = extern "msp430-interrupt" fn();
@@ -58,7 +58,7 @@ LL | type TA = extern "msp430-interrupt" fn();
    = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: msp430-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-msp430-interrupt.rs:33:8
    |
 LL | extern "msp430-interrupt" {}
diff --git a/tests/ui/feature-gates/feature-gate-abi-riscv-interrupt.rs b/tests/ui/feature-gates/feature-gate-abi-riscv-interrupt.rs
index 29820f8877d..6f4989fbd9f 100644
--- a/tests/ui/feature-gates/feature-gate-abi-riscv-interrupt.rs
+++ b/tests/ui/feature-gates/feature-gate-abi-riscv-interrupt.rs
@@ -9,25 +9,25 @@ trait Sized {}
 // feature gate is not used.
 
 extern "riscv-interrupt-m" fn f() {}
-//~^ ERROR riscv-interrupt ABIs are experimental
+//~^ ERROR "riscv-interrupt-m" ABI is experimental
 extern "riscv-interrupt-s" fn f_s() {}
-//~^ ERROR riscv-interrupt ABIs are experimental
+//~^ ERROR "riscv-interrupt-s" ABI is experimental
 
 trait T {
     extern "riscv-interrupt-m" fn m();
-    //~^ ERROR riscv-interrupt ABIs are experimental
+    //~^ ERROR "riscv-interrupt-m" ABI is experimental
 }
 
 struct S;
 impl T for S {
     extern "riscv-interrupt-m" fn m() {}
-    //~^ ERROR riscv-interrupt ABIs are experimental
+    //~^ ERROR "riscv-interrupt-m" ABI is experimental
 }
 
 impl S {
     extern "riscv-interrupt-m" fn im() {}
-    //~^ ERROR riscv-interrupt ABIs are experimental
+    //~^ ERROR "riscv-interrupt-m" ABI is experimental
 }
 
 type TA = extern "riscv-interrupt-m" fn();
-//~^ ERROR riscv-interrupt ABIs are experimental
+//~^ ERROR "riscv-interrupt-m" ABI is experimental
diff --git a/tests/ui/feature-gates/feature-gate-abi-riscv-interrupt.stderr b/tests/ui/feature-gates/feature-gate-abi-riscv-interrupt.stderr
index 6b7853a320b..3c9e99aa1b9 100644
--- a/tests/ui/feature-gates/feature-gate-abi-riscv-interrupt.stderr
+++ b/tests/ui/feature-gates/feature-gate-abi-riscv-interrupt.stderr
@@ -1,4 +1,4 @@
-error[E0658]: riscv-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "riscv-interrupt-m" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-riscv-interrupt.rs:11:8
    |
 LL | extern "riscv-interrupt-m" fn f() {}
@@ -8,7 +8,7 @@ LL | extern "riscv-interrupt-m" fn f() {}
    = help: add `#![feature(abi_riscv_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: riscv-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "riscv-interrupt-s" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-riscv-interrupt.rs:13:8
    |
 LL | extern "riscv-interrupt-s" fn f_s() {}
@@ -18,7 +18,7 @@ LL | extern "riscv-interrupt-s" fn f_s() {}
    = help: add `#![feature(abi_riscv_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: riscv-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "riscv-interrupt-m" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-riscv-interrupt.rs:17:12
    |
 LL |     extern "riscv-interrupt-m" fn m();
@@ -28,7 +28,7 @@ LL |     extern "riscv-interrupt-m" fn m();
    = help: add `#![feature(abi_riscv_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: riscv-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "riscv-interrupt-m" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-riscv-interrupt.rs:23:12
    |
 LL |     extern "riscv-interrupt-m" fn m() {}
@@ -38,7 +38,7 @@ LL |     extern "riscv-interrupt-m" fn m() {}
    = help: add `#![feature(abi_riscv_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: riscv-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "riscv-interrupt-m" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-riscv-interrupt.rs:28:12
    |
 LL |     extern "riscv-interrupt-m" fn im() {}
@@ -48,7 +48,7 @@ LL |     extern "riscv-interrupt-m" fn im() {}
    = help: add `#![feature(abi_riscv_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: riscv-interrupt ABIs are experimental and subject to change
+error[E0658]: the extern "riscv-interrupt-m" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-riscv-interrupt.rs:32:18
    |
 LL | type TA = extern "riscv-interrupt-m" fn();
diff --git a/tests/ui/feature-gates/feature-gate-abi-x86-interrupt.rs b/tests/ui/feature-gates/feature-gate-abi-x86-interrupt.rs
index 812ca12c7c3..93c59364f10 100644
--- a/tests/ui/feature-gates/feature-gate-abi-x86-interrupt.rs
+++ b/tests/ui/feature-gates/feature-gate-abi-x86-interrupt.rs
@@ -5,24 +5,24 @@
 #[lang="sized"]
 trait Sized { }
 
-extern "x86-interrupt" fn f7() {} //~ ERROR x86-interrupt ABI is experimental
+extern "x86-interrupt" fn f7() {} //~ ERROR "x86-interrupt" ABI is experimental
 trait Tr {
-    extern "x86-interrupt" fn m7(); //~ ERROR x86-interrupt ABI is experimental
-    extern "x86-interrupt" fn dm7() {} //~ ERROR x86-interrupt ABI is experimental
+    extern "x86-interrupt" fn m7(); //~ ERROR "x86-interrupt" ABI is experimental
+    extern "x86-interrupt" fn dm7() {} //~ ERROR "x86-interrupt" ABI is experimental
 }
 
 struct S;
 
 // Methods in trait impl
 impl Tr for S {
-    extern "x86-interrupt" fn m7() {} //~ ERROR x86-interrupt ABI is experimental
+    extern "x86-interrupt" fn m7() {} //~ ERROR "x86-interrupt" ABI is experimental
 }
 
 // Methods in inherent impl
 impl S {
-    extern "x86-interrupt" fn im7() {} //~ ERROR x86-interrupt ABI is experimental
+    extern "x86-interrupt" fn im7() {} //~ ERROR "x86-interrupt" ABI is experimental
 }
 
-type A7 = extern "x86-interrupt" fn(); //~ ERROR x86-interrupt ABI is experimental
+type A7 = extern "x86-interrupt" fn(); //~ ERROR "x86-interrupt" ABI is experimental
 
-extern "x86-interrupt" {} //~ ERROR x86-interrupt ABI is experimental
+extern "x86-interrupt" {} //~ ERROR "x86-interrupt" ABI is experimental
diff --git a/tests/ui/feature-gates/feature-gate-abi-x86-interrupt.stderr b/tests/ui/feature-gates/feature-gate-abi-x86-interrupt.stderr
index 860005cac34..231cf207c86 100644
--- a/tests/ui/feature-gates/feature-gate-abi-x86-interrupt.stderr
+++ b/tests/ui/feature-gates/feature-gate-abi-x86-interrupt.stderr
@@ -1,4 +1,4 @@
-error[E0658]: x86-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "x86-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-x86-interrupt.rs:8:8
    |
 LL | extern "x86-interrupt" fn f7() {}
@@ -8,7 +8,7 @@ LL | extern "x86-interrupt" fn f7() {}
    = help: add `#![feature(abi_x86_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: x86-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "x86-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-x86-interrupt.rs:10:12
    |
 LL |     extern "x86-interrupt" fn m7();
@@ -18,7 +18,7 @@ LL |     extern "x86-interrupt" fn m7();
    = help: add `#![feature(abi_x86_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: x86-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "x86-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-x86-interrupt.rs:11:12
    |
 LL |     extern "x86-interrupt" fn dm7() {}
@@ -28,7 +28,7 @@ LL |     extern "x86-interrupt" fn dm7() {}
    = help: add `#![feature(abi_x86_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: x86-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "x86-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-x86-interrupt.rs:18:12
    |
 LL |     extern "x86-interrupt" fn m7() {}
@@ -38,7 +38,7 @@ LL |     extern "x86-interrupt" fn m7() {}
    = help: add `#![feature(abi_x86_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: x86-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "x86-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-x86-interrupt.rs:23:12
    |
 LL |     extern "x86-interrupt" fn im7() {}
@@ -48,7 +48,7 @@ LL |     extern "x86-interrupt" fn im7() {}
    = help: add `#![feature(abi_x86_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: x86-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "x86-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-x86-interrupt.rs:26:18
    |
 LL | type A7 = extern "x86-interrupt" fn();
@@ -58,7 +58,7 @@ LL | type A7 = extern "x86-interrupt" fn();
    = help: add `#![feature(abi_x86_interrupt)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: x86-interrupt ABI is experimental and subject to change
+error[E0658]: the extern "x86-interrupt" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi-x86-interrupt.rs:28:8
    |
 LL | extern "x86-interrupt" {}
diff --git a/tests/ui/feature-gates/feature-gate-abi.rs b/tests/ui/feature-gates/feature-gate-abi.rs
index 3aa430e736f..7ab05889c20 100644
--- a/tests/ui/feature-gates/feature-gate-abi.rs
+++ b/tests/ui/feature-gates/feature-gate-abi.rs
@@ -11,49 +11,49 @@ trait Sized { }
 trait Tuple { }
 
 // Functions
-extern "rust-intrinsic" fn f1() {} //~ ERROR intrinsics are subject to change
+extern "rust-intrinsic" fn f1() {} //~ ERROR extern "rust-intrinsic" ABI is an implementation detail
                                    //~^ ERROR intrinsic must be in
-extern "rust-intrinsic" fn f2() {} //~ ERROR intrinsics are subject to change
+extern "rust-intrinsic" fn f2() {} //~ ERROR extern "rust-intrinsic" ABI is an implementation detail
                                        //~^ ERROR intrinsic must be in
-extern "rust-call" fn f4(_: ()) {} //~ ERROR rust-call ABI is subject to change
+extern "rust-call" fn f4(_: ()) {} //~ ERROR extern "rust-call" ABI is experimental and subject to change
 
 // Methods in trait definition
 trait Tr {
-    extern "rust-intrinsic" fn m1(); //~ ERROR intrinsics are subject to change
+    extern "rust-intrinsic" fn m1(); //~ ERROR extern "rust-intrinsic" ABI is an implementation detail
                                      //~^ ERROR intrinsic must be in
-    extern "rust-intrinsic" fn m2(); //~ ERROR intrinsics are subject to change
+    extern "rust-intrinsic" fn m2(); //~ ERROR extern "rust-intrinsic" ABI is an implementation detail
                                          //~^ ERROR intrinsic must be in
-    extern "rust-call" fn m4(_: ()); //~ ERROR rust-call ABI is subject to change
+    extern "rust-call" fn m4(_: ()); //~ ERROR extern "rust-call" ABI is experimental and subject to change
 
-    extern "rust-call" fn dm4(_: ()) {} //~ ERROR rust-call ABI is subject to change
+    extern "rust-call" fn dm4(_: ()) {} //~ ERROR extern "rust-call" ABI is experimental and subject to change
 }
 
 struct S;
 
 // Methods in trait impl
 impl Tr for S {
-    extern "rust-intrinsic" fn m1() {} //~ ERROR intrinsics are subject to change
+    extern "rust-intrinsic" fn m1() {} //~ ERROR extern "rust-intrinsic" ABI is an implementation detail
                                        //~^ ERROR intrinsic must be in
-    extern "rust-intrinsic" fn m2() {} //~ ERROR intrinsics are subject to change
+    extern "rust-intrinsic" fn m2() {} //~ ERROR extern "rust-intrinsic" ABI is an implementation detail
                                            //~^ ERROR intrinsic must be in
-    extern "rust-call" fn m4(_: ()) {} //~ ERROR rust-call ABI is subject to change
+    extern "rust-call" fn m4(_: ()) {} //~ ERROR extern "rust-call" ABI is experimental and subject to change
 }
 
 // Methods in inherent impl
 impl S {
-    extern "rust-intrinsic" fn im1() {} //~ ERROR intrinsics are subject to change
+    extern "rust-intrinsic" fn im1() {} //~ ERROR extern "rust-intrinsic" ABI is an implementation detail
                                         //~^ ERROR intrinsic must be in
-    extern "rust-intrinsic" fn im2() {} //~ ERROR intrinsics are subject to change
+    extern "rust-intrinsic" fn im2() {} //~ ERROR extern "rust-intrinsic" ABI is an implementation detail
                                             //~^ ERROR intrinsic must be in
-    extern "rust-call" fn im4(_: ()) {} //~ ERROR rust-call ABI is subject to change
+    extern "rust-call" fn im4(_: ()) {} //~ ERROR extern "rust-call" ABI is experimental and subject to change
 }
 
 // Function pointer types
-type A1 = extern "rust-intrinsic" fn(); //~ ERROR intrinsics are subject to change
-type A2 = extern "rust-intrinsic" fn(); //~ ERROR intrinsics are subject to change
-type A4 = extern "rust-call" fn(_: ()); //~ ERROR rust-call ABI is subject to change
+type A1 = extern "rust-intrinsic" fn(); //~ ERROR extern "rust-intrinsic" ABI is an implementation detail
+type A2 = extern "rust-intrinsic" fn(); //~ ERROR extern "rust-intrinsic" ABI is an implementation detail
+type A4 = extern "rust-call" fn(_: ()); //~ ERROR extern "rust-call" ABI is experimental and subject to change
 
 // Foreign modules
-extern "rust-intrinsic" {} //~ ERROR intrinsics are subject to change
-extern "rust-intrinsic" {} //~ ERROR intrinsics are subject to change
-extern "rust-call" {} //~ ERROR rust-call ABI is subject to change
+extern "rust-intrinsic" {} //~ ERROR extern "rust-intrinsic" ABI is an implementation detail
+extern "rust-intrinsic" {} //~ ERROR extern "rust-intrinsic" ABI is an implementation detail
+extern "rust-call" {} //~ ERROR extern "rust-call" ABI is experimental and subject to change
diff --git a/tests/ui/feature-gates/feature-gate-abi.stderr b/tests/ui/feature-gates/feature-gate-abi.stderr
index dbdfa7b275d..70ec64e5135 100644
--- a/tests/ui/feature-gates/feature-gate-abi.stderr
+++ b/tests/ui/feature-gates/feature-gate-abi.stderr
@@ -1,4 +1,4 @@
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi.rs:14:8
    |
 LL | extern "rust-intrinsic" fn f1() {}
@@ -7,7 +7,7 @@ LL | extern "rust-intrinsic" fn f1() {}
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi.rs:16:8
    |
 LL | extern "rust-intrinsic" fn f2() {}
@@ -16,7 +16,7 @@ LL | extern "rust-intrinsic" fn f2() {}
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-call ABI is subject to change
+error[E0658]: the extern "rust-call" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi.rs:18:8
    |
 LL | extern "rust-call" fn f4(_: ()) {}
@@ -26,7 +26,7 @@ LL | extern "rust-call" fn f4(_: ()) {}
    = help: add `#![feature(unboxed_closures)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi.rs:22:12
    |
 LL |     extern "rust-intrinsic" fn m1();
@@ -35,7 +35,7 @@ LL |     extern "rust-intrinsic" fn m1();
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi.rs:24:12
    |
 LL |     extern "rust-intrinsic" fn m2();
@@ -44,7 +44,7 @@ LL |     extern "rust-intrinsic" fn m2();
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-call ABI is subject to change
+error[E0658]: the extern "rust-call" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi.rs:26:12
    |
 LL |     extern "rust-call" fn m4(_: ());
@@ -54,7 +54,7 @@ LL |     extern "rust-call" fn m4(_: ());
    = help: add `#![feature(unboxed_closures)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-call ABI is subject to change
+error[E0658]: the extern "rust-call" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi.rs:28:12
    |
 LL |     extern "rust-call" fn dm4(_: ()) {}
@@ -64,7 +64,7 @@ LL |     extern "rust-call" fn dm4(_: ()) {}
    = help: add `#![feature(unboxed_closures)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi.rs:35:12
    |
 LL |     extern "rust-intrinsic" fn m1() {}
@@ -73,7 +73,7 @@ LL |     extern "rust-intrinsic" fn m1() {}
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi.rs:37:12
    |
 LL |     extern "rust-intrinsic" fn m2() {}
@@ -82,7 +82,7 @@ LL |     extern "rust-intrinsic" fn m2() {}
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-call ABI is subject to change
+error[E0658]: the extern "rust-call" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi.rs:39:12
    |
 LL |     extern "rust-call" fn m4(_: ()) {}
@@ -92,7 +92,7 @@ LL |     extern "rust-call" fn m4(_: ()) {}
    = help: add `#![feature(unboxed_closures)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi.rs:44:12
    |
 LL |     extern "rust-intrinsic" fn im1() {}
@@ -101,7 +101,7 @@ LL |     extern "rust-intrinsic" fn im1() {}
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi.rs:46:12
    |
 LL |     extern "rust-intrinsic" fn im2() {}
@@ -110,7 +110,7 @@ LL |     extern "rust-intrinsic" fn im2() {}
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-call ABI is subject to change
+error[E0658]: the extern "rust-call" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi.rs:48:12
    |
 LL |     extern "rust-call" fn im4(_: ()) {}
@@ -120,7 +120,7 @@ LL |     extern "rust-call" fn im4(_: ()) {}
    = help: add `#![feature(unboxed_closures)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi.rs:52:18
    |
 LL | type A1 = extern "rust-intrinsic" fn();
@@ -129,7 +129,7 @@ LL | type A1 = extern "rust-intrinsic" fn();
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi.rs:53:18
    |
 LL | type A2 = extern "rust-intrinsic" fn();
@@ -138,7 +138,7 @@ LL | type A2 = extern "rust-intrinsic" fn();
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-call ABI is subject to change
+error[E0658]: the extern "rust-call" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi.rs:54:18
    |
 LL | type A4 = extern "rust-call" fn(_: ());
@@ -148,7 +148,7 @@ LL | type A4 = extern "rust-call" fn(_: ());
    = help: add `#![feature(unboxed_closures)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi.rs:57:8
    |
 LL | extern "rust-intrinsic" {}
@@ -157,7 +157,7 @@ LL | extern "rust-intrinsic" {}
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi.rs:58:8
    |
 LL | extern "rust-intrinsic" {}
@@ -166,7 +166,7 @@ LL | extern "rust-intrinsic" {}
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-call ABI is subject to change
+error[E0658]: the extern "rust-call" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi.rs:59:8
    |
 LL | extern "rust-call" {}
diff --git a/tests/ui/feature-gates/feature-gate-abi_gpu_kernel.rs b/tests/ui/feature-gates/feature-gate-abi_gpu_kernel.rs
index 7d39820f086..fb04906dafe 100644
--- a/tests/ui/feature-gates/feature-gate-abi_gpu_kernel.rs
+++ b/tests/ui/feature-gates/feature-gate-abi_gpu_kernel.rs
@@ -10,14 +10,14 @@ trait Sized { }
 trait Tuple { }
 
 // Functions
-extern "gpu-kernel" fn f1(_: ()) {} //~ ERROR gpu-kernel ABI is experimental and subject to change
+extern "gpu-kernel" fn f1(_: ()) {} //~ ERROR "gpu-kernel" ABI is experimental and subject to change
 //~^ ERROR is not a supported ABI
 
 // Methods in trait definition
 trait Tr {
-    extern "gpu-kernel" fn m1(_: ()); //~ ERROR gpu-kernel ABI is experimental and subject to change
+    extern "gpu-kernel" fn m1(_: ()); //~ ERROR "gpu-kernel" ABI is experimental and subject to change
 
-    extern "gpu-kernel" fn dm1(_: ()) {} //~ ERROR gpu-kernel ABI is experimental and subject to change
+    extern "gpu-kernel" fn dm1(_: ()) {} //~ ERROR "gpu-kernel" ABI is experimental and subject to change
     //~^ ERROR is not a supported ABI
 }
 
@@ -25,21 +25,21 @@ struct S;
 
 // Methods in trait impl
 impl Tr for S {
-    extern "gpu-kernel" fn m1(_: ()) {} //~ ERROR gpu-kernel ABI is experimental and subject to change
+    extern "gpu-kernel" fn m1(_: ()) {} //~ ERROR "gpu-kernel" ABI is experimental and subject to change
     //~^ ERROR is not a supported ABI
 }
 
 // Methods in inherent impl
 impl S {
-    extern "gpu-kernel" fn im1(_: ()) {} //~ ERROR gpu-kernel ABI is experimental and subject to change
+    extern "gpu-kernel" fn im1(_: ()) {} //~ ERROR "gpu-kernel" ABI is experimental and subject to change
     //~^ ERROR is not a supported ABI
 }
 
 // Function pointer types
-type A1 = extern "gpu-kernel" fn(_: ()); //~ ERROR gpu-kernel ABI is experimental and subject to change
+type A1 = extern "gpu-kernel" fn(_: ()); //~ ERROR "gpu-kernel" ABI is experimental and subject to change
 //~^ WARN the calling convention "gpu-kernel" is not supported on this target
 //~^^ WARN this was previously accepted by the compiler but is being phased out
 
 // Foreign modules
-extern "gpu-kernel" {} //~ ERROR gpu-kernel ABI is experimental and subject to change
+extern "gpu-kernel" {} //~ ERROR "gpu-kernel" ABI is experimental and subject to change
 //~^ ERROR is not a supported ABI
diff --git a/tests/ui/feature-gates/feature-gate-abi_gpu_kernel.stderr b/tests/ui/feature-gates/feature-gate-abi_gpu_kernel.stderr
index 771c49acb97..b05c16e3d9e 100644
--- a/tests/ui/feature-gates/feature-gate-abi_gpu_kernel.stderr
+++ b/tests/ui/feature-gates/feature-gate-abi_gpu_kernel.stderr
@@ -1,4 +1,4 @@
-error[E0658]: gpu-kernel ABI is experimental and subject to change
+error[E0658]: the extern "gpu-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_gpu_kernel.rs:13:8
    |
 LL | extern "gpu-kernel" fn f1(_: ()) {}
@@ -8,7 +8,7 @@ LL | extern "gpu-kernel" fn f1(_: ()) {}
    = help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: gpu-kernel ABI is experimental and subject to change
+error[E0658]: the extern "gpu-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_gpu_kernel.rs:18:12
    |
 LL |     extern "gpu-kernel" fn m1(_: ());
@@ -18,7 +18,7 @@ LL |     extern "gpu-kernel" fn m1(_: ());
    = help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: gpu-kernel ABI is experimental and subject to change
+error[E0658]: the extern "gpu-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_gpu_kernel.rs:20:12
    |
 LL |     extern "gpu-kernel" fn dm1(_: ()) {}
@@ -28,7 +28,7 @@ LL |     extern "gpu-kernel" fn dm1(_: ()) {}
    = help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: gpu-kernel ABI is experimental and subject to change
+error[E0658]: the extern "gpu-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_gpu_kernel.rs:28:12
    |
 LL |     extern "gpu-kernel" fn m1(_: ()) {}
@@ -38,7 +38,7 @@ LL |     extern "gpu-kernel" fn m1(_: ()) {}
    = help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: gpu-kernel ABI is experimental and subject to change
+error[E0658]: the extern "gpu-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_gpu_kernel.rs:34:12
    |
 LL |     extern "gpu-kernel" fn im1(_: ()) {}
@@ -48,7 +48,7 @@ LL |     extern "gpu-kernel" fn im1(_: ()) {}
    = help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: gpu-kernel ABI is experimental and subject to change
+error[E0658]: the extern "gpu-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_gpu_kernel.rs:39:18
    |
 LL | type A1 = extern "gpu-kernel" fn(_: ());
@@ -58,7 +58,7 @@ LL | type A1 = extern "gpu-kernel" fn(_: ());
    = help: add `#![feature(abi_gpu_kernel)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: gpu-kernel ABI is experimental and subject to change
+error[E0658]: the extern "gpu-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_gpu_kernel.rs:44:8
    |
 LL | extern "gpu-kernel" {}
diff --git a/tests/ui/feature-gates/feature-gate-abi_ptx.rs b/tests/ui/feature-gates/feature-gate-abi_ptx.rs
index 83f48430281..e742492303a 100644
--- a/tests/ui/feature-gates/feature-gate-abi_ptx.rs
+++ b/tests/ui/feature-gates/feature-gate-abi_ptx.rs
@@ -5,22 +5,22 @@
 #[lang="sized"]
 trait Sized { }
 
-extern "ptx-kernel" fn fu() {} //~ ERROR PTX ABIs are experimental
+extern "ptx-kernel" fn fu() {} //~ ERROR extern "ptx-kernel" ABI is experimental
 
 trait T {
-    extern "ptx-kernel" fn mu(); //~ ERROR PTX ABIs are experimental
-    extern "ptx-kernel" fn dmu() {} //~ ERROR PTX ABIs are experimental
+    extern "ptx-kernel" fn mu(); //~ ERROR extern "ptx-kernel" ABI is experimental
+    extern "ptx-kernel" fn dmu() {} //~ ERROR extern "ptx-kernel" ABI is experimental
 }
 
 struct S;
 impl T for S {
-    extern "ptx-kernel" fn mu() {} //~ ERROR PTX ABIs are experimental
+    extern "ptx-kernel" fn mu() {} //~ ERROR extern "ptx-kernel" ABI is experimental
 }
 
 impl S {
-    extern "ptx-kernel" fn imu() {} //~ ERROR PTX ABIs are experimental
+    extern "ptx-kernel" fn imu() {} //~ ERROR extern "ptx-kernel" ABI is experimental
 }
 
-type TAU = extern "ptx-kernel" fn(); //~ ERROR PTX ABIs are experimental
+type TAU = extern "ptx-kernel" fn(); //~ ERROR extern "ptx-kernel" ABI is experimental
 
-extern "ptx-kernel" {} //~ ERROR PTX ABIs are experimental
+extern "ptx-kernel" {} //~ ERROR extern "ptx-kernel" ABI is experimental
diff --git a/tests/ui/feature-gates/feature-gate-abi_ptx.stderr b/tests/ui/feature-gates/feature-gate-abi_ptx.stderr
index 22b493e577d..d128075919b 100644
--- a/tests/ui/feature-gates/feature-gate-abi_ptx.stderr
+++ b/tests/ui/feature-gates/feature-gate-abi_ptx.stderr
@@ -1,4 +1,4 @@
-error[E0658]: PTX ABIs are experimental and subject to change
+error[E0658]: the extern "ptx-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_ptx.rs:8:8
    |
 LL | extern "ptx-kernel" fn fu() {}
@@ -8,7 +8,7 @@ LL | extern "ptx-kernel" fn fu() {}
    = help: add `#![feature(abi_ptx)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: PTX ABIs are experimental and subject to change
+error[E0658]: the extern "ptx-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_ptx.rs:11:12
    |
 LL |     extern "ptx-kernel" fn mu();
@@ -18,7 +18,7 @@ LL |     extern "ptx-kernel" fn mu();
    = help: add `#![feature(abi_ptx)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: PTX ABIs are experimental and subject to change
+error[E0658]: the extern "ptx-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_ptx.rs:12:12
    |
 LL |     extern "ptx-kernel" fn dmu() {}
@@ -28,7 +28,7 @@ LL |     extern "ptx-kernel" fn dmu() {}
    = help: add `#![feature(abi_ptx)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: PTX ABIs are experimental and subject to change
+error[E0658]: the extern "ptx-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_ptx.rs:17:12
    |
 LL |     extern "ptx-kernel" fn mu() {}
@@ -38,7 +38,7 @@ LL |     extern "ptx-kernel" fn mu() {}
    = help: add `#![feature(abi_ptx)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: PTX ABIs are experimental and subject to change
+error[E0658]: the extern "ptx-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_ptx.rs:21:12
    |
 LL |     extern "ptx-kernel" fn imu() {}
@@ -48,7 +48,7 @@ LL |     extern "ptx-kernel" fn imu() {}
    = help: add `#![feature(abi_ptx)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: PTX ABIs are experimental and subject to change
+error[E0658]: the extern "ptx-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_ptx.rs:24:19
    |
 LL | type TAU = extern "ptx-kernel" fn();
@@ -58,7 +58,7 @@ LL | type TAU = extern "ptx-kernel" fn();
    = help: add `#![feature(abi_ptx)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: PTX ABIs are experimental and subject to change
+error[E0658]: the extern "ptx-kernel" ABI is experimental and subject to change
   --> $DIR/feature-gate-abi_ptx.rs:26:8
    |
 LL | extern "ptx-kernel" {}
diff --git a/tests/ui/feature-gates/feature-gate-abi_unadjusted.rs b/tests/ui/feature-gates/feature-gate-abi_unadjusted.rs
index 35a7d73288b..1dc6adc0e14 100644
--- a/tests/ui/feature-gates/feature-gate-abi_unadjusted.rs
+++ b/tests/ui/feature-gates/feature-gate-abi_unadjusted.rs
@@ -1,5 +1,5 @@
 extern "unadjusted" fn foo() {
-//~^ ERROR: unadjusted ABI is an implementation detail and perma-unstable
+//~^ ERROR: "unadjusted" ABI is an implementation detail and perma-unstable
 }
 
 fn main() {
diff --git a/tests/ui/feature-gates/feature-gate-abi_unadjusted.stderr b/tests/ui/feature-gates/feature-gate-abi_unadjusted.stderr
index 1d5fb11cd3d..462fb79d557 100644
--- a/tests/ui/feature-gates/feature-gate-abi_unadjusted.stderr
+++ b/tests/ui/feature-gates/feature-gate-abi_unadjusted.stderr
@@ -1,4 +1,4 @@
-error[E0658]: unadjusted ABI is an implementation detail and perma-unstable
+error[E0658]: the extern "unadjusted" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-abi_unadjusted.rs:1:8
    |
 LL | extern "unadjusted" fn foo() {
diff --git a/tests/ui/feature-gates/feature-gate-intrinsics.rs b/tests/ui/feature-gates/feature-gate-intrinsics.rs
index e0dc3cc579d..65806a0223e 100644
--- a/tests/ui/feature-gates/feature-gate-intrinsics.rs
+++ b/tests/ui/feature-gates/feature-gate-intrinsics.rs
@@ -1,8 +1,8 @@
-extern "rust-intrinsic" {   //~ ERROR intrinsics are subject to change
+extern "rust-intrinsic" {   //~ ERROR "rust-intrinsic" ABI is an implementation detail
     fn bar(); //~ ERROR unrecognized intrinsic function: `bar`
 }
 
-extern "rust-intrinsic" fn baz() {} //~ ERROR intrinsics are subject to change
+extern "rust-intrinsic" fn baz() {} //~ ERROR "rust-intrinsic" ABI is an implementation detail
 //~^ ERROR intrinsic must be in
 
 fn main() {}
diff --git a/tests/ui/feature-gates/feature-gate-intrinsics.stderr b/tests/ui/feature-gates/feature-gate-intrinsics.stderr
index 577a620e2d2..97246f05258 100644
--- a/tests/ui/feature-gates/feature-gate-intrinsics.stderr
+++ b/tests/ui/feature-gates/feature-gate-intrinsics.stderr
@@ -1,4 +1,4 @@
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-intrinsics.rs:1:8
    |
 LL | extern "rust-intrinsic" {
@@ -7,7 +7,7 @@ LL | extern "rust-intrinsic" {
    = help: add `#![feature(intrinsics)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gate-intrinsics.rs:5:8
    |
 LL | extern "rust-intrinsic" fn baz() {}
diff --git a/tests/ui/feature-gates/feature-gate-rust_cold_cc.rs b/tests/ui/feature-gates/feature-gate-rust_cold_cc.rs
index 9ba8e32ac07..4f47eb55b39 100644
--- a/tests/ui/feature-gates/feature-gate-rust_cold_cc.rs
+++ b/tests/ui/feature-gates/feature-gate-rust_cold_cc.rs
@@ -1,21 +1,21 @@
 #![crate_type = "lib"]
 
-extern "rust-cold" fn fu() {} //~ ERROR rust-cold is experimental
+extern "rust-cold" fn fu() {} //~ ERROR "rust-cold" ABI is experimental
 
 trait T {
-    extern "rust-cold" fn mu(); //~ ERROR rust-cold is experimental
-    extern "rust-cold" fn dmu() {} //~ ERROR rust-cold is experimental
+    extern "rust-cold" fn mu(); //~ ERROR "rust-cold" ABI is experimental
+    extern "rust-cold" fn dmu() {} //~ ERROR "rust-cold" ABI is experimental
 }
 
 struct S;
 impl T for S {
-    extern "rust-cold" fn mu() {} //~ ERROR rust-cold is experimental
+    extern "rust-cold" fn mu() {} //~ ERROR "rust-cold" ABI is experimental
 }
 
 impl S {
-    extern "rust-cold" fn imu() {} //~ ERROR rust-cold is experimental
+    extern "rust-cold" fn imu() {} //~ ERROR "rust-cold" ABI is experimental
 }
 
-type TAU = extern "rust-cold" fn(); //~ ERROR rust-cold is experimental
+type TAU = extern "rust-cold" fn(); //~ ERROR "rust-cold" ABI is experimental
 
-extern "rust-cold" {} //~ ERROR rust-cold is experimental
+extern "rust-cold" {} //~ ERROR "rust-cold" ABI is experimental
diff --git a/tests/ui/feature-gates/feature-gate-rust_cold_cc.stderr b/tests/ui/feature-gates/feature-gate-rust_cold_cc.stderr
index eeff9534d52..9547c64f2b2 100644
--- a/tests/ui/feature-gates/feature-gate-rust_cold_cc.stderr
+++ b/tests/ui/feature-gates/feature-gate-rust_cold_cc.stderr
@@ -1,4 +1,4 @@
-error[E0658]: rust-cold is experimental and subject to change
+error[E0658]: the extern "rust-cold" ABI is experimental and subject to change
   --> $DIR/feature-gate-rust_cold_cc.rs:3:8
    |
 LL | extern "rust-cold" fn fu() {}
@@ -8,7 +8,7 @@ LL | extern "rust-cold" fn fu() {}
    = help: add `#![feature(rust_cold_cc)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-cold is experimental and subject to change
+error[E0658]: the extern "rust-cold" ABI is experimental and subject to change
   --> $DIR/feature-gate-rust_cold_cc.rs:6:12
    |
 LL |     extern "rust-cold" fn mu();
@@ -18,7 +18,7 @@ LL |     extern "rust-cold" fn mu();
    = help: add `#![feature(rust_cold_cc)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-cold is experimental and subject to change
+error[E0658]: the extern "rust-cold" ABI is experimental and subject to change
   --> $DIR/feature-gate-rust_cold_cc.rs:7:12
    |
 LL |     extern "rust-cold" fn dmu() {}
@@ -28,7 +28,7 @@ LL |     extern "rust-cold" fn dmu() {}
    = help: add `#![feature(rust_cold_cc)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-cold is experimental and subject to change
+error[E0658]: the extern "rust-cold" ABI is experimental and subject to change
   --> $DIR/feature-gate-rust_cold_cc.rs:12:12
    |
 LL |     extern "rust-cold" fn mu() {}
@@ -38,7 +38,7 @@ LL |     extern "rust-cold" fn mu() {}
    = help: add `#![feature(rust_cold_cc)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-cold is experimental and subject to change
+error[E0658]: the extern "rust-cold" ABI is experimental and subject to change
   --> $DIR/feature-gate-rust_cold_cc.rs:16:12
    |
 LL |     extern "rust-cold" fn imu() {}
@@ -48,7 +48,7 @@ LL |     extern "rust-cold" fn imu() {}
    = help: add `#![feature(rust_cold_cc)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-cold is experimental and subject to change
+error[E0658]: the extern "rust-cold" ABI is experimental and subject to change
   --> $DIR/feature-gate-rust_cold_cc.rs:19:19
    |
 LL | type TAU = extern "rust-cold" fn();
@@ -58,7 +58,7 @@ LL | type TAU = extern "rust-cold" fn();
    = help: add `#![feature(rust_cold_cc)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-cold is experimental and subject to change
+error[E0658]: the extern "rust-cold" ABI is experimental and subject to change
   --> $DIR/feature-gate-rust_cold_cc.rs:21:8
    |
 LL | extern "rust-cold" {}
diff --git a/tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.rs b/tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.rs
index ff528274c59..7b40c8760e3 100644
--- a/tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.rs
+++ b/tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.rs
@@ -11,7 +11,7 @@ impl Fn<()> for Foo {
     //~| ERROR manual implementations of `Fn` are experimental
     //~| ERROR expected a `FnMut()` closure, found `Foo`
     extern "rust-call" fn call(self, args: ()) -> () {}
-    //~^ ERROR rust-call ABI is subject to change
+    //~^ ERROR "rust-call" ABI is experimental and subject to change
     //~| ERROR `call` has an incompatible type for trait
 }
 struct Foo1;
@@ -20,7 +20,7 @@ impl FnOnce() for Foo1 {
     //~| ERROR manual implementations of `FnOnce` are experimental
     //~| ERROR not all trait items implemented
     extern "rust-call" fn call_once(self, args: ()) -> () {}
-    //~^ ERROR rust-call ABI is subject to change
+    //~^ ERROR "rust-call" ABI is experimental and subject to change
 }
 struct Bar;
 impl FnMut<()> for Bar {
@@ -28,7 +28,7 @@ impl FnMut<()> for Bar {
     //~| ERROR manual implementations of `FnMut` are experimental
     //~| ERROR expected a `FnOnce()` closure, found `Bar`
     extern "rust-call" fn call_mut(&self, args: ()) -> () {}
-    //~^ ERROR rust-call ABI is subject to change
+    //~^ ERROR "rust-call" ABI is experimental and subject to change
     //~| ERROR incompatible type for trait
 }
 struct Baz;
@@ -37,7 +37,7 @@ impl FnOnce<()> for Baz {
     //~| ERROR manual implementations of `FnOnce` are experimental
     //~| ERROR not all trait items implemented
     extern "rust-call" fn call_once(&self, args: ()) -> () {}
-    //~^ ERROR rust-call ABI is subject to change
+    //~^ ERROR "rust-call" ABI is experimental and subject to change
 }
 
 fn main() {}
diff --git a/tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.stderr b/tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.stderr
index 584724dfe59..f9d231dc78f 100644
--- a/tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.stderr
+++ b/tests/ui/feature-gates/feature-gate-unboxed-closures-manual-impls.stderr
@@ -1,4 +1,4 @@
-error[E0658]: rust-call ABI is subject to change
+error[E0658]: the extern "rust-call" ABI is experimental and subject to change
   --> $DIR/feature-gate-unboxed-closures-manual-impls.rs:13:12
    |
 LL |     extern "rust-call" fn call(self, args: ()) -> () {}
@@ -8,7 +8,7 @@ LL |     extern "rust-call" fn call(self, args: ()) -> () {}
    = help: add `#![feature(unboxed_closures)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-call ABI is subject to change
+error[E0658]: the extern "rust-call" ABI is experimental and subject to change
   --> $DIR/feature-gate-unboxed-closures-manual-impls.rs:22:12
    |
 LL |     extern "rust-call" fn call_once(self, args: ()) -> () {}
@@ -18,7 +18,7 @@ LL |     extern "rust-call" fn call_once(self, args: ()) -> () {}
    = help: add `#![feature(unboxed_closures)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-call ABI is subject to change
+error[E0658]: the extern "rust-call" ABI is experimental and subject to change
   --> $DIR/feature-gate-unboxed-closures-manual-impls.rs:30:12
    |
 LL |     extern "rust-call" fn call_mut(&self, args: ()) -> () {}
@@ -28,7 +28,7 @@ LL |     extern "rust-call" fn call_mut(&self, args: ()) -> () {}
    = help: add `#![feature(unboxed_closures)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: rust-call ABI is subject to change
+error[E0658]: the extern "rust-call" ABI is experimental and subject to change
   --> $DIR/feature-gate-unboxed-closures-manual-impls.rs:39:12
    |
 LL |     extern "rust-call" fn call_once(&self, args: ()) -> () {}
diff --git a/tests/ui/feature-gates/feature-gate-unboxed-closures.rs b/tests/ui/feature-gates/feature-gate-unboxed-closures.rs
index ebc5a2536f6..74cc20c581c 100644
--- a/tests/ui/feature-gates/feature-gate-unboxed-closures.rs
+++ b/tests/ui/feature-gates/feature-gate-unboxed-closures.rs
@@ -10,7 +10,7 @@ impl FnOnce<(u32, u32)> for Test {
     extern "rust-call" fn call_once(self, (a, b): (u32, u32)) -> u32 {
         a + b
     }
-    //~^^^ ERROR rust-call ABI is subject to change
+    //~^^^ ERROR "rust-call" ABI is experimental and subject to change
 }
 
 fn main() {
diff --git a/tests/ui/feature-gates/feature-gate-unboxed-closures.stderr b/tests/ui/feature-gates/feature-gate-unboxed-closures.stderr
index 52c18ec34c5..36932c1f86f 100644
--- a/tests/ui/feature-gates/feature-gate-unboxed-closures.stderr
+++ b/tests/ui/feature-gates/feature-gate-unboxed-closures.stderr
@@ -1,4 +1,4 @@
-error[E0658]: rust-call ABI is subject to change
+error[E0658]: the extern "rust-call" ABI is experimental and subject to change
   --> $DIR/feature-gate-unboxed-closures.rs:10:12
    |
 LL |     extern "rust-call" fn call_once(self, (a, b): (u32, u32)) -> u32 {
diff --git a/tests/ui/feature-gates/feature-gate-vectorcall.rs b/tests/ui/feature-gates/feature-gate-vectorcall.rs
index 73a11a842f3..aafa6a2ed62 100644
--- a/tests/ui/feature-gates/feature-gate-vectorcall.rs
+++ b/tests/ui/feature-gates/feature-gate-vectorcall.rs
@@ -9,23 +9,23 @@ trait Sized { }
 // Test that the "vectorcall" ABI is feature-gated, and cannot be used when
 // the `vectorcall` feature gate is not used.
 
-extern "vectorcall" fn f() {} //~ ERROR vectorcall is experimental
+extern "vectorcall" fn f() {} //~ ERROR "vectorcall" ABI is experimental
 
 trait T {
-    extern "vectorcall" fn m(); //~ ERROR vectorcall is experimental
+    extern "vectorcall" fn m(); //~ ERROR "vectorcall" ABI is experimental
 
-    extern "vectorcall" fn dm() {} //~ ERROR vectorcall is experimental
+    extern "vectorcall" fn dm() {} //~ ERROR "vectorcall" ABI is experimental
 }
 
 struct S;
 impl T for S {
-    extern "vectorcall" fn m() {} //~ ERROR vectorcall is experimental
+    extern "vectorcall" fn m() {} //~ ERROR "vectorcall" ABI is experimental
 }
 
 impl S {
-    extern "vectorcall" fn im() {} //~ ERROR vectorcall is experimental
+    extern "vectorcall" fn im() {} //~ ERROR "vectorcall" ABI is experimental
 }
 
-type TA = extern "vectorcall" fn(); //~ ERROR vectorcall is experimental
+type TA = extern "vectorcall" fn(); //~ ERROR "vectorcall" ABI is experimental
 
-extern "vectorcall" {} //~ ERROR vectorcall is experimental
+extern "vectorcall" {} //~ ERROR "vectorcall" ABI is experimental
diff --git a/tests/ui/feature-gates/feature-gate-vectorcall.stderr b/tests/ui/feature-gates/feature-gate-vectorcall.stderr
index b20e41887b9..8f3f47a3d48 100644
--- a/tests/ui/feature-gates/feature-gate-vectorcall.stderr
+++ b/tests/ui/feature-gates/feature-gate-vectorcall.stderr
@@ -1,4 +1,4 @@
-error[E0658]: vectorcall is experimental and subject to change
+error[E0658]: the extern "vectorcall" ABI is experimental and subject to change
   --> $DIR/feature-gate-vectorcall.rs:12:8
    |
 LL | extern "vectorcall" fn f() {}
@@ -8,7 +8,7 @@ LL | extern "vectorcall" fn f() {}
    = help: add `#![feature(abi_vectorcall)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: vectorcall is experimental and subject to change
+error[E0658]: the extern "vectorcall" ABI is experimental and subject to change
   --> $DIR/feature-gate-vectorcall.rs:15:12
    |
 LL |     extern "vectorcall" fn m();
@@ -18,7 +18,7 @@ LL |     extern "vectorcall" fn m();
    = help: add `#![feature(abi_vectorcall)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: vectorcall is experimental and subject to change
+error[E0658]: the extern "vectorcall" ABI is experimental and subject to change
   --> $DIR/feature-gate-vectorcall.rs:17:12
    |
 LL |     extern "vectorcall" fn dm() {}
@@ -28,7 +28,7 @@ LL |     extern "vectorcall" fn dm() {}
    = help: add `#![feature(abi_vectorcall)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: vectorcall is experimental and subject to change
+error[E0658]: the extern "vectorcall" ABI is experimental and subject to change
   --> $DIR/feature-gate-vectorcall.rs:22:12
    |
 LL |     extern "vectorcall" fn m() {}
@@ -38,7 +38,7 @@ LL |     extern "vectorcall" fn m() {}
    = help: add `#![feature(abi_vectorcall)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: vectorcall is experimental and subject to change
+error[E0658]: the extern "vectorcall" ABI is experimental and subject to change
   --> $DIR/feature-gate-vectorcall.rs:26:12
    |
 LL |     extern "vectorcall" fn im() {}
@@ -48,7 +48,7 @@ LL |     extern "vectorcall" fn im() {}
    = help: add `#![feature(abi_vectorcall)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: vectorcall is experimental and subject to change
+error[E0658]: the extern "vectorcall" ABI is experimental and subject to change
   --> $DIR/feature-gate-vectorcall.rs:29:18
    |
 LL | type TA = extern "vectorcall" fn();
@@ -58,7 +58,7 @@ LL | type TA = extern "vectorcall" fn();
    = help: add `#![feature(abi_vectorcall)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: vectorcall is experimental and subject to change
+error[E0658]: the extern "vectorcall" ABI is experimental and subject to change
   --> $DIR/feature-gate-vectorcall.rs:31:8
    |
 LL | extern "vectorcall" {}
diff --git a/tests/ui/feature-gates/feature-gated-feature-in-macro-arg.rs b/tests/ui/feature-gates/feature-gated-feature-in-macro-arg.rs
index 37b7d52fafc..2328798d74c 100644
--- a/tests/ui/feature-gates/feature-gated-feature-in-macro-arg.rs
+++ b/tests/ui/feature-gates/feature-gated-feature-in-macro-arg.rs
@@ -5,7 +5,7 @@
 fn main() {
     let a = &[1, 2, 3];
     println!("{}", {
-        extern "rust-intrinsic" { //~ ERROR intrinsics are subject to change
+        extern "rust-intrinsic" { //~ ERROR "rust-intrinsic" ABI is an implementation detail
             fn atomic_fence();
         }
         atomic_fence(); //~ ERROR: is unsafe
diff --git a/tests/ui/feature-gates/feature-gated-feature-in-macro-arg.stderr b/tests/ui/feature-gates/feature-gated-feature-in-macro-arg.stderr
index 3dc11b5612c..86f88fdff5f 100644
--- a/tests/ui/feature-gates/feature-gated-feature-in-macro-arg.stderr
+++ b/tests/ui/feature-gates/feature-gated-feature-in-macro-arg.stderr
@@ -1,4 +1,4 @@
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/feature-gated-feature-in-macro-arg.rs:8:16
    |
 LL |         extern "rust-intrinsic" {
diff --git a/tests/ui/intrinsics/incorrect-read_via_copy-defn.rs b/tests/ui/intrinsics/incorrect-read_via_copy-defn.rs
index 66de1f60ed9..5520430e140 100644
--- a/tests/ui/intrinsics/incorrect-read_via_copy-defn.rs
+++ b/tests/ui/intrinsics/incorrect-read_via_copy-defn.rs
@@ -3,5 +3,5 @@ fn main() {
 }
 
 extern "rust-intrinsic" fn read_via_copy() {}
-//~^ ERROR intrinsics are subject to change
+//~^ ERROR "rust-intrinsic" ABI is an implementation detail
 //~| ERROR intrinsic must be in `extern "rust-intrinsic" { ... }` block
diff --git a/tests/ui/intrinsics/incorrect-read_via_copy-defn.stderr b/tests/ui/intrinsics/incorrect-read_via_copy-defn.stderr
index 362ee185b7b..c6682693f74 100644
--- a/tests/ui/intrinsics/incorrect-read_via_copy-defn.stderr
+++ b/tests/ui/intrinsics/incorrect-read_via_copy-defn.stderr
@@ -1,4 +1,4 @@
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/incorrect-read_via_copy-defn.rs:5:8
    |
 LL | extern "rust-intrinsic" fn read_via_copy() {}
diff --git a/tests/ui/intrinsics/incorrect-transmute.rs b/tests/ui/intrinsics/incorrect-transmute.rs
index eed524ae8a8..15d1ab939ed 100644
--- a/tests/ui/intrinsics/incorrect-transmute.rs
+++ b/tests/ui/intrinsics/incorrect-transmute.rs
@@ -3,5 +3,5 @@ fn main() {
 }
 
 extern "rust-intrinsic" fn transmute() {}
-//~^ ERROR intrinsics are subject to change
+//~^ ERROR "rust-intrinsic" ABI is an implementation detail
 //~| ERROR intrinsic must be in `extern "rust-intrinsic" { ... }` block
diff --git a/tests/ui/intrinsics/incorrect-transmute.stderr b/tests/ui/intrinsics/incorrect-transmute.stderr
index 8123f3d71a2..99dfb9847ff 100644
--- a/tests/ui/intrinsics/incorrect-transmute.stderr
+++ b/tests/ui/intrinsics/incorrect-transmute.stderr
@@ -1,4 +1,4 @@
-error[E0658]: intrinsics are subject to change
+error[E0658]: the extern "rust-intrinsic" ABI is an implementation detail and perma-unstable
   --> $DIR/incorrect-transmute.rs:5:8
    |
 LL | extern "rust-intrinsic" fn transmute() {}