about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/mir-opt/match_arm_scopes.complicated_match.panic-abort.SimplifyCfg-initial.after-ElaborateDrops.after.diff15
-rw-r--r--tests/mir-opt/match_arm_scopes.complicated_match.panic-unwind.SimplifyCfg-initial.after-ElaborateDrops.after.diff15
-rw-r--r--tests/rustdoc-ui/doc-include-suggestion.rs6
-rw-r--r--tests/rustdoc-ui/doc-include-suggestion.stderr10
-rw-r--r--tests/rustdoc-ui/doctest/doc-test-attr.rs4
-rw-r--r--tests/rustdoc-ui/doctest/doc-test-attr.stderr20
-rw-r--r--tests/rustdoc-ui/lints/doc-attr.rs8
-rw-r--r--tests/rustdoc-ui/lints/doc-attr.stderr41
-rw-r--r--tests/rustdoc-ui/lints/doc-spotlight.fixed2
-rw-r--r--tests/rustdoc-ui/lints/doc-spotlight.rs2
-rw-r--r--tests/rustdoc-ui/lints/doc-spotlight.stderr11
-rw-r--r--tests/rustdoc-ui/lints/doc_cfg_hide.rs4
-rw-r--r--tests/rustdoc-ui/lints/doc_cfg_hide.stderr21
-rw-r--r--tests/rustdoc-ui/lints/invalid-doc-attr.rs9
-rw-r--r--tests/rustdoc-ui/lints/invalid-doc-attr.stderr50
-rw-r--r--tests/ui-fulldeps/stable-mir/check_abi.rs45
-rw-r--r--tests/ui/associated-consts/issue-105330.stderr2
-rw-r--r--tests/ui/associated-types/impl-wf-cycle-6.fixed1
-rw-r--r--tests/ui/attributes/doc-attr.rs8
-rw-r--r--tests/ui/attributes/doc-attr.stderr41
-rw-r--r--tests/ui/attributes/doc-test-literal.rs3
-rw-r--r--tests/ui/attributes/doc-test-literal.stderr11
-rw-r--r--tests/ui/future-incompatible-lint-group.rs3
-rw-r--r--tests/ui/future-incompatible-lint-group.stderr9
-rw-r--r--tests/ui/generics/generic-no-mangle.fixed2
-rw-r--r--tests/ui/higher-ranked/trait-bounds/issue-95230.next.stderr1
-rw-r--r--tests/ui/imports/issue-52891.fixed2
-rw-r--r--tests/ui/imports/unused-import-issue-87973.fixed1
-rw-r--r--tests/ui/inference/stmts-as-exp-105431.rs76
-rw-r--r--tests/ui/inference/stmts-as-exp-105431.stderr129
-rw-r--r--tests/ui/lazy-type-alias/inherent-impls-overflow.next.stderr2
-rw-r--r--tests/ui/lazy-type-alias/leading-where-clause.fixed2
-rw-r--r--tests/ui/lint/suggestions.fixed1
-rw-r--r--tests/ui/lint/unused/import_remove_line.fixed11
-rw-r--r--tests/ui/lint/unused/import_remove_line.rs13
-rw-r--r--tests/ui/lint/unused/import_remove_line.stderr32
-rw-r--r--tests/ui/repr/invalid_repr_list_help.rs3
-rw-r--r--tests/ui/repr/invalid_repr_list_help.stderr8
-rw-r--r--tests/ui/resolve/resolve-conflict-import-vs-import.fixed1
-rw-r--r--tests/ui/rust-2018/extern-crate-idiomatic-in-2018.fixed1
-rw-r--r--tests/ui/rust-2018/issue-54400-unused-extern-crate-attr-span.fixed1
-rw-r--r--tests/ui/rustdoc/deny-invalid-doc-attrs.rs2
-rw-r--r--tests/ui/rustdoc/deny-invalid-doc-attrs.stderr2
-rw-r--r--tests/ui/rustdoc/doc-primitive.rs1
-rw-r--r--tests/ui/rustdoc/doc-primitive.stderr2
-rw-r--r--tests/ui/rustdoc/doc-test-attr.rs3
-rw-r--r--tests/ui/rustdoc/doc-test-attr.stderr12
-rw-r--r--tests/ui/sanitizer/address.rs (renamed from tests/ui/sanitize/address.rs)0
-rw-r--r--tests/ui/sanitizer/badfree.rs (renamed from tests/ui/sanitize/badfree.rs)0
-rw-r--r--tests/ui/sanitizer/cfg-kasan.rs (renamed from tests/ui/sanitize/cfg-kasan.rs)0
-rw-r--r--tests/ui/sanitizer/cfg.rs (renamed from tests/ui/sanitize/cfg.rs)0
-rw-r--r--tests/ui/sanitizer/cfi-canonical-jump-tables-requires-cfi.rs (renamed from tests/ui/sanitize/sanitizer-cfi-canonical-jump-tables-require-cfi.rs)0
-rw-r--r--tests/ui/sanitizer/cfi-canonical-jump-tables-requires-cfi.stderr (renamed from tests/ui/sanitize/sanitizer-cfi-canonical-jump-tables-require-cfi.stderr)0
-rw-r--r--tests/ui/sanitizer/cfi-generalize-pointers-attr-cfg.rs (renamed from tests/ui/sanitize/sanitizer-cfi-generalize-pointers-attr-cfg.rs)0
-rw-r--r--tests/ui/sanitizer/cfi-generalize-pointers-requires-cfi.rs (renamed from tests/ui/sanitize/sanitizer-cfi-generalize-pointers-require-cfi.rs)0
-rw-r--r--tests/ui/sanitizer/cfi-generalize-pointers-requires-cfi.stderr (renamed from tests/ui/sanitize/sanitizer-cfi-generalize-pointers-require-cfi.stderr)0
-rw-r--r--tests/ui/sanitizer/cfi-invalid-attr-cfi-encoding.rs (renamed from tests/ui/sanitize/sanitizer-cfi-invalid-attr-cfi-encoding.rs)0
-rw-r--r--tests/ui/sanitizer/cfi-invalid-attr-cfi-encoding.stderr (renamed from tests/ui/sanitize/sanitizer-cfi-invalid-attr-cfi-encoding.stderr)2
-rw-r--r--tests/ui/sanitizer/cfi-is-incompatible-with-kcfi.aarch64.stderr (renamed from tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.aarch64.stderr)0
-rw-r--r--tests/ui/sanitizer/cfi-is-incompatible-with-kcfi.rs (renamed from tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.rs)0
-rw-r--r--tests/ui/sanitizer/cfi-is-incompatible-with-kcfi.x86_64.stderr (renamed from tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.x86_64.stderr)0
-rw-r--r--tests/ui/sanitizer/cfi-normalize-integers-attr-cfg.rs (renamed from tests/ui/sanitize/sanitizer-cfi-normalize-integers-attr-cfg.rs)0
-rw-r--r--tests/ui/sanitizer/cfi-normalize-integers-requires-cfi.rs (renamed from tests/ui/sanitize/sanitizer-cfi-normalize-integers-require-cfi.rs)0
-rw-r--r--tests/ui/sanitizer/cfi-normalize-integers-requires-cfi.stderr (renamed from tests/ui/sanitize/sanitizer-cfi-normalize-integers-require-cfi.stderr)0
-rw-r--r--tests/ui/sanitizer/cfi-requires-lto.rs (renamed from tests/ui/sanitize/sanitizer-cfi-requires-lto.rs)0
-rw-r--r--tests/ui/sanitizer/cfi-requires-lto.stderr (renamed from tests/ui/sanitize/sanitizer-cfi-requires-lto.stderr)0
-rw-r--r--tests/ui/sanitizer/cfi-with-rustc-lto-requires-single-codegen-unit.rs (renamed from tests/ui/sanitize/sanitizer-cfi-with-rustc-lto-requires-single-codegen-unit.rs)0
-rw-r--r--tests/ui/sanitizer/cfi-with-rustc-lto-requires-single-codegen-unit.stderr (renamed from tests/ui/sanitize/sanitizer-cfi-with-rustc-lto-requires-single-codegen-unit.stderr)0
-rw-r--r--tests/ui/sanitizer/crt-static.rs (renamed from tests/ui/sanitize/crt-static.rs)0
-rw-r--r--tests/ui/sanitizer/crt-static.stderr (renamed from tests/ui/sanitize/crt-static.stderr)0
-rw-r--r--tests/ui/sanitizer/hwaddress.rs (renamed from tests/ui/sanitize/hwaddress.rs)0
-rw-r--r--tests/ui/sanitizer/incompatible.rs (renamed from tests/ui/sanitize/incompatible.rs)0
-rw-r--r--tests/ui/sanitizer/incompatible.stderr (renamed from tests/ui/sanitize/incompatible.stderr)0
-rw-r--r--tests/ui/sanitizer/inline-always.rs (renamed from tests/ui/sanitize/inline-always.rs)0
-rw-r--r--tests/ui/sanitizer/inline-always.stderr (renamed from tests/ui/sanitize/inline-always.stderr)0
-rw-r--r--tests/ui/sanitizer/issue-111184-cfi-coroutine-witness.rs (renamed from tests/ui/sanitize/issue-111184-coroutine-witness.rs)0
-rw-r--r--tests/ui/sanitizer/issue-114275-cfi-const-expr-in-arry-len.rs (renamed from tests/ui/sanitize/issue-114275-cfi-const-expr-in-arry-len.rs)0
-rw-r--r--tests/ui/sanitizer/issue-72154-address-lifetime-markers.rs (renamed from tests/ui/sanitize/issue-72154-lifetime-markers.rs)0
-rw-r--r--tests/ui/sanitizer/leak.rs (renamed from tests/ui/sanitize/leak.rs)0
-rw-r--r--tests/ui/sanitizer/memory-eager.rs (renamed from tests/ui/sanitize/memory-eager.rs)0
-rw-r--r--tests/ui/sanitizer/memory-passing.rs (renamed from tests/ui/sanitize/memory-passing.rs)0
-rw-r--r--tests/ui/sanitizer/memory.rs (renamed from tests/ui/sanitize/memory.rs)0
-rw-r--r--tests/ui/sanitizer/new-llvm-pass-manager-thin-lto.rs (renamed from tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs)0
-rw-r--r--tests/ui/sanitizer/split-lto-unit-requires-lto.rs (renamed from tests/ui/sanitize/split-lto-unit-requires-lto.rs)0
-rw-r--r--tests/ui/sanitizer/split-lto-unit-requires-lto.stderr (renamed from tests/ui/sanitize/split-lto-unit-requires-lto.stderr)0
-rw-r--r--tests/ui/sanitizer/thread.rs (renamed from tests/ui/sanitize/thread.rs)0
-rw-r--r--tests/ui/sanitizer/unsupported-target.rs (renamed from tests/ui/sanitize/unsupported-target.rs)0
-rw-r--r--tests/ui/sanitizer/unsupported-target.stderr (renamed from tests/ui/sanitize/unsupported-target.stderr)0
-rw-r--r--tests/ui/sanitizer/use-after-scope.rs (renamed from tests/ui/sanitize/use-after-scope.rs)0
-rw-r--r--tests/ui/traits/next-solver/alias-bound-unsound.stderr10
-rw-r--r--tests/ui/traits/next-solver/coherence-fulfill-overflow.stderr3
-rw-r--r--tests/ui/traits/next-solver/coherence/trait_ref_is_knowable-norm-overflow.stderr3
-rw-r--r--tests/ui/traits/next-solver/cycles/coinduction/fixpoint-exponential-growth.stderr1
-rw-r--r--tests/ui/traits/next-solver/cycles/double-cycle-inductive-coinductive.stderr2
-rw-r--r--tests/ui/traits/next-solver/cycles/inductive-fixpoint-hang.stderr1
-rw-r--r--tests/ui/traits/next-solver/cycles/inductive-not-on-stack.stderr2
-rw-r--r--tests/ui/traits/next-solver/cycles/mixed-cycles-1.stderr1
-rw-r--r--tests/ui/traits/next-solver/cycles/mixed-cycles-2.stderr1
-rw-r--r--tests/ui/traits/next-solver/normalize-param-env-2.stderr8
-rw-r--r--tests/ui/traits/next-solver/normalize-param-env-4.next.stderr5
-rw-r--r--tests/ui/traits/next-solver/overflow/exponential-trait-goals.stderr1
-rw-r--r--tests/ui/traits/next-solver/overflow/recursion-limit-zero-issue-115351.rs7
-rw-r--r--tests/ui/traits/next-solver/overflow/recursion-limit-zero-issue-115351.stderr27
103 files changed, 375 insertions, 348 deletions
diff --git a/tests/mir-opt/match_arm_scopes.complicated_match.panic-abort.SimplifyCfg-initial.after-ElaborateDrops.after.diff b/tests/mir-opt/match_arm_scopes.complicated_match.panic-abort.SimplifyCfg-initial.after-ElaborateDrops.after.diff
index 307f7105dd2..619fda339a6 100644
--- a/tests/mir-opt/match_arm_scopes.complicated_match.panic-abort.SimplifyCfg-initial.after-ElaborateDrops.after.diff
+++ b/tests/mir-opt/match_arm_scopes.complicated_match.panic-abort.SimplifyCfg-initial.after-ElaborateDrops.after.diff
@@ -42,15 +42,11 @@
       }
   
       bb2: {
--         switchInt((_2.0: bool)) -> [0: bb4, otherwise: bb3];
+-         switchInt((_2.0: bool)) -> [0: bb3, otherwise: bb4];
 +         switchInt((_2.0: bool)) -> [0: bb3, otherwise: bb17];
       }
   
       bb3: {
--         falseEdge -> [real: bb20, imaginary: bb4];
--     }
-- 
--     bb4: {
           StorageLive(_15);
           _15 = (_2.1: bool);
           StorageLive(_16);
@@ -59,8 +55,12 @@
 +         goto -> bb16;
       }
   
+      bb4: {
+-         falseEdge -> [real: bb20, imaginary: bb3];
+-     }
+- 
 -     bb5: {
--         falseEdge -> [real: bb13, imaginary: bb3];
+-         falseEdge -> [real: bb13, imaginary: bb4];
 -     }
 - 
 -     bb6: {
@@ -68,7 +68,6 @@
 -     }
 - 
 -     bb7: {
-+     bb4: {
           _0 = const 1_i32;
 -         drop(_7) -> [return: bb18, unwind: bb25];
 +         drop(_7) -> [return: bb15, unwind: bb22];
@@ -184,7 +183,7 @@
           StorageDead(_12);
           StorageDead(_8);
           StorageDead(_6);
--         falseEdge -> [real: bb2, imaginary: bb3];
+-         falseEdge -> [real: bb2, imaginary: bb4];
 +         goto -> bb2;
       }
   
diff --git a/tests/mir-opt/match_arm_scopes.complicated_match.panic-unwind.SimplifyCfg-initial.after-ElaborateDrops.after.diff b/tests/mir-opt/match_arm_scopes.complicated_match.panic-unwind.SimplifyCfg-initial.after-ElaborateDrops.after.diff
index 307f7105dd2..619fda339a6 100644
--- a/tests/mir-opt/match_arm_scopes.complicated_match.panic-unwind.SimplifyCfg-initial.after-ElaborateDrops.after.diff
+++ b/tests/mir-opt/match_arm_scopes.complicated_match.panic-unwind.SimplifyCfg-initial.after-ElaborateDrops.after.diff
@@ -42,15 +42,11 @@
       }
   
       bb2: {
--         switchInt((_2.0: bool)) -> [0: bb4, otherwise: bb3];
+-         switchInt((_2.0: bool)) -> [0: bb3, otherwise: bb4];
 +         switchInt((_2.0: bool)) -> [0: bb3, otherwise: bb17];
       }
   
       bb3: {
--         falseEdge -> [real: bb20, imaginary: bb4];
--     }
-- 
--     bb4: {
           StorageLive(_15);
           _15 = (_2.1: bool);
           StorageLive(_16);
@@ -59,8 +55,12 @@
 +         goto -> bb16;
       }
   
+      bb4: {
+-         falseEdge -> [real: bb20, imaginary: bb3];
+-     }
+- 
 -     bb5: {
--         falseEdge -> [real: bb13, imaginary: bb3];
+-         falseEdge -> [real: bb13, imaginary: bb4];
 -     }
 - 
 -     bb6: {
@@ -68,7 +68,6 @@
 -     }
 - 
 -     bb7: {
-+     bb4: {
           _0 = const 1_i32;
 -         drop(_7) -> [return: bb18, unwind: bb25];
 +         drop(_7) -> [return: bb15, unwind: bb22];
@@ -184,7 +183,7 @@
           StorageDead(_12);
           StorageDead(_8);
           StorageDead(_6);
--         falseEdge -> [real: bb2, imaginary: bb3];
+-         falseEdge -> [real: bb2, imaginary: bb4];
 +         goto -> bb2;
       }
   
diff --git a/tests/rustdoc-ui/doc-include-suggestion.rs b/tests/rustdoc-ui/doc-include-suggestion.rs
index 5c8d1efa76f..aff0a24ace8 100644
--- a/tests/rustdoc-ui/doc-include-suggestion.rs
+++ b/tests/rustdoc-ui/doc-include-suggestion.rs
@@ -1,10 +1,6 @@
-//@ check-pass
-
 #[doc(include = "external-cross-doc.md")]
-//~^ WARNING unknown `doc` attribute `include`
+//~^ ERROR unknown `doc` attribute `include`
 //~| HELP use `doc = include_str!` instead
 // FIXME(#85497): make this a deny instead so it's more clear what's happening
 //~| NOTE on by default
-//~| WARNING previously accepted
-//~| NOTE see issue #82730
 pub struct NeedMoreDocs;
diff --git a/tests/rustdoc-ui/doc-include-suggestion.stderr b/tests/rustdoc-ui/doc-include-suggestion.stderr
index fcc93d0532a..1b4b78a8f26 100644
--- a/tests/rustdoc-ui/doc-include-suggestion.stderr
+++ b/tests/rustdoc-ui/doc-include-suggestion.stderr
@@ -1,12 +1,10 @@
-warning: unknown `doc` attribute `include`
-  --> $DIR/doc-include-suggestion.rs:3:7
+error: unknown `doc` attribute `include`
+  --> $DIR/doc-include-suggestion.rs:1:7
    |
 LL | #[doc(include = "external-cross-doc.md")]
    | ------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-- help: use `doc = include_str!` instead: `#[doc = include_str!("external-cross-doc.md")]`
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
-   = note: `#[warn(invalid_doc_attributes)]` on by default
+   = note: `#[deny(invalid_doc_attributes)]` on by default
 
-warning: 1 warning emitted
+error: aborting due to 1 previous error
 
diff --git a/tests/rustdoc-ui/doctest/doc-test-attr.rs b/tests/rustdoc-ui/doctest/doc-test-attr.rs
index 46178ad865a..8570252c449 100644
--- a/tests/rustdoc-ui/doctest/doc-test-attr.rs
+++ b/tests/rustdoc-ui/doctest/doc-test-attr.rs
@@ -1,14 +1,10 @@
 #![crate_type = "lib"]
-#![deny(invalid_doc_attributes)]
 
 #![doc(test)]
 //~^ ERROR `#[doc(test(...)]` takes a list of attributes
-//~^^ WARN this was previously accepted by the compiler
 #![doc(test = "hello")]
 //~^ ERROR `#[doc(test(...)]` takes a list of attributes
-//~^^ WARN this was previously accepted by the compiler
 #![doc(test(a))]
 //~^ ERROR unknown `doc(test)` attribute `a`
-//~^^ WARN this was previously accepted by the compiler
 
 pub fn foo() {}
diff --git a/tests/rustdoc-ui/doctest/doc-test-attr.stderr b/tests/rustdoc-ui/doctest/doc-test-attr.stderr
index 5e6014954a4..415251cc5e9 100644
--- a/tests/rustdoc-ui/doctest/doc-test-attr.stderr
+++ b/tests/rustdoc-ui/doctest/doc-test-attr.stderr
@@ -1,34 +1,22 @@
 error: `#[doc(test(...)]` takes a list of attributes
-  --> $DIR/doc-test-attr.rs:4:8
+  --> $DIR/doc-test-attr.rs:3:8
    |
 LL | #![doc(test)]
    |        ^^^^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
-note: the lint level is defined here
-  --> $DIR/doc-test-attr.rs:2:9
-   |
-LL | #![deny(invalid_doc_attributes)]
-   |         ^^^^^^^^^^^^^^^^^^^^^^
+   = note: `#[deny(invalid_doc_attributes)]` on by default
 
 error: `#[doc(test(...)]` takes a list of attributes
-  --> $DIR/doc-test-attr.rs:7:8
+  --> $DIR/doc-test-attr.rs:5:8
    |
 LL | #![doc(test = "hello")]
    |        ^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: unknown `doc(test)` attribute `a`
-  --> $DIR/doc-test-attr.rs:10:13
+  --> $DIR/doc-test-attr.rs:7:13
    |
 LL | #![doc(test(a))]
    |             ^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/rustdoc-ui/lints/doc-attr.rs b/tests/rustdoc-ui/lints/doc-attr.rs
index 980d1c0e207..666aeb55cbe 100644
--- a/tests/rustdoc-ui/lints/doc-attr.rs
+++ b/tests/rustdoc-ui/lints/doc-attr.rs
@@ -1,25 +1,17 @@
 #![crate_type = "lib"]
-#![deny(warnings)]
 #![doc(as_ptr)]
 //~^ ERROR unknown `doc` attribute
-//~^^ WARN
 
 #[doc(as_ptr)]
 //~^ ERROR unknown `doc` attribute
-//~^^ WARN
 pub fn foo() {}
 
 #[doc(123)]
 //~^ ERROR invalid `doc` attribute
-//~| WARN
 #[doc("hello", "bar")]
 //~^ ERROR invalid `doc` attribute
-//~| WARN
 //~| ERROR invalid `doc` attribute
-//~| WARN
 #[doc(foo::bar, crate::bar::baz = "bye")]
 //~^ ERROR unknown `doc` attribute
-//~| WARN
 //~| ERROR unknown `doc` attribute
-//~| WARN
 fn bar() {}
diff --git a/tests/rustdoc-ui/lints/doc-attr.stderr b/tests/rustdoc-ui/lints/doc-attr.stderr
index 68df2771fd7..091ffc20d46 100644
--- a/tests/rustdoc-ui/lints/doc-attr.stderr
+++ b/tests/rustdoc-ui/lints/doc-attr.stderr
@@ -1,71 +1,46 @@
 error: unknown `doc` attribute `as_ptr`
-  --> $DIR/doc-attr.rs:7:7
+  --> $DIR/doc-attr.rs:5:7
    |
 LL | #[doc(as_ptr)]
    |       ^^^^^^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
-note: the lint level is defined here
-  --> $DIR/doc-attr.rs:2:9
-   |
-LL | #![deny(warnings)]
-   |         ^^^^^^^^
-   = note: `#[deny(invalid_doc_attributes)]` implied by `#[deny(warnings)]`
+   = note: `#[deny(invalid_doc_attributes)]` on by default
 
 error: invalid `doc` attribute
-  --> $DIR/doc-attr.rs:12:7
+  --> $DIR/doc-attr.rs:9:7
    |
 LL | #[doc(123)]
    |       ^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: invalid `doc` attribute
-  --> $DIR/doc-attr.rs:15:7
+  --> $DIR/doc-attr.rs:11:7
    |
 LL | #[doc("hello", "bar")]
    |       ^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: invalid `doc` attribute
-  --> $DIR/doc-attr.rs:15:16
+  --> $DIR/doc-attr.rs:11:16
    |
 LL | #[doc("hello", "bar")]
    |                ^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: unknown `doc` attribute `foo::bar`
-  --> $DIR/doc-attr.rs:20:7
+  --> $DIR/doc-attr.rs:14:7
    |
 LL | #[doc(foo::bar, crate::bar::baz = "bye")]
    |       ^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: unknown `doc` attribute `crate::bar::baz`
-  --> $DIR/doc-attr.rs:20:17
+  --> $DIR/doc-attr.rs:14:17
    |
 LL | #[doc(foo::bar, crate::bar::baz = "bye")]
    |                 ^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: unknown `doc` attribute `as_ptr`
-  --> $DIR/doc-attr.rs:3:8
+  --> $DIR/doc-attr.rs:2:8
    |
 LL | #![doc(as_ptr)]
    |        ^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/rustdoc-ui/lints/doc-spotlight.fixed b/tests/rustdoc-ui/lints/doc-spotlight.fixed
index 6de95a33589..0f8f11a9430 100644
--- a/tests/rustdoc-ui/lints/doc-spotlight.fixed
+++ b/tests/rustdoc-ui/lints/doc-spotlight.fixed
@@ -1,8 +1,6 @@
 //@ run-rustfix
-#![deny(warnings)]
 #![feature(doc_notable_trait)]
 
 #[doc(notable_trait)]
 //~^ ERROR unknown `doc` attribute `spotlight`
-//~| WARN this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
 trait MyTrait {}
diff --git a/tests/rustdoc-ui/lints/doc-spotlight.rs b/tests/rustdoc-ui/lints/doc-spotlight.rs
index 9823ea90522..c1f90dd442b 100644
--- a/tests/rustdoc-ui/lints/doc-spotlight.rs
+++ b/tests/rustdoc-ui/lints/doc-spotlight.rs
@@ -1,8 +1,6 @@
 //@ run-rustfix
-#![deny(warnings)]
 #![feature(doc_notable_trait)]
 
 #[doc(spotlight)]
 //~^ ERROR unknown `doc` attribute `spotlight`
-//~| WARN this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
 trait MyTrait {}
diff --git a/tests/rustdoc-ui/lints/doc-spotlight.stderr b/tests/rustdoc-ui/lints/doc-spotlight.stderr
index 5d93b4132fc..9682a3c0c8b 100644
--- a/tests/rustdoc-ui/lints/doc-spotlight.stderr
+++ b/tests/rustdoc-ui/lints/doc-spotlight.stderr
@@ -1,19 +1,12 @@
 error: unknown `doc` attribute `spotlight`
-  --> $DIR/doc-spotlight.rs:5:7
+  --> $DIR/doc-spotlight.rs:4:7
    |
 LL | #[doc(spotlight)]
    |       ^^^^^^^^^ help: use `notable_trait` instead
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
    = note: `doc(spotlight)` was renamed to `doc(notable_trait)`
    = note: `doc(spotlight)` is now a no-op
-note: the lint level is defined here
-  --> $DIR/doc-spotlight.rs:2:9
-   |
-LL | #![deny(warnings)]
-   |         ^^^^^^^^
-   = note: `#[deny(invalid_doc_attributes)]` implied by `#[deny(warnings)]`
+   = note: `#[deny(invalid_doc_attributes)]` on by default
 
 error: aborting due to 1 previous error
 
diff --git a/tests/rustdoc-ui/lints/doc_cfg_hide.rs b/tests/rustdoc-ui/lints/doc_cfg_hide.rs
index 5d8791748a0..9a8bce2a92a 100644
--- a/tests/rustdoc-ui/lints/doc_cfg_hide.rs
+++ b/tests/rustdoc-ui/lints/doc_cfg_hide.rs
@@ -1,11 +1,7 @@
 #![feature(doc_cfg_hide)]
-#![deny(warnings)]
 
 #![doc(cfg_hide = "test")] //~ ERROR
-//~^ WARN
 #![doc(cfg_hide)] //~ ERROR
-//~^ WARN
 
 #[doc(cfg_hide(doc))] //~ ERROR
-//~^ WARN
 pub fn foo() {}
diff --git a/tests/rustdoc-ui/lints/doc_cfg_hide.stderr b/tests/rustdoc-ui/lints/doc_cfg_hide.stderr
index ca6a14a42b8..0c9d0879b0a 100644
--- a/tests/rustdoc-ui/lints/doc_cfg_hide.stderr
+++ b/tests/rustdoc-ui/lints/doc_cfg_hide.stderr
@@ -1,40 +1,27 @@
 error: this attribute can only be applied at the crate level
-  --> $DIR/doc_cfg_hide.rs:9:7
+  --> $DIR/doc_cfg_hide.rs:6:7
    |
 LL | #[doc(cfg_hide(doc))]
    |       ^^^^^^^^^^^^^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
    = note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#at-the-crate-level> for more information
-note: the lint level is defined here
-  --> $DIR/doc_cfg_hide.rs:2:9
-   |
-LL | #![deny(warnings)]
-   |         ^^^^^^^^
-   = note: `#[deny(invalid_doc_attributes)]` implied by `#[deny(warnings)]`
+   = note: `#[deny(invalid_doc_attributes)]` on by default
 help: to apply to the crate, use an inner attribute
    |
 LL | #![doc(cfg_hide(doc))]
    |  +
 
 error: `#[doc(cfg_hide(...))]` takes a list of attributes
-  --> $DIR/doc_cfg_hide.rs:4:8
+  --> $DIR/doc_cfg_hide.rs:3:8
    |
 LL | #![doc(cfg_hide = "test")]
    |        ^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: `#[doc(cfg_hide(...))]` takes a list of attributes
-  --> $DIR/doc_cfg_hide.rs:6:8
+  --> $DIR/doc_cfg_hide.rs:4:8
    |
 LL | #![doc(cfg_hide)]
    |        ^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/rustdoc-ui/lints/invalid-doc-attr.rs b/tests/rustdoc-ui/lints/invalid-doc-attr.rs
index 16b12cca5a0..e1cc08ca242 100644
--- a/tests/rustdoc-ui/lints/invalid-doc-attr.rs
+++ b/tests/rustdoc-ui/lints/invalid-doc-attr.rs
@@ -1,32 +1,25 @@
 #![crate_type = "lib"]
-#![deny(warnings)]
 #![feature(doc_masked)]
 
 #![doc(masked)]
 //~^ ERROR this attribute can only be applied to an `extern crate` item
-//~| WARN is being phased out
 
 #[doc(test(no_crate_inject))]
 //~^ ERROR can only be applied at the crate level
-//~| WARN is being phased out
 //~| HELP to apply to the crate, use an inner attribute
 //~| SUGGESTION !
 #[doc(inline)]
 //~^ ERROR can only be applied to a `use` item
-//~| WARN is being phased out
 pub fn foo() {}
 
 pub mod bar {
     #![doc(test(no_crate_inject))]
     //~^ ERROR can only be applied at the crate level
-    //~| WARN is being phased out
 
     #[doc(test(no_crate_inject))]
     //~^ ERROR can only be applied at the crate level
-    //~| WARN is being phased out
     #[doc(inline)]
     //~^ ERROR can only be applied to a `use` item
-    //~| WARN is being phased out
     pub fn baz() {}
 }
 
@@ -38,10 +31,8 @@ pub use bar::baz;
 
 #[doc(masked)]
 //~^ ERROR this attribute can only be applied to an `extern crate` item
-//~| WARN is being phased out
 pub struct Masked;
 
 #[doc(masked)]
 //~^ ERROR this attribute cannot be applied to an `extern crate self` item
-//~| WARN is being phased out
 pub extern crate self as reexport;
diff --git a/tests/rustdoc-ui/lints/invalid-doc-attr.stderr b/tests/rustdoc-ui/lints/invalid-doc-attr.stderr
index 82ea33e1d89..7621999a8ca 100644
--- a/tests/rustdoc-ui/lints/invalid-doc-attr.stderr
+++ b/tests/rustdoc-ui/lints/invalid-doc-attr.stderr
@@ -1,48 +1,37 @@
 error: this attribute can only be applied at the crate level
-  --> $DIR/invalid-doc-attr.rs:9:7
+  --> $DIR/invalid-doc-attr.rs:7:7
    |
 LL | #[doc(test(no_crate_inject))]
    |       ^^^^^^^^^^^^^^^^^^^^^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
    = note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#at-the-crate-level> for more information
-note: the lint level is defined here
-  --> $DIR/invalid-doc-attr.rs:2:9
-   |
-LL | #![deny(warnings)]
-   |         ^^^^^^^^
-   = note: `#[deny(invalid_doc_attributes)]` implied by `#[deny(warnings)]`
+   = note: `#[deny(invalid_doc_attributes)]` on by default
 help: to apply to the crate, use an inner attribute
    |
 LL | #![doc(test(no_crate_inject))]
    |  +
 
 error: this attribute can only be applied to a `use` item
-  --> $DIR/invalid-doc-attr.rs:14:7
+  --> $DIR/invalid-doc-attr.rs:11:7
    |
 LL | #[doc(inline)]
    |       ^^^^^^ only applicable on `use` items
-...
+LL |
 LL | pub fn foo() {}
    | ------------ not a `use` item
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
    = note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#inline-and-no_inline> for more information
 
 error: this attribute can only be applied at the crate level
-  --> $DIR/invalid-doc-attr.rs:20:12
+  --> $DIR/invalid-doc-attr.rs:16:12
    |
 LL |     #![doc(test(no_crate_inject))]
    |            ^^^^^^^^^^^^^^^^^^^^^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
    = note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#at-the-crate-level> for more information
 
 error: conflicting doc inlining attributes
-  --> $DIR/invalid-doc-attr.rs:33:7
+  --> $DIR/invalid-doc-attr.rs:26:7
    |
 LL | #[doc(inline)]
    |       ^^^^^^ this attribute...
@@ -52,61 +41,50 @@ LL | #[doc(no_inline)]
    = help: remove one of the conflicting attributes
 
 error: this attribute can only be applied to an `extern crate` item
-  --> $DIR/invalid-doc-attr.rs:39:7
+  --> $DIR/invalid-doc-attr.rs:32:7
    |
 LL | #[doc(masked)]
    |       ^^^^^^ only applicable on `extern crate` items
-...
+LL |
 LL | pub struct Masked;
    | ----------------- not an `extern crate` item
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
    = note: read <https://doc.rust-lang.org/unstable-book/language-features/doc-masked.html> for more information
 
 error: this attribute cannot be applied to an `extern crate self` item
-  --> $DIR/invalid-doc-attr.rs:44:7
+  --> $DIR/invalid-doc-attr.rs:36:7
    |
 LL | #[doc(masked)]
    |       ^^^^^^ not applicable on `extern crate self` items
-...
+LL |
 LL | pub extern crate self as reexport;
    | --------------------------------- `extern crate self` defined here
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: this attribute can only be applied to an `extern crate` item
-  --> $DIR/invalid-doc-attr.rs:5:8
+  --> $DIR/invalid-doc-attr.rs:4:8
    |
 LL | #![doc(masked)]
    |        ^^^^^^ only applicable on `extern crate` items
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
    = note: read <https://doc.rust-lang.org/unstable-book/language-features/doc-masked.html> for more information
 
 error: this attribute can only be applied at the crate level
-  --> $DIR/invalid-doc-attr.rs:24:11
+  --> $DIR/invalid-doc-attr.rs:19:11
    |
 LL |     #[doc(test(no_crate_inject))]
    |           ^^^^^^^^^^^^^^^^^^^^^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
    = note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#at-the-crate-level> for more information
 
 error: this attribute can only be applied to a `use` item
-  --> $DIR/invalid-doc-attr.rs:27:11
+  --> $DIR/invalid-doc-attr.rs:21:11
    |
 LL |     #[doc(inline)]
    |           ^^^^^^ only applicable on `use` items
-...
+LL |
 LL |     pub fn baz() {}
    |     ------------ not a `use` item
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
    = note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#inline-and-no_inline> for more information
 
 error: aborting due to 9 previous errors
diff --git a/tests/ui-fulldeps/stable-mir/check_abi.rs b/tests/ui-fulldeps/stable-mir/check_abi.rs
index c345987955e..74801e007c4 100644
--- a/tests/ui-fulldeps/stable-mir/check_abi.rs
+++ b/tests/ui-fulldeps/stable-mir/check_abi.rs
@@ -19,8 +19,12 @@ extern crate rustc_interface;
 extern crate stable_mir;
 
 use rustc_smir::rustc_internal;
-use stable_mir::abi::{ArgAbi, CallConvention, FieldsShape, PassMode, VariantsShape};
+use stable_mir::abi::{
+    ArgAbi, CallConvention, FieldsShape, IntegerLength, PassMode, Primitive, Scalar, ValueAbi,
+    VariantsShape,
+};
 use stable_mir::mir::mono::Instance;
+use stable_mir::target::MachineInfo;
 use stable_mir::{CrateDef, CrateItem, CrateItems, ItemKind};
 use std::assert_matches::assert_matches;
 use std::convert::TryFrom;
@@ -39,11 +43,12 @@ fn test_stable_mir() -> ControlFlow<()> {
     let instance = Instance::try_from(target_fn).unwrap();
     let fn_abi = instance.fn_abi().unwrap();
     assert_eq!(fn_abi.conv, CallConvention::Rust);
-    assert_eq!(fn_abi.args.len(), 2);
+    assert_eq!(fn_abi.args.len(), 3);
 
     check_ignore(&fn_abi.args[0]);
     check_primitive(&fn_abi.args[1]);
-    check_result(fn_abi.ret);
+    check_niche(&fn_abi.args[2]);
+    check_result(&fn_abi.ret);
 
     // Test variadic function.
     let variadic_fn = *get_item(&items, (ItemKind::Fn, "variadic_fn")).unwrap();
@@ -85,7 +90,7 @@ fn check_primitive(abi: &ArgAbi) {
 }
 
 /// Check the return value: `Result<usize, &str>`.
-fn check_result(abi: ArgAbi) {
+fn check_result(abi: &ArgAbi) {
     assert!(abi.ty.kind().is_enum());
     assert_matches!(abi.mode, PassMode::Indirect { .. });
     let layout = abi.layout.shape();
@@ -94,6 +99,25 @@ fn check_result(abi: ArgAbi) {
     assert_matches!(layout.variants, VariantsShape::Multiple { .. })
 }
 
+/// Check the niche information about: `NonZeroU8`
+fn check_niche(abi: &ArgAbi) {
+    assert!(abi.ty.kind().is_struct());
+    assert_matches!(abi.mode, PassMode::Direct { .. });
+    let layout = abi.layout.shape();
+    assert!(layout.is_sized());
+    assert_eq!(layout.size.bytes(), 1);
+
+    let ValueAbi::Scalar(scalar) = layout.abi else { unreachable!() };
+    assert!(scalar.has_niche(&MachineInfo::target()), "Opps: {:?}", scalar);
+
+    let Scalar::Initialized { value, valid_range } = scalar else { unreachable!() };
+    assert_matches!(value, Primitive::Int { length: IntegerLength::I8, signed: false });
+    assert_eq!(valid_range.start, 1);
+    assert_eq!(valid_range.end, u8::MAX.into());
+    assert!(!valid_range.contains(0));
+    assert!(!valid_range.wraps_around());
+}
+
 fn get_item<'a>(
     items: &'a CrateItems,
     item: (ItemKind, &str),
@@ -126,11 +150,16 @@ fn generate_input(path: &str) -> std::io::Result<()> {
         #![feature(c_variadic)]
         #![allow(unused_variables)]
 
-        pub fn fn_abi(ignore: [u8; 0], primitive: char) -> Result<usize, &'static str> {{
-            // We only care about the signature.
-            todo!()
-        }}
+        use std::num::NonZeroU8;
 
+        pub fn fn_abi(
+            ignore: [u8; 0],
+            primitive: char,
+            niche: NonZeroU8,
+        ) -> Result<usize, &'static str> {{
+                // We only care about the signature.
+                todo!()
+        }}
 
         pub unsafe extern "C" fn variadic_fn(n: usize, mut args: ...) -> usize {{
             0
diff --git a/tests/ui/associated-consts/issue-105330.stderr b/tests/ui/associated-consts/issue-105330.stderr
index 50ce69b3381..bde3675b48c 100644
--- a/tests/ui/associated-consts/issue-105330.stderr
+++ b/tests/ui/associated-consts/issue-105330.stderr
@@ -55,7 +55,6 @@ error[E0277]: the trait bound `Demo: TraitWAssocConst` is not satisfied
 LL |     foo::<Demo>()();
    |           ^^^^ the trait `TraitWAssocConst` is not implemented for `Demo`
    |
-   = help: the trait `TraitWAssocConst` is implemented for `{type error}`
 note: required by a bound in `foo`
   --> $DIR/issue-105330.rs:11:11
    |
@@ -92,7 +91,6 @@ error[E0277]: the trait bound `Demo: TraitWAssocConst` is not satisfied
 LL |     foo::<Demo>();
    |           ^^^^ the trait `TraitWAssocConst` is not implemented for `Demo`
    |
-   = help: the trait `TraitWAssocConst` is implemented for `{type error}`
 note: required by a bound in `foo`
   --> $DIR/issue-105330.rs:11:11
    |
diff --git a/tests/ui/associated-types/impl-wf-cycle-6.fixed b/tests/ui/associated-types/impl-wf-cycle-6.fixed
index 45143be1e74..ce98b9c2f02 100644
--- a/tests/ui/associated-types/impl-wf-cycle-6.fixed
+++ b/tests/ui/associated-types/impl-wf-cycle-6.fixed
@@ -21,7 +21,6 @@ impl Grault for () {
 
 impl<T: Grault> Grault for (T,)
 //~^ ERROR overflow evaluating the requirement `<(T,) as Grault>::A == _`
-
 {
     type A = ();
     type B = bool;
diff --git a/tests/ui/attributes/doc-attr.rs b/tests/ui/attributes/doc-attr.rs
index 980d1c0e207..666aeb55cbe 100644
--- a/tests/ui/attributes/doc-attr.rs
+++ b/tests/ui/attributes/doc-attr.rs
@@ -1,25 +1,17 @@
 #![crate_type = "lib"]
-#![deny(warnings)]
 #![doc(as_ptr)]
 //~^ ERROR unknown `doc` attribute
-//~^^ WARN
 
 #[doc(as_ptr)]
 //~^ ERROR unknown `doc` attribute
-//~^^ WARN
 pub fn foo() {}
 
 #[doc(123)]
 //~^ ERROR invalid `doc` attribute
-//~| WARN
 #[doc("hello", "bar")]
 //~^ ERROR invalid `doc` attribute
-//~| WARN
 //~| ERROR invalid `doc` attribute
-//~| WARN
 #[doc(foo::bar, crate::bar::baz = "bye")]
 //~^ ERROR unknown `doc` attribute
-//~| WARN
 //~| ERROR unknown `doc` attribute
-//~| WARN
 fn bar() {}
diff --git a/tests/ui/attributes/doc-attr.stderr b/tests/ui/attributes/doc-attr.stderr
index 68df2771fd7..091ffc20d46 100644
--- a/tests/ui/attributes/doc-attr.stderr
+++ b/tests/ui/attributes/doc-attr.stderr
@@ -1,71 +1,46 @@
 error: unknown `doc` attribute `as_ptr`
-  --> $DIR/doc-attr.rs:7:7
+  --> $DIR/doc-attr.rs:5:7
    |
 LL | #[doc(as_ptr)]
    |       ^^^^^^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
-note: the lint level is defined here
-  --> $DIR/doc-attr.rs:2:9
-   |
-LL | #![deny(warnings)]
-   |         ^^^^^^^^
-   = note: `#[deny(invalid_doc_attributes)]` implied by `#[deny(warnings)]`
+   = note: `#[deny(invalid_doc_attributes)]` on by default
 
 error: invalid `doc` attribute
-  --> $DIR/doc-attr.rs:12:7
+  --> $DIR/doc-attr.rs:9:7
    |
 LL | #[doc(123)]
    |       ^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: invalid `doc` attribute
-  --> $DIR/doc-attr.rs:15:7
+  --> $DIR/doc-attr.rs:11:7
    |
 LL | #[doc("hello", "bar")]
    |       ^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: invalid `doc` attribute
-  --> $DIR/doc-attr.rs:15:16
+  --> $DIR/doc-attr.rs:11:16
    |
 LL | #[doc("hello", "bar")]
    |                ^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: unknown `doc` attribute `foo::bar`
-  --> $DIR/doc-attr.rs:20:7
+  --> $DIR/doc-attr.rs:14:7
    |
 LL | #[doc(foo::bar, crate::bar::baz = "bye")]
    |       ^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: unknown `doc` attribute `crate::bar::baz`
-  --> $DIR/doc-attr.rs:20:17
+  --> $DIR/doc-attr.rs:14:17
    |
 LL | #[doc(foo::bar, crate::bar::baz = "bye")]
    |                 ^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: unknown `doc` attribute `as_ptr`
-  --> $DIR/doc-attr.rs:3:8
+  --> $DIR/doc-attr.rs:2:8
    |
 LL | #![doc(as_ptr)]
    |        ^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: aborting due to 7 previous errors
 
diff --git a/tests/ui/attributes/doc-test-literal.rs b/tests/ui/attributes/doc-test-literal.rs
index a06a1afcb3f..92fe7846f14 100644
--- a/tests/ui/attributes/doc-test-literal.rs
+++ b/tests/ui/attributes/doc-test-literal.rs
@@ -1,7 +1,4 @@
-#![deny(warnings)]
-
 #![doc(test(""))]
 //~^ ERROR `#![doc(test(...)]` does not take a literal
-//~^^ WARN this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
 
 fn main() {}
diff --git a/tests/ui/attributes/doc-test-literal.stderr b/tests/ui/attributes/doc-test-literal.stderr
index ed2964825c7..39e109a76ce 100644
--- a/tests/ui/attributes/doc-test-literal.stderr
+++ b/tests/ui/attributes/doc-test-literal.stderr
@@ -1,17 +1,10 @@
 error: `#![doc(test(...)]` does not take a literal
-  --> $DIR/doc-test-literal.rs:3:13
+  --> $DIR/doc-test-literal.rs:1:13
    |
 LL | #![doc(test(""))]
    |             ^^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
-note: the lint level is defined here
-  --> $DIR/doc-test-literal.rs:1:9
-   |
-LL | #![deny(warnings)]
-   |         ^^^^^^^^
-   = note: `#[deny(invalid_doc_attributes)]` implied by `#[deny(warnings)]`
+   = note: `#[deny(invalid_doc_attributes)]` on by default
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/future-incompatible-lint-group.rs b/tests/ui/future-incompatible-lint-group.rs
index bbd0e33d719..c84538318f7 100644
--- a/tests/ui/future-incompatible-lint-group.rs
+++ b/tests/ui/future-incompatible-lint-group.rs
@@ -11,8 +11,7 @@ trait Tr {
 pub mod submodule {
     // Error since this is a `future_incompatible` lint
     #![doc(test(some_test))]
-        //~^ ERROR this attribute can only be applied at the crate level
-        //~| WARN this was previously accepted by the compiler
+    //~^ ERROR this attribute can only be applied at the crate level
 }
 
 fn main() {}
diff --git a/tests/ui/future-incompatible-lint-group.stderr b/tests/ui/future-incompatible-lint-group.stderr
index 161fe82e373..4e6c434fa29 100644
--- a/tests/ui/future-incompatible-lint-group.stderr
+++ b/tests/ui/future-incompatible-lint-group.stderr
@@ -14,15 +14,8 @@ error: this attribute can only be applied at the crate level
 LL |     #![doc(test(some_test))]
    |            ^^^^^^^^^^^^^^^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
    = note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#at-the-crate-level> for more information
-note: the lint level is defined here
-  --> $DIR/future-incompatible-lint-group.rs:3:9
-   |
-LL | #![deny(future_incompatible)]
-   |         ^^^^^^^^^^^^^^^^^^^
-   = note: `#[deny(invalid_doc_attributes)]` implied by `#[deny(future_incompatible)]`
+   = note: `#[deny(invalid_doc_attributes)]` on by default
 
 error: aborting due to 1 previous error; 1 warning emitted
 
diff --git a/tests/ui/generics/generic-no-mangle.fixed b/tests/ui/generics/generic-no-mangle.fixed
index f20ea0edaa6..69db712f9dc 100644
--- a/tests/ui/generics/generic-no-mangle.fixed
+++ b/tests/ui/generics/generic-no-mangle.fixed
@@ -2,10 +2,8 @@
 #![allow(dead_code)]
 #![deny(no_mangle_generic_items)]
 
-
 pub fn foo<T>() {} //~ ERROR functions generic over types or consts must be mangled
 
-
 pub extern "C" fn bar<T>() {} //~ ERROR functions generic over types or consts must be mangled
 
 #[no_mangle]
diff --git a/tests/ui/higher-ranked/trait-bounds/issue-95230.next.stderr b/tests/ui/higher-ranked/trait-bounds/issue-95230.next.stderr
index 6155579c9fa..9b0efe9abe6 100644
--- a/tests/ui/higher-ranked/trait-bounds/issue-95230.next.stderr
+++ b/tests/ui/higher-ranked/trait-bounds/issue-95230.next.stderr
@@ -4,7 +4,6 @@ error[E0275]: overflow evaluating the requirement `for<'a> &'a mut Bar well-form
 LL |     for<'a> &'a mut Self:;
    |             ^^^^^^^^^^^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_95230`)
 note: required by a bound in `Bar`
   --> $DIR/issue-95230.rs:9:13
    |
diff --git a/tests/ui/imports/issue-52891.fixed b/tests/ui/imports/issue-52891.fixed
index 9faef1703ac..0382960db2f 100644
--- a/tests/ui/imports/issue-52891.fixed
+++ b/tests/ui/imports/issue-52891.fixed
@@ -27,10 +27,8 @@ use issue_52891::{l,
 use issue_52891::a::inner;
 use issue_52891::b::inner as other_inner; //~ ERROR `inner` is defined multiple times
 
-
 //~^ ERROR `issue_52891` is defined multiple times
 
-
 #[macro_use]
 use issue_52891::n; //~ ERROR `n` is defined multiple times
 
diff --git a/tests/ui/imports/unused-import-issue-87973.fixed b/tests/ui/imports/unused-import-issue-87973.fixed
index 96508fa3ea2..d1167d7d486 100644
--- a/tests/ui/imports/unused-import-issue-87973.fixed
+++ b/tests/ui/imports/unused-import-issue-87973.fixed
@@ -2,7 +2,6 @@
 #![deny(unused_imports)]
 
 // Check that attributes get removed too. See #87973.
-
 //~^ ERROR unused import
 
 fn main() {}
diff --git a/tests/ui/inference/stmts-as-exp-105431.rs b/tests/ui/inference/stmts-as-exp-105431.rs
new file mode 100644
index 00000000000..b5adb4a2b66
--- /dev/null
+++ b/tests/ui/inference/stmts-as-exp-105431.rs
@@ -0,0 +1,76 @@
+#![allow(unused)]
+
+fn test_if() -> i32 {
+    let x = if true {
+        eprintln!("hello");
+        3;
+    }
+    else {
+        4;
+    };
+    x //~ ERROR mismatched types
+}
+
+fn test_if_without_binding() -> i32 {
+    if true { //~ ERROR mismatched types
+        eprintln!("hello");
+        3;
+    }
+    else { //~ ERROR mismatched types
+        4;
+    }
+}
+
+fn test_match() -> i32 {
+    let v = 1;
+    let res = match v {
+        1 => { 1; }
+        _ => { 2; }
+    };
+    res //~ ERROR mismatched types
+}
+
+fn test_match_match_without_binding() -> i32 {
+    let v = 1;
+    match v {
+        1 => { 1; } //~ ERROR mismatched types
+        _ => { 2; } //~ ERROR mismatched types
+    }
+}
+
+fn test_match_arm_different_types() -> i32 {
+    let v = 1;
+    let res = match v {
+        1 => { if 1 < 2 { 1 } else { 2 } }
+        _ => { 2; } //~ ERROR `match` arms have incompatible types
+    };
+    res
+}
+
+fn test_if_match_mixed() -> i32 {
+    let x = if true {
+        3;
+    } else {
+        match 1 {
+            1 => { 1 }
+            _ => { 2 }
+        };
+    };
+    x //~ ERROR mismatched types
+}
+
+fn test_if_match_mixed_failed() -> i32 {
+    let x = if true {
+        3;
+    } else {
+        // because this is a tailed expr, so we won't check deeper
+        match 1 {
+            1 => { 33; }
+            _ => { 44; }
+        }
+    };
+    x //~ ERROR mismatched types
+}
+
+
+fn main() {}
diff --git a/tests/ui/inference/stmts-as-exp-105431.stderr b/tests/ui/inference/stmts-as-exp-105431.stderr
new file mode 100644
index 00000000000..f3da04b39a3
--- /dev/null
+++ b/tests/ui/inference/stmts-as-exp-105431.stderr
@@ -0,0 +1,129 @@
+error[E0308]: mismatched types
+  --> $DIR/stmts-as-exp-105431.rs:11:5
+   |
+LL | fn test_if() -> i32 {
+   |                 --- expected `i32` because of return type
+...
+LL |     x
+   |     ^ expected `i32`, found `()`
+   |
+help: remove this semicolon to return this value
+   |
+LL -         3;
+LL +         3
+   |
+help: remove this semicolon to return this value
+   |
+LL -         4;
+LL +         4
+   |
+
+error[E0308]: mismatched types
+  --> $DIR/stmts-as-exp-105431.rs:15:13
+   |
+LL |       if true {
+   |  _____________^
+LL | |         eprintln!("hello");
+LL | |         3;
+   | |          - help: remove this semicolon to return this value
+LL | |     }
+   | |_____^ expected `i32`, found `()`
+
+error[E0308]: mismatched types
+  --> $DIR/stmts-as-exp-105431.rs:19:10
+   |
+LL |       else {
+   |  __________^
+LL | |         4;
+   | |          - help: remove this semicolon to return this value
+LL | |     }
+   | |_____^ expected `i32`, found `()`
+
+error[E0308]: mismatched types
+  --> $DIR/stmts-as-exp-105431.rs:30:5
+   |
+LL | fn test_match() -> i32 {
+   |                    --- expected `i32` because of return type
+...
+LL |     res
+   |     ^^^ expected `i32`, found `()`
+   |
+help: remove this semicolon to return this value
+   |
+LL -         1 => { 1; }
+LL +         1 => { 1 }
+   |
+help: remove this semicolon to return this value
+   |
+LL -         _ => { 2; }
+LL +         _ => { 2 }
+   |
+
+error[E0308]: mismatched types
+  --> $DIR/stmts-as-exp-105431.rs:36:14
+   |
+LL |         1 => { 1; }
+   |              ^^^-^^
+   |              |  |
+   |              |  help: remove this semicolon to return this value
+   |              expected `i32`, found `()`
+
+error[E0308]: mismatched types
+  --> $DIR/stmts-as-exp-105431.rs:37:14
+   |
+LL |         _ => { 2; }
+   |              ^^^-^^
+   |              |  |
+   |              |  help: remove this semicolon to return this value
+   |              expected `i32`, found `()`
+
+error[E0308]: `match` arms have incompatible types
+  --> $DIR/stmts-as-exp-105431.rs:45:16
+   |
+LL |       let res = match v {
+   |  _______________-
+LL | |         1 => { if 1 < 2 { 1 } else { 2 } }
+   | |                ------------------------- this is found to be of type `{integer}`
+LL | |         _ => { 2; }
+   | |                ^-
+   | |                ||
+   | |                |help: consider removing this semicolon
+   | |                expected integer, found `()`
+LL | |     };
+   | |_____- `match` arms have incompatible types
+
+error[E0308]: mismatched types
+  --> $DIR/stmts-as-exp-105431.rs:59:5
+   |
+LL | fn test_if_match_mixed() -> i32 {
+   |                             --- expected `i32` because of return type
+...
+LL |     x
+   |     ^ expected `i32`, found `()`
+   |
+help: remove this semicolon to return this value
+   |
+LL -         3;
+LL +         3
+   |
+help: remove this semicolon to return this value
+   |
+LL -         };
+LL +         }
+   |
+
+error[E0308]: mismatched types
+  --> $DIR/stmts-as-exp-105431.rs:72:5
+   |
+LL | fn test_if_match_mixed_failed() -> i32 {
+   |                                    --- expected `i32` because of return type
+LL |     let x = if true {
+LL |         3;
+   |          - help: remove this semicolon to return this value
+...
+LL |     x
+   |     ^ expected `i32`, found `()`
+
+error: aborting due to 9 previous errors
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/tests/ui/lazy-type-alias/inherent-impls-overflow.next.stderr b/tests/ui/lazy-type-alias/inherent-impls-overflow.next.stderr
index 85e8061f173..80377bf6c20 100644
--- a/tests/ui/lazy-type-alias/inherent-impls-overflow.next.stderr
+++ b/tests/ui/lazy-type-alias/inherent-impls-overflow.next.stderr
@@ -3,8 +3,6 @@ error[E0275]: overflow evaluating the requirement `Loop == _`
    |
 LL | impl Loop {}
    |      ^^^^
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`inherent_impls_overflow`)
 
 error[E0392]: type parameter `T` is never used
   --> $DIR/inherent-impls-overflow.rs:13:12
diff --git a/tests/ui/lazy-type-alias/leading-where-clause.fixed b/tests/ui/lazy-type-alias/leading-where-clause.fixed
index ca0ab7b5c7d..003eaa6c54e 100644
--- a/tests/ui/lazy-type-alias/leading-where-clause.fixed
+++ b/tests/ui/lazy-type-alias/leading-where-clause.fixed
@@ -7,11 +7,9 @@
 // Check that we *reject* leading where-clauses on lazy type aliases.
 
 pub type Leading0<T>
-
 = T where String: From<T>;
 
 pub type Leading1<T, U>
-
 = (T, U)
 where
     U: Copy, String: From<T>;
diff --git a/tests/ui/lint/suggestions.fixed b/tests/ui/lint/suggestions.fixed
index b017438a8bd..66d097b121f 100644
--- a/tests/ui/lint/suggestions.fixed
+++ b/tests/ui/lint/suggestions.fixed
@@ -7,7 +7,6 @@
 //~^ ERROR const items should never be `#[no_mangle]`
 //~| HELP try a static value
 
-
 //~^ HELP remove this attribute
 pub fn defiant<T>(_t: T) {}
 //~^ WARN functions generic over types or consts must be mangled
diff --git a/tests/ui/lint/unused/import_remove_line.fixed b/tests/ui/lint/unused/import_remove_line.fixed
new file mode 100644
index 00000000000..45876cd4ebc
--- /dev/null
+++ b/tests/ui/lint/unused/import_remove_line.fixed
@@ -0,0 +1,11 @@
+//@ run-rustfix
+//@ check-pass
+
+#![crate_type = "lib"]
+#![warn(unused_imports)]
+
+//~^ WARN unused imports
+//~^ WARN unused import
+
+//~^ WARN unused import
+//~| WARN unused import
diff --git a/tests/ui/lint/unused/import_remove_line.rs b/tests/ui/lint/unused/import_remove_line.rs
new file mode 100644
index 00000000000..fd45f04eb80
--- /dev/null
+++ b/tests/ui/lint/unused/import_remove_line.rs
@@ -0,0 +1,13 @@
+//@ run-rustfix
+//@ check-pass
+
+#![crate_type = "lib"]
+#![warn(unused_imports)]
+
+use std::time::{Duration, Instant};
+//~^ WARN unused imports
+use std::time::SystemTime;
+//~^ WARN unused import
+use std::time::SystemTimeError;use std::time::TryFromFloatSecsError;
+//~^ WARN unused import
+//~| WARN unused import
diff --git a/tests/ui/lint/unused/import_remove_line.stderr b/tests/ui/lint/unused/import_remove_line.stderr
new file mode 100644
index 00000000000..0e8c5de3558
--- /dev/null
+++ b/tests/ui/lint/unused/import_remove_line.stderr
@@ -0,0 +1,32 @@
+warning: unused imports: `Duration`, `Instant`
+  --> $DIR/import_remove_line.rs:7:17
+   |
+LL | use std::time::{Duration, Instant};
+   |                 ^^^^^^^^  ^^^^^^^
+   |
+note: the lint level is defined here
+  --> $DIR/import_remove_line.rs:5:9
+   |
+LL | #![warn(unused_imports)]
+   |         ^^^^^^^^^^^^^^
+
+warning: unused import: `std::time::SystemTime`
+  --> $DIR/import_remove_line.rs:9:5
+   |
+LL | use std::time::SystemTime;
+   |     ^^^^^^^^^^^^^^^^^^^^^
+
+warning: unused import: `std::time::SystemTimeError`
+  --> $DIR/import_remove_line.rs:11:5
+   |
+LL | use std::time::SystemTimeError;use std::time::TryFromFloatSecsError;
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+warning: unused import: `std::time::TryFromFloatSecsError`
+  --> $DIR/import_remove_line.rs:11:36
+   |
+LL | use std::time::SystemTimeError;use std::time::TryFromFloatSecsError;
+   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+warning: 4 warnings emitted
+
diff --git a/tests/ui/repr/invalid_repr_list_help.rs b/tests/ui/repr/invalid_repr_list_help.rs
index 785ffb1e0f4..77f2a68537b 100644
--- a/tests/ui/repr/invalid_repr_list_help.rs
+++ b/tests/ui/repr/invalid_repr_list_help.rs
@@ -17,6 +17,5 @@ pub enum OwO4 {
 }
 
 #[repr(uwu)] //~ERROR: unrecognized representation hint
-#[doc(owo)]  //~WARN: unknown `doc` attribute
-             //~^ WARN: this was previously
+#[doc(owo)]  //~ERROR: unknown `doc` attribute
 pub struct Owo5;
diff --git a/tests/ui/repr/invalid_repr_list_help.stderr b/tests/ui/repr/invalid_repr_list_help.stderr
index 7ffe1287eb3..e87cbd37a99 100644
--- a/tests/ui/repr/invalid_repr_list_help.stderr
+++ b/tests/ui/repr/invalid_repr_list_help.stderr
@@ -30,15 +30,13 @@ LL | #[repr(uwu, u8)]
    |
    = help: valid reprs are `Rust` (default), `C`, `align`, `packed`, `transparent`, `simd`, `i8`, `u8`, `i16`, `u16`, `i32`, `u32`, `i64`, `u64`, `i128`, `u128`, `isize`, `usize`
 
-warning: unknown `doc` attribute `owo`
+error: unknown `doc` attribute `owo`
   --> $DIR/invalid_repr_list_help.rs:20:7
    |
 LL | #[doc(owo)]
    |       ^^^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
-   = note: `#[warn(invalid_doc_attributes)]` on by default
+   = note: `#[deny(invalid_doc_attributes)]` on by default
 
 error[E0552]: unrecognized representation hint
   --> $DIR/invalid_repr_list_help.rs:19:8
@@ -48,6 +46,6 @@ LL | #[repr(uwu)]
    |
    = help: valid reprs are `Rust` (default), `C`, `align`, `packed`, `transparent`, `simd`, `i8`, `u8`, `i16`, `u16`, `i32`, `u32`, `i64`, `u64`, `i128`, `u128`, `isize`, `usize`
 
-error: aborting due to 5 previous errors; 1 warning emitted
+error: aborting due to 6 previous errors
 
 For more information about this error, try `rustc --explain E0552`.
diff --git a/tests/ui/resolve/resolve-conflict-import-vs-import.fixed b/tests/ui/resolve/resolve-conflict-import-vs-import.fixed
index 2ebf2a194b8..d981d629c46 100644
--- a/tests/ui/resolve/resolve-conflict-import-vs-import.fixed
+++ b/tests/ui/resolve/resolve-conflict-import-vs-import.fixed
@@ -2,7 +2,6 @@
 
 #[allow(unused_imports)]
 use std::mem::transmute;
-
 //~^ ERROR the name `transmute` is defined multiple times
 
 fn main() {
diff --git a/tests/ui/rust-2018/extern-crate-idiomatic-in-2018.fixed b/tests/ui/rust-2018/extern-crate-idiomatic-in-2018.fixed
index fcab56ac819..ca8422c03a3 100644
--- a/tests/ui/rust-2018/extern-crate-idiomatic-in-2018.fixed
+++ b/tests/ui/rust-2018/extern-crate-idiomatic-in-2018.fixed
@@ -9,7 +9,6 @@
 #![deny(rust_2018_idioms)]
 #![allow(dead_code)]
 
-
 //~^ ERROR unused extern crate
 
 // Shouldn't suggest changing to `use`, as `bar`
diff --git a/tests/ui/rust-2018/issue-54400-unused-extern-crate-attr-span.fixed b/tests/ui/rust-2018/issue-54400-unused-extern-crate-attr-span.fixed
index 2625cdc8b48..75b3918be1d 100644
--- a/tests/ui/rust-2018/issue-54400-unused-extern-crate-attr-span.fixed
+++ b/tests/ui/rust-2018/issue-54400-unused-extern-crate-attr-span.fixed
@@ -8,7 +8,6 @@
 
 // The suggestion span should include the attribute.
 
-
 //~^ ERROR unused extern crate
 
 fn main() {}
diff --git a/tests/ui/rustdoc/deny-invalid-doc-attrs.rs b/tests/ui/rustdoc/deny-invalid-doc-attrs.rs
index 02e9c67915f..15bfd723424 100644
--- a/tests/ui/rustdoc/deny-invalid-doc-attrs.rs
+++ b/tests/ui/rustdoc/deny-invalid-doc-attrs.rs
@@ -2,6 +2,4 @@
 //~^ NOTE defined here
 #![doc(x)]
 //~^ ERROR unknown `doc` attribute `x`
-//~| WARNING will become a hard error
-//~| NOTE see issue #82730
 fn main() {}
diff --git a/tests/ui/rustdoc/deny-invalid-doc-attrs.stderr b/tests/ui/rustdoc/deny-invalid-doc-attrs.stderr
index bf104f48be0..0884e9c8bb2 100644
--- a/tests/ui/rustdoc/deny-invalid-doc-attrs.stderr
+++ b/tests/ui/rustdoc/deny-invalid-doc-attrs.stderr
@@ -4,8 +4,6 @@ error: unknown `doc` attribute `x`
 LL | #![doc(x)]
    |        ^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 note: the lint level is defined here
   --> $DIR/deny-invalid-doc-attrs.rs:1:9
    |
diff --git a/tests/ui/rustdoc/doc-primitive.rs b/tests/ui/rustdoc/doc-primitive.rs
index 4336961e3b5..fbb1e1bc1fa 100644
--- a/tests/ui/rustdoc/doc-primitive.rs
+++ b/tests/ui/rustdoc/doc-primitive.rs
@@ -2,7 +2,6 @@
 
 #[doc(primitive = "foo")]
 //~^ ERROR unknown `doc` attribute `primitive`
-//~| WARN
 mod bar {}
 
 fn main() {}
diff --git a/tests/ui/rustdoc/doc-primitive.stderr b/tests/ui/rustdoc/doc-primitive.stderr
index 5f535206d26..8f6f330b3e5 100644
--- a/tests/ui/rustdoc/doc-primitive.stderr
+++ b/tests/ui/rustdoc/doc-primitive.stderr
@@ -4,8 +4,6 @@ error: unknown `doc` attribute `primitive`
 LL | #[doc(primitive = "foo")]
    |       ^^^^^^^^^^^^^^^^^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 note: the lint level is defined here
   --> $DIR/doc-primitive.rs:1:9
    |
diff --git a/tests/ui/rustdoc/doc-test-attr.rs b/tests/ui/rustdoc/doc-test-attr.rs
index 46178ad865a..fb3db6a80fa 100644
--- a/tests/ui/rustdoc/doc-test-attr.rs
+++ b/tests/ui/rustdoc/doc-test-attr.rs
@@ -3,12 +3,9 @@
 
 #![doc(test)]
 //~^ ERROR `#[doc(test(...)]` takes a list of attributes
-//~^^ WARN this was previously accepted by the compiler
 #![doc(test = "hello")]
 //~^ ERROR `#[doc(test(...)]` takes a list of attributes
-//~^^ WARN this was previously accepted by the compiler
 #![doc(test(a))]
 //~^ ERROR unknown `doc(test)` attribute `a`
-//~^^ WARN this was previously accepted by the compiler
 
 pub fn foo() {}
diff --git a/tests/ui/rustdoc/doc-test-attr.stderr b/tests/ui/rustdoc/doc-test-attr.stderr
index 5e6014954a4..51672314a43 100644
--- a/tests/ui/rustdoc/doc-test-attr.stderr
+++ b/tests/ui/rustdoc/doc-test-attr.stderr
@@ -4,8 +4,6 @@ error: `#[doc(test(...)]` takes a list of attributes
 LL | #![doc(test)]
    |        ^^^^
    |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 note: the lint level is defined here
   --> $DIR/doc-test-attr.rs:2:9
    |
@@ -13,22 +11,16 @@ LL | #![deny(invalid_doc_attributes)]
    |         ^^^^^^^^^^^^^^^^^^^^^^
 
 error: `#[doc(test(...)]` takes a list of attributes
-  --> $DIR/doc-test-attr.rs:7:8
+  --> $DIR/doc-test-attr.rs:6:8
    |
 LL | #![doc(test = "hello")]
    |        ^^^^^^^^^^^^^^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: unknown `doc(test)` attribute `a`
-  --> $DIR/doc-test-attr.rs:10:13
+  --> $DIR/doc-test-attr.rs:8:13
    |
 LL | #![doc(test(a))]
    |             ^
-   |
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/sanitize/address.rs b/tests/ui/sanitizer/address.rs
index 7a5e767687c..7a5e767687c 100644
--- a/tests/ui/sanitize/address.rs
+++ b/tests/ui/sanitizer/address.rs
diff --git a/tests/ui/sanitize/badfree.rs b/tests/ui/sanitizer/badfree.rs
index ecbb58eba00..ecbb58eba00 100644
--- a/tests/ui/sanitize/badfree.rs
+++ b/tests/ui/sanitizer/badfree.rs
diff --git a/tests/ui/sanitize/cfg-kasan.rs b/tests/ui/sanitizer/cfg-kasan.rs
index 394bf216581..394bf216581 100644
--- a/tests/ui/sanitize/cfg-kasan.rs
+++ b/tests/ui/sanitizer/cfg-kasan.rs
diff --git a/tests/ui/sanitize/cfg.rs b/tests/ui/sanitizer/cfg.rs
index 942141bd3fe..942141bd3fe 100644
--- a/tests/ui/sanitize/cfg.rs
+++ b/tests/ui/sanitizer/cfg.rs
diff --git a/tests/ui/sanitize/sanitizer-cfi-canonical-jump-tables-require-cfi.rs b/tests/ui/sanitizer/cfi-canonical-jump-tables-requires-cfi.rs
index 10c5bf6ea5e..10c5bf6ea5e 100644
--- a/tests/ui/sanitize/sanitizer-cfi-canonical-jump-tables-require-cfi.rs
+++ b/tests/ui/sanitizer/cfi-canonical-jump-tables-requires-cfi.rs
diff --git a/tests/ui/sanitize/sanitizer-cfi-canonical-jump-tables-require-cfi.stderr b/tests/ui/sanitizer/cfi-canonical-jump-tables-requires-cfi.stderr
index de67d6a6b7f..de67d6a6b7f 100644
--- a/tests/ui/sanitize/sanitizer-cfi-canonical-jump-tables-require-cfi.stderr
+++ b/tests/ui/sanitizer/cfi-canonical-jump-tables-requires-cfi.stderr
diff --git a/tests/ui/sanitize/sanitizer-cfi-generalize-pointers-attr-cfg.rs b/tests/ui/sanitizer/cfi-generalize-pointers-attr-cfg.rs
index d46002c69fd..d46002c69fd 100644
--- a/tests/ui/sanitize/sanitizer-cfi-generalize-pointers-attr-cfg.rs
+++ b/tests/ui/sanitizer/cfi-generalize-pointers-attr-cfg.rs
diff --git a/tests/ui/sanitize/sanitizer-cfi-generalize-pointers-require-cfi.rs b/tests/ui/sanitizer/cfi-generalize-pointers-requires-cfi.rs
index 8ba13bd3639..8ba13bd3639 100644
--- a/tests/ui/sanitize/sanitizer-cfi-generalize-pointers-require-cfi.rs
+++ b/tests/ui/sanitizer/cfi-generalize-pointers-requires-cfi.rs
diff --git a/tests/ui/sanitize/sanitizer-cfi-generalize-pointers-require-cfi.stderr b/tests/ui/sanitizer/cfi-generalize-pointers-requires-cfi.stderr
index 621708de241..621708de241 100644
--- a/tests/ui/sanitize/sanitizer-cfi-generalize-pointers-require-cfi.stderr
+++ b/tests/ui/sanitizer/cfi-generalize-pointers-requires-cfi.stderr
diff --git a/tests/ui/sanitize/sanitizer-cfi-invalid-attr-cfi-encoding.rs b/tests/ui/sanitizer/cfi-invalid-attr-cfi-encoding.rs
index 7ef6bd2f0ac..7ef6bd2f0ac 100644
--- a/tests/ui/sanitize/sanitizer-cfi-invalid-attr-cfi-encoding.rs
+++ b/tests/ui/sanitizer/cfi-invalid-attr-cfi-encoding.rs
diff --git a/tests/ui/sanitize/sanitizer-cfi-invalid-attr-cfi-encoding.stderr b/tests/ui/sanitizer/cfi-invalid-attr-cfi-encoding.stderr
index b9e9722da23..93ec134241e 100644
--- a/tests/ui/sanitize/sanitizer-cfi-invalid-attr-cfi-encoding.stderr
+++ b/tests/ui/sanitizer/cfi-invalid-attr-cfi-encoding.stderr
@@ -1,5 +1,5 @@
 error: malformed `cfi_encoding` attribute input
-  --> $DIR/sanitizer-cfi-invalid-attr-cfi-encoding.rs:10:1
+  --> $DIR/cfi-invalid-attr-cfi-encoding.rs:10:1
    |
 LL | #[cfi_encoding]
    | ^^^^^^^^^^^^^^^ help: must be of the form: `#[cfi_encoding = "encoding"]`
diff --git a/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.aarch64.stderr b/tests/ui/sanitizer/cfi-is-incompatible-with-kcfi.aarch64.stderr
index 1006c3bc17e..1006c3bc17e 100644
--- a/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.aarch64.stderr
+++ b/tests/ui/sanitizer/cfi-is-incompatible-with-kcfi.aarch64.stderr
diff --git a/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.rs b/tests/ui/sanitizer/cfi-is-incompatible-with-kcfi.rs
index c628709d7a1..c628709d7a1 100644
--- a/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.rs
+++ b/tests/ui/sanitizer/cfi-is-incompatible-with-kcfi.rs
diff --git a/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.x86_64.stderr b/tests/ui/sanitizer/cfi-is-incompatible-with-kcfi.x86_64.stderr
index 1006c3bc17e..1006c3bc17e 100644
--- a/tests/ui/sanitize/sanitizer-cfi-is-incompatible-with-sanitizer-kcfi.x86_64.stderr
+++ b/tests/ui/sanitizer/cfi-is-incompatible-with-kcfi.x86_64.stderr
diff --git a/tests/ui/sanitize/sanitizer-cfi-normalize-integers-attr-cfg.rs b/tests/ui/sanitizer/cfi-normalize-integers-attr-cfg.rs
index 24c2c2c13da..24c2c2c13da 100644
--- a/tests/ui/sanitize/sanitizer-cfi-normalize-integers-attr-cfg.rs
+++ b/tests/ui/sanitizer/cfi-normalize-integers-attr-cfg.rs
diff --git a/tests/ui/sanitize/sanitizer-cfi-normalize-integers-require-cfi.rs b/tests/ui/sanitizer/cfi-normalize-integers-requires-cfi.rs
index a7ecefbf7ef..a7ecefbf7ef 100644
--- a/tests/ui/sanitize/sanitizer-cfi-normalize-integers-require-cfi.rs
+++ b/tests/ui/sanitizer/cfi-normalize-integers-requires-cfi.rs
diff --git a/tests/ui/sanitize/sanitizer-cfi-normalize-integers-require-cfi.stderr b/tests/ui/sanitizer/cfi-normalize-integers-requires-cfi.stderr
index 748fb60dad9..748fb60dad9 100644
--- a/tests/ui/sanitize/sanitizer-cfi-normalize-integers-require-cfi.stderr
+++ b/tests/ui/sanitizer/cfi-normalize-integers-requires-cfi.stderr
diff --git a/tests/ui/sanitize/sanitizer-cfi-requires-lto.rs b/tests/ui/sanitizer/cfi-requires-lto.rs
index 5a34f696e05..5a34f696e05 100644
--- a/tests/ui/sanitize/sanitizer-cfi-requires-lto.rs
+++ b/tests/ui/sanitizer/cfi-requires-lto.rs
diff --git a/tests/ui/sanitize/sanitizer-cfi-requires-lto.stderr b/tests/ui/sanitizer/cfi-requires-lto.stderr
index efc0c43138e..efc0c43138e 100644
--- a/tests/ui/sanitize/sanitizer-cfi-requires-lto.stderr
+++ b/tests/ui/sanitizer/cfi-requires-lto.stderr
diff --git a/tests/ui/sanitize/sanitizer-cfi-with-rustc-lto-requires-single-codegen-unit.rs b/tests/ui/sanitizer/cfi-with-rustc-lto-requires-single-codegen-unit.rs
index 954e4ec3b85..954e4ec3b85 100644
--- a/tests/ui/sanitize/sanitizer-cfi-with-rustc-lto-requires-single-codegen-unit.rs
+++ b/tests/ui/sanitizer/cfi-with-rustc-lto-requires-single-codegen-unit.rs
diff --git a/tests/ui/sanitize/sanitizer-cfi-with-rustc-lto-requires-single-codegen-unit.stderr b/tests/ui/sanitizer/cfi-with-rustc-lto-requires-single-codegen-unit.stderr
index 8d6dc1d8f1e..8d6dc1d8f1e 100644
--- a/tests/ui/sanitize/sanitizer-cfi-with-rustc-lto-requires-single-codegen-unit.stderr
+++ b/tests/ui/sanitizer/cfi-with-rustc-lto-requires-single-codegen-unit.stderr
diff --git a/tests/ui/sanitize/crt-static.rs b/tests/ui/sanitizer/crt-static.rs
index c24faeca3dc..c24faeca3dc 100644
--- a/tests/ui/sanitize/crt-static.rs
+++ b/tests/ui/sanitizer/crt-static.rs
diff --git a/tests/ui/sanitize/crt-static.stderr b/tests/ui/sanitizer/crt-static.stderr
index 98b0ed82e80..98b0ed82e80 100644
--- a/tests/ui/sanitize/crt-static.stderr
+++ b/tests/ui/sanitizer/crt-static.stderr
diff --git a/tests/ui/sanitize/hwaddress.rs b/tests/ui/sanitizer/hwaddress.rs
index e5939eb734b..e5939eb734b 100644
--- a/tests/ui/sanitize/hwaddress.rs
+++ b/tests/ui/sanitizer/hwaddress.rs
diff --git a/tests/ui/sanitize/incompatible.rs b/tests/ui/sanitizer/incompatible.rs
index d000abb26ac..d000abb26ac 100644
--- a/tests/ui/sanitize/incompatible.rs
+++ b/tests/ui/sanitizer/incompatible.rs
diff --git a/tests/ui/sanitize/incompatible.stderr b/tests/ui/sanitizer/incompatible.stderr
index 4dff813ee1b..4dff813ee1b 100644
--- a/tests/ui/sanitize/incompatible.stderr
+++ b/tests/ui/sanitizer/incompatible.stderr
diff --git a/tests/ui/sanitize/inline-always.rs b/tests/ui/sanitizer/inline-always.rs
index d92daee3026..d92daee3026 100644
--- a/tests/ui/sanitize/inline-always.rs
+++ b/tests/ui/sanitizer/inline-always.rs
diff --git a/tests/ui/sanitize/inline-always.stderr b/tests/ui/sanitizer/inline-always.stderr
index 74fba3c0e0e..74fba3c0e0e 100644
--- a/tests/ui/sanitize/inline-always.stderr
+++ b/tests/ui/sanitizer/inline-always.stderr
diff --git a/tests/ui/sanitize/issue-111184-coroutine-witness.rs b/tests/ui/sanitizer/issue-111184-cfi-coroutine-witness.rs
index e5b1e032257..e5b1e032257 100644
--- a/tests/ui/sanitize/issue-111184-coroutine-witness.rs
+++ b/tests/ui/sanitizer/issue-111184-cfi-coroutine-witness.rs
diff --git a/tests/ui/sanitize/issue-114275-cfi-const-expr-in-arry-len.rs b/tests/ui/sanitizer/issue-114275-cfi-const-expr-in-arry-len.rs
index b1b7487fa2a..b1b7487fa2a 100644
--- a/tests/ui/sanitize/issue-114275-cfi-const-expr-in-arry-len.rs
+++ b/tests/ui/sanitizer/issue-114275-cfi-const-expr-in-arry-len.rs
diff --git a/tests/ui/sanitize/issue-72154-lifetime-markers.rs b/tests/ui/sanitizer/issue-72154-address-lifetime-markers.rs
index aa0c19db9a1..aa0c19db9a1 100644
--- a/tests/ui/sanitize/issue-72154-lifetime-markers.rs
+++ b/tests/ui/sanitizer/issue-72154-address-lifetime-markers.rs
diff --git a/tests/ui/sanitize/leak.rs b/tests/ui/sanitizer/leak.rs
index 65915ec24b7..65915ec24b7 100644
--- a/tests/ui/sanitize/leak.rs
+++ b/tests/ui/sanitizer/leak.rs
diff --git a/tests/ui/sanitize/memory-eager.rs b/tests/ui/sanitizer/memory-eager.rs
index 9e7889fa1bc..9e7889fa1bc 100644
--- a/tests/ui/sanitize/memory-eager.rs
+++ b/tests/ui/sanitizer/memory-eager.rs
diff --git a/tests/ui/sanitize/memory-passing.rs b/tests/ui/sanitizer/memory-passing.rs
index c8ab64bfaf8..c8ab64bfaf8 100644
--- a/tests/ui/sanitize/memory-passing.rs
+++ b/tests/ui/sanitizer/memory-passing.rs
diff --git a/tests/ui/sanitize/memory.rs b/tests/ui/sanitizer/memory.rs
index bd2d6771749..bd2d6771749 100644
--- a/tests/ui/sanitize/memory.rs
+++ b/tests/ui/sanitizer/memory.rs
diff --git a/tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs b/tests/ui/sanitizer/new-llvm-pass-manager-thin-lto.rs
index b7dd4a43782..b7dd4a43782 100644
--- a/tests/ui/sanitize/new-llvm-pass-manager-thin-lto.rs
+++ b/tests/ui/sanitizer/new-llvm-pass-manager-thin-lto.rs
diff --git a/tests/ui/sanitize/split-lto-unit-requires-lto.rs b/tests/ui/sanitizer/split-lto-unit-requires-lto.rs
index 35e610f0307..35e610f0307 100644
--- a/tests/ui/sanitize/split-lto-unit-requires-lto.rs
+++ b/tests/ui/sanitizer/split-lto-unit-requires-lto.rs
diff --git a/tests/ui/sanitize/split-lto-unit-requires-lto.stderr b/tests/ui/sanitizer/split-lto-unit-requires-lto.stderr
index 0da06b7f8b1..0da06b7f8b1 100644
--- a/tests/ui/sanitize/split-lto-unit-requires-lto.stderr
+++ b/tests/ui/sanitizer/split-lto-unit-requires-lto.stderr
diff --git a/tests/ui/sanitize/thread.rs b/tests/ui/sanitizer/thread.rs
index 9d9ad6ee518..9d9ad6ee518 100644
--- a/tests/ui/sanitize/thread.rs
+++ b/tests/ui/sanitizer/thread.rs
diff --git a/tests/ui/sanitize/unsupported-target.rs b/tests/ui/sanitizer/unsupported-target.rs
index 7c7dc24b5d9..7c7dc24b5d9 100644
--- a/tests/ui/sanitize/unsupported-target.rs
+++ b/tests/ui/sanitizer/unsupported-target.rs
diff --git a/tests/ui/sanitize/unsupported-target.stderr b/tests/ui/sanitizer/unsupported-target.stderr
index bebbf3884ae..bebbf3884ae 100644
--- a/tests/ui/sanitize/unsupported-target.stderr
+++ b/tests/ui/sanitizer/unsupported-target.stderr
diff --git a/tests/ui/sanitize/use-after-scope.rs b/tests/ui/sanitizer/use-after-scope.rs
index 4d7f6f6c2f2..4d7f6f6c2f2 100644
--- a/tests/ui/sanitize/use-after-scope.rs
+++ b/tests/ui/sanitizer/use-after-scope.rs
diff --git a/tests/ui/traits/next-solver/alias-bound-unsound.stderr b/tests/ui/traits/next-solver/alias-bound-unsound.stderr
index 2408e05728a..a5c2f215134 100644
--- a/tests/ui/traits/next-solver/alias-bound-unsound.stderr
+++ b/tests/ui/traits/next-solver/alias-bound-unsound.stderr
@@ -4,7 +4,6 @@ error[E0275]: overflow evaluating the requirement `String: Copy`
 LL |     type Item = String where String: Copy;
    |                                      ^^^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`alias_bound_unsound`)
 note: the requirement `String: Copy` appears on the `impl`'s associated type `Item` but not on the corresponding trait's associated type
   --> $DIR/alias-bound-unsound.rs:8:10
    |
@@ -18,32 +17,24 @@ error[E0275]: overflow evaluating the requirement `String <: <() as Foo>::Item`
    |
 LL |     drop(<() as Foo>::copy_me(&x));
    |                               ^^
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`alias_bound_unsound`)
 
 error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
   --> $DIR/alias-bound-unsound.rs:24:10
    |
 LL |     drop(<() as Foo>::copy_me(&x));
    |          ^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`alias_bound_unsound`)
 
 error[E0275]: overflow evaluating the requirement `&<() as Foo>::Item well-formed`
   --> $DIR/alias-bound-unsound.rs:24:31
    |
 LL |     drop(<() as Foo>::copy_me(&x));
    |                               ^^
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`alias_bound_unsound`)
 
 error[E0275]: overflow evaluating the requirement `<() as Foo>::Item well-formed`
   --> $DIR/alias-bound-unsound.rs:24:10
    |
 LL |     drop(<() as Foo>::copy_me(&x));
    |          ^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`alias_bound_unsound`)
 
 error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
   --> $DIR/alias-bound-unsound.rs:24:10
@@ -51,7 +42,6 @@ error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
 LL |     drop(<() as Foo>::copy_me(&x));
    |          ^^^^^^^^^^^^^^^^^^^^^^^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`alias_bound_unsound`)
    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
 
 error: aborting due to 6 previous errors
diff --git a/tests/ui/traits/next-solver/coherence-fulfill-overflow.stderr b/tests/ui/traits/next-solver/coherence-fulfill-overflow.stderr
index 406c0ccca97..57cba790b55 100644
--- a/tests/ui/traits/next-solver/coherence-fulfill-overflow.stderr
+++ b/tests/ui/traits/next-solver/coherence-fulfill-overflow.stderr
@@ -5,6 +5,9 @@ LL | impl<T: ?Sized + TwoW> Trait for W<T> {}
    | ------------------------------------- first implementation here
 LL | impl<T: ?Sized + TwoW> Trait for T {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<_>>>>>>>>>>>>>>>>>>>>>`
+   |
+   = note: overflow evaluating the requirement `W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<W<_>>>>>>>>>>>>>>>>>>>>>: TwoW`
+   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "20"]` attribute to your crate (`coherence_fulfill_overflow`)
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/traits/next-solver/coherence/trait_ref_is_knowable-norm-overflow.stderr b/tests/ui/traits/next-solver/coherence/trait_ref_is_knowable-norm-overflow.stderr
index fc145b81196..a04fa1ab8a1 100644
--- a/tests/ui/traits/next-solver/coherence/trait_ref_is_knowable-norm-overflow.stderr
+++ b/tests/ui/traits/next-solver/coherence/trait_ref_is_knowable-norm-overflow.stderr
@@ -6,6 +6,9 @@ LL | impl<T: Copy> Trait for T {}
 LL | struct LocalTy;
 LL | impl Trait for <LocalTy as Overflow>::Assoc {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
+   |
+   = note: overflow evaluating the requirement `_ == <LocalTy as Overflow>::Assoc`
+   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`trait_ref_is_knowable_norm_overflow`)
 
 error[E0275]: overflow evaluating the requirement `<T as Overflow>::Assoc: Sized`
   --> $DIR/trait_ref_is_knowable-norm-overflow.rs:10:18
diff --git a/tests/ui/traits/next-solver/cycles/coinduction/fixpoint-exponential-growth.stderr b/tests/ui/traits/next-solver/cycles/coinduction/fixpoint-exponential-growth.stderr
index 150100f2c53..8d7d8cee08a 100644
--- a/tests/ui/traits/next-solver/cycles/coinduction/fixpoint-exponential-growth.stderr
+++ b/tests/ui/traits/next-solver/cycles/coinduction/fixpoint-exponential-growth.stderr
@@ -4,7 +4,6 @@ error[E0275]: overflow evaluating the requirement `W<_>: Trait`
 LL |     impls::<W<_>>();
    |             ^^^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`fixpoint_exponential_growth`)
 note: required by a bound in `impls`
   --> $DIR/fixpoint-exponential-growth.rs:30:13
    |
diff --git a/tests/ui/traits/next-solver/cycles/double-cycle-inductive-coinductive.stderr b/tests/ui/traits/next-solver/cycles/double-cycle-inductive-coinductive.stderr
index a3404da51f0..7cedb4d36c9 100644
--- a/tests/ui/traits/next-solver/cycles/double-cycle-inductive-coinductive.stderr
+++ b/tests/ui/traits/next-solver/cycles/double-cycle-inductive-coinductive.stderr
@@ -4,7 +4,6 @@ error[E0275]: overflow evaluating the requirement `(): Trait`
 LL |     impls_trait::<()>();
    |                   ^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`double_cycle_inductive_coinductive`)
 note: required by a bound in `impls_trait`
   --> $DIR/double-cycle-inductive-coinductive.rs:17:19
    |
@@ -17,7 +16,6 @@ error[E0275]: overflow evaluating the requirement `(): TraitRev`
 LL |     impls_trait_rev::<()>();
    |                       ^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`double_cycle_inductive_coinductive`)
 note: required by a bound in `impls_trait_rev`
   --> $DIR/double-cycle-inductive-coinductive.rs:29:23
    |
diff --git a/tests/ui/traits/next-solver/cycles/inductive-fixpoint-hang.stderr b/tests/ui/traits/next-solver/cycles/inductive-fixpoint-hang.stderr
index 42451920744..a2a5c028cf8 100644
--- a/tests/ui/traits/next-solver/cycles/inductive-fixpoint-hang.stderr
+++ b/tests/ui/traits/next-solver/cycles/inductive-fixpoint-hang.stderr
@@ -4,7 +4,6 @@ error[E0275]: overflow evaluating the requirement `W<_>: Trait`
 LL |     impls_trait::<W<_>>();
    |                   ^^^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`inductive_fixpoint_hang`)
 note: required by a bound in `impls_trait`
   --> $DIR/inductive-fixpoint-hang.rs:28:19
    |
diff --git a/tests/ui/traits/next-solver/cycles/inductive-not-on-stack.stderr b/tests/ui/traits/next-solver/cycles/inductive-not-on-stack.stderr
index 859b3f3f1c7..e9cc6bc6c81 100644
--- a/tests/ui/traits/next-solver/cycles/inductive-not-on-stack.stderr
+++ b/tests/ui/traits/next-solver/cycles/inductive-not-on-stack.stderr
@@ -4,7 +4,6 @@ error[E0275]: overflow evaluating the requirement `(): A`
 LL |     impls_a::<()>();
    |               ^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`inductive_not_on_stack`)
 note: required by a bound in `impls_a`
   --> $DIR/inductive-not-on-stack.rs:25:15
    |
@@ -17,7 +16,6 @@ error[E0275]: overflow evaluating the requirement `(): AR`
 LL |     impls_ar::<()>();
    |                ^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`inductive_not_on_stack`)
 note: required by a bound in `impls_ar`
   --> $DIR/inductive-not-on-stack.rs:38:16
    |
diff --git a/tests/ui/traits/next-solver/cycles/mixed-cycles-1.stderr b/tests/ui/traits/next-solver/cycles/mixed-cycles-1.stderr
index e828bdeb16b..17544eb1da5 100644
--- a/tests/ui/traits/next-solver/cycles/mixed-cycles-1.stderr
+++ b/tests/ui/traits/next-solver/cycles/mixed-cycles-1.stderr
@@ -4,7 +4,6 @@ error[E0275]: overflow evaluating the requirement `(): A`
 LL |     impls_a::<()>();
    |               ^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`mixed_cycles_1`)
 note: required by a bound in `impls_a`
   --> $DIR/mixed-cycles-1.rs:34:15
    |
diff --git a/tests/ui/traits/next-solver/cycles/mixed-cycles-2.stderr b/tests/ui/traits/next-solver/cycles/mixed-cycles-2.stderr
index ec13093f707..a9be1016c74 100644
--- a/tests/ui/traits/next-solver/cycles/mixed-cycles-2.stderr
+++ b/tests/ui/traits/next-solver/cycles/mixed-cycles-2.stderr
@@ -4,7 +4,6 @@ error[E0275]: overflow evaluating the requirement `(): A`
 LL |     impls_a::<()>();
    |               ^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`mixed_cycles_2`)
 note: required by a bound in `impls_a`
   --> $DIR/mixed-cycles-2.rs:27:15
    |
diff --git a/tests/ui/traits/next-solver/normalize-param-env-2.stderr b/tests/ui/traits/next-solver/normalize-param-env-2.stderr
index 86729eb8a4b..74a0a90885d 100644
--- a/tests/ui/traits/next-solver/normalize-param-env-2.stderr
+++ b/tests/ui/traits/next-solver/normalize-param-env-2.stderr
@@ -4,7 +4,6 @@ error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc: A<T>`
 LL |         Self::Assoc: A<T>,
    |                      ^^^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`normalize_param_env_2`)
 note: the requirement `<() as A<T>>::Assoc: A<T>` appears on the `impl`'s method `f` but not on the corresponding trait's method
   --> $DIR/normalize-param-env-2.rs:12:8
    |
@@ -19,24 +18,18 @@ error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc: A<T>`
    |
 LL |         Self::Assoc: A<T>,
    |                      ^^^^
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`normalize_param_env_2`)
 
 error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc well-formed`
   --> $DIR/normalize-param-env-2.rs:24:22
    |
 LL |         Self::Assoc: A<T>,
    |                      ^^^^
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`normalize_param_env_2`)
 
 error[E0275]: overflow evaluating the requirement `(): A<T>`
   --> $DIR/normalize-param-env-2.rs:27:10
    |
 LL |         <() as A<T>>::f();
    |          ^^
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`normalize_param_env_2`)
 
 error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc: A<T>`
   --> $DIR/normalize-param-env-2.rs:27:9
@@ -44,7 +37,6 @@ error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc: A<T>`
 LL |         <() as A<T>>::f();
    |         ^^^^^^^^^^^^^^^^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`normalize_param_env_2`)
 note: required by a bound in `A::f`
   --> $DIR/normalize-param-env-2.rs:14:22
    |
diff --git a/tests/ui/traits/next-solver/normalize-param-env-4.next.stderr b/tests/ui/traits/next-solver/normalize-param-env-4.next.stderr
index 2a017fac104..1bee8ee88ff 100644
--- a/tests/ui/traits/next-solver/normalize-param-env-4.next.stderr
+++ b/tests/ui/traits/next-solver/normalize-param-env-4.next.stderr
@@ -3,16 +3,12 @@ error[E0275]: overflow evaluating the requirement `<T as Trait>::Assoc: Trait`
    |
 LL |     <T as Trait>::Assoc: Trait,
    |                          ^^^^^
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`normalize_param_env_4`)
 
 error[E0275]: overflow evaluating the requirement `<T as Trait>::Assoc well-formed`
   --> $DIR/normalize-param-env-4.rs:18:26
    |
 LL |     <T as Trait>::Assoc: Trait,
    |                          ^^^^^
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`normalize_param_env_4`)
 
 error[E0275]: overflow evaluating the requirement `T: Trait`
   --> $DIR/normalize-param-env-4.rs:31:19
@@ -20,7 +16,6 @@ error[E0275]: overflow evaluating the requirement `T: Trait`
 LL |     impls_trait::<T>();
    |                   ^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`normalize_param_env_4`)
 note: required by a bound in `impls_trait`
   --> $DIR/normalize-param-env-4.rs:14:19
    |
diff --git a/tests/ui/traits/next-solver/overflow/exponential-trait-goals.stderr b/tests/ui/traits/next-solver/overflow/exponential-trait-goals.stderr
index 90b54b1e789..b032ae3e740 100644
--- a/tests/ui/traits/next-solver/overflow/exponential-trait-goals.stderr
+++ b/tests/ui/traits/next-solver/overflow/exponential-trait-goals.stderr
@@ -4,7 +4,6 @@ error[E0275]: overflow evaluating the requirement `W<_>: Trait`
 LL |     impls::<W<_>>();
    |             ^^^^
    |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`exponential_trait_goals`)
 note: required by a bound in `impls`
   --> $DIR/exponential-trait-goals.rs:14:13
    |
diff --git a/tests/ui/traits/next-solver/overflow/recursion-limit-zero-issue-115351.rs b/tests/ui/traits/next-solver/overflow/recursion-limit-zero-issue-115351.rs
index fb668f83b01..1b80287d9da 100644
--- a/tests/ui/traits/next-solver/overflow/recursion-limit-zero-issue-115351.rs
+++ b/tests/ui/traits/next-solver/overflow/recursion-limit-zero-issue-115351.rs
@@ -1,12 +1,7 @@
-//~ ERROR overflow evaluating the requirement `Self well-formed`
-//~| ERROR overflow evaluating the requirement `Self: Trait`
-
 // This is a non-regression test for issue #115351, where a recursion limit of 0 caused an ICE.
 //@ compile-flags: -Znext-solver --crate-type=lib
-//@ check-fail
+//@ check-pass
 
 #![recursion_limit = "0"]
 trait Trait {}
 impl Trait for u32 {}
-//~^ ERROR overflow evaluating the requirement `u32: Trait`
-//~| ERROR overflow evaluating the requirement `u32 well-formed`
diff --git a/tests/ui/traits/next-solver/overflow/recursion-limit-zero-issue-115351.stderr b/tests/ui/traits/next-solver/overflow/recursion-limit-zero-issue-115351.stderr
deleted file mode 100644
index 16b25d90ace..00000000000
--- a/tests/ui/traits/next-solver/overflow/recursion-limit-zero-issue-115351.stderr
+++ /dev/null
@@ -1,27 +0,0 @@
-error[E0275]: overflow evaluating the requirement `Self: Trait`
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "2"]` attribute to your crate (`recursion_limit_zero_issue_115351`)
-
-error[E0275]: overflow evaluating the requirement `Self well-formed`
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "2"]` attribute to your crate (`recursion_limit_zero_issue_115351`)
-
-error[E0275]: overflow evaluating the requirement `u32: Trait`
-  --> $DIR/recursion-limit-zero-issue-115351.rs:10:16
-   |
-LL | impl Trait for u32 {}
-   |                ^^^
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "2"]` attribute to your crate (`recursion_limit_zero_issue_115351`)
-
-error[E0275]: overflow evaluating the requirement `u32 well-formed`
-  --> $DIR/recursion-limit-zero-issue-115351.rs:10:16
-   |
-LL | impl Trait for u32 {}
-   |                ^^^
-   |
-   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "2"]` attribute to your crate (`recursion_limit_zero_issue_115351`)
-
-error: aborting due to 4 previous errors
-
-For more information about this error, try `rustc --explain E0275`.