Skip to content

Port #[rustc_test_marker] to the attribute parser#152570

Open
Ozzy1423 wants to merge 1 commit intorust-lang:mainfrom
Ozzy1423:attr-parse
Open

Port #[rustc_test_marker] to the attribute parser#152570
Ozzy1423 wants to merge 1 commit intorust-lang:mainfrom
Ozzy1423:attr-parse

Conversation

@Ozzy1423
Copy link
Contributor

Tracking issue: #131229

Targets:
Const is for normal tests (const test::TestDescAndFn is inserted before the test fn)
Const/Static/Fn is for custom_test_framework's #[test_case] e.g. tests/ui/custom_test_frameworks/full.rs

r? @JonathanBrouwer

Again I left the use-sites as is since they are early uses.

@rustbot
Copy link
Collaborator

rustbot commented Feb 13, 2026

Some changes occurred in compiler/rustc_passes/src/check_attr.rs

cc @jdonszelmann, @JonathanBrouwer

Some changes occurred in compiler/rustc_attr_parsing

cc @jdonszelmann, @JonathanBrouwer

Some changes occurred in compiler/rustc_hir/src/attrs

cc @jdonszelmann, @JonathanBrouwer

@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Feb 13, 2026
@JonathanBrouwer
Copy link
Contributor

@bors r+ rollup
I think it would be nice of we can find a better solution for the early attributes than using the old parsers for now, but that can be after we finish parsing everything in the HIR

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 13, 2026

📌 Commit 250ce84 has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 13, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Feb 13, 2026
…uwer

Port #[rustc_test_marker] to the attribute parser

Tracking issue: rust-lang#131229

Targets:
Const is for normal tests (const test::TestDescAndFn is inserted before the test fn)
Const/Static/Fn is for custom_test_framework's #[test_case] e.g. tests/ui/custom_test_frameworks/full.rs

r? @JonathanBrouwer

Again I left the use-sites as is since they are early uses.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Feb 13, 2026
…uwer

Port #[rustc_test_marker] to the attribute parser

Tracking issue: rust-lang#131229

Targets:
Const is for normal tests (const test::TestDescAndFn is inserted before the test fn)
Const/Static/Fn is for custom_test_framework's #[test_case] e.g. tests/ui/custom_test_frameworks/full.rs

r? @JonathanBrouwer

Again I left the use-sites as is since they are early uses.
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-tools failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

=> Removing the following docker images:
WARNING: This output is designed for human readability. For machine-readable output, please use --format.
IMAGE                                               ID             DISK USAGE   CONTENT SIZE   EXTRA
ghcr.io/dependabot/dependabot-updater-core:latest   9a6a20114926       1.18GB          310MB        
=> Removing docker images...
Deleted Images:
untagged: ghcr.io/dependabot/dependabot-updater-core:latest
deleted: sha256:9a6a20114926442eeadab0732ddd7264ecafc907389c47974b1825d779571319

Total reclaimed space: 309.7MB

********************************************************************************
---
tests/ui/duplicate_underscore_argument.rs ... ok
tests/ui/drop_non_drop.rs ... ok
tests/ui/drain_collect.fixed ... ok
tests/ui/duplicated_attributes.rs ... ok
tests/ui/duration_suboptimal_units_days_weeks.rs ... ok
tests/ui/duration_suboptimal_units.rs ... ok
tests/ui/double_parens.fixed ... ok
tests/ui/duration_subsec.rs ... ok
tests/ui/duration_suboptimal_units_days_weeks.fixed ... ok
tests/ui/duration_suboptimal_units.fixed ... ok
tests/ui/duration_subsec.fixed ... ok
tests/ui/eager_transmute.rs ... ok
tests/ui/elidable_lifetime_names.rs ... ok
tests/ui/else_if_without_else.rs ... ok
tests/ui/empty_docs.rs ... ok
---
tests/ui/should_impl_trait/method_list_2.rs (revision `edition2021`) ... ok
tests/ui/crashes/third-party/conf_allowlisted.rs ... ok

FAILED TEST: tests/ui/disallowed_names.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--test" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/disallowed_names.rs" "--extern" "proc_macros=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui/auxiliary/libproc_macros.so" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui/auxiliary" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "--edition" "2024"

error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/disallowed_names.stderr` to the actual output
--- tests/ui/disallowed_names.stderr
+++ <stderr output>
---

error: use of a disallowed/placeholder name `quux`
##[error]  --> tests/ui/disallowed_names.rs:26:9
   |
LL |     let quux = 42;
   |         ^^^^

error: use of a disallowed/placeholder name `foo`
##[error]  --> tests/ui/disallowed_names.rs:39:10
   |
LL |         (foo, Some(baz), quux @ Some(_)) => (),
   |          ^^^

error: use of a disallowed/placeholder name `baz`
##[error]  --> tests/ui/disallowed_names.rs:39:20
   |
LL |         (foo, Some(baz), quux @ Some(_)) => (),
   |                    ^^^

error: use of a disallowed/placeholder name `quux`
##[error]  --> tests/ui/disallowed_names.rs:39:26
   |
LL |         (foo, Some(baz), quux @ Some(_)) => (),
   |                          ^^^^

error: use of a disallowed/placeholder name `foo`
##[error]  --> tests/ui/disallowed_names.rs:47:19
   |
---

error: use of a disallowed/placeholder name `quux`
##[error]  --> tests/ui/disallowed_names.rs:53:21
   |
LL |     if let Some(mut quux) = Some(42) {}
   |                     ^^^^

error: use of a disallowed/placeholder name `baz`
##[error]  --> tests/ui/disallowed_names.rs:58:13
   |
LL |     let ref baz = 0;
   |             ^^^

error: use of a disallowed/placeholder name `quux`
##[error]  --> tests/ui/disallowed_names.rs:61:21
   |
LL |     if let Some(ref quux) = Some(42) {}
   |                     ^^^^

error: use of a disallowed/placeholder name `baz`
##[error]  --> tests/ui/disallowed_names.rs:66:17
   |
LL |     let ref mut baz = 0;
   |                 ^^^

error: use of a disallowed/placeholder name `quux`
##[error]  --> tests/ui/disallowed_names.rs:69:25
   |
LL |     if let Some(ref mut quux) = Some(42) {}
   |                         ^^^^

error: use of a disallowed/placeholder name `foo`
##[error]  --> tests/ui/disallowed_names.rs:99:9
   |
---
error: there was 1 unmatched diagnostic
##[error]  --> tests/ui/disallowed_names.rs:99:9
   |
99 |     let foo = 0;
   |         ^^^ Error[clippy::disallowed_names]: use of a disallowed/placeholder name `foo`
   |

full stderr:
error: use of a disallowed/placeholder name `foo`
##[error]  --> tests/ui/disallowed_names.rs:16:9
---

error: use of a disallowed/placeholder name `quux`
##[error]  --> tests/ui/disallowed_names.rs:26:9
   |
LL |     let quux = 42;
   |         ^^^^

error: use of a disallowed/placeholder name `foo`
##[error]  --> tests/ui/disallowed_names.rs:39:10
   |
LL |         (foo, Some(baz), quux @ Some(_)) => (),
   |          ^^^

error: use of a disallowed/placeholder name `baz`
##[error]  --> tests/ui/disallowed_names.rs:39:20
   |
LL |         (foo, Some(baz), quux @ Some(_)) => (),
   |                    ^^^

error: use of a disallowed/placeholder name `quux`
##[error]  --> tests/ui/disallowed_names.rs:39:26
   |
LL |         (foo, Some(baz), quux @ Some(_)) => (),
   |                          ^^^^

error: use of a disallowed/placeholder name `foo`
##[error]  --> tests/ui/disallowed_names.rs:47:19
   |
---

error: use of a disallowed/placeholder name `quux`
##[error]  --> tests/ui/disallowed_names.rs:53:21
   |
LL |     if let Some(mut quux) = Some(42) {}
   |                     ^^^^

error: use of a disallowed/placeholder name `baz`
##[error]  --> tests/ui/disallowed_names.rs:58:13
   |
LL |     let ref baz = 0;
   |             ^^^

error: use of a disallowed/placeholder name `quux`
##[error]  --> tests/ui/disallowed_names.rs:61:21
   |
LL |     if let Some(ref quux) = Some(42) {}
   |                     ^^^^

error: use of a disallowed/placeholder name `baz`
##[error]  --> tests/ui/disallowed_names.rs:66:17
   |
LL |     let ref mut baz = 0;
   |                 ^^^

error: use of a disallowed/placeholder name `quux`
##[error]  --> tests/ui/disallowed_names.rs:69:25
   |
LL |     if let Some(ref mut quux) = Some(42) {}
   |                         ^^^^

error: use of a disallowed/placeholder name `foo`
##[error]  --> tests/ui/disallowed_names.rs:99:9
   |
---



FAILED TEST: tests/ui/eq_op.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--test" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/eq_op.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "--edition" "2024"

error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/eq_op.stderr` to the actual output
--- tests/ui/eq_op.stderr
+++ <stderr output>
---
-error: aborting due to 29 previous errors
+error: equal expressions as operands to `==`
+  --> tests/ui/eq_op.rs:146:18
+   |
+LL |     let result = a + 1 == 1 + a;
+   |                  ^^^^^^^^^^^^^^
 
+error: identical args used in this `assert_eq!` macro call
+  --> tests/ui/eq_op.rs:154:16
+   |
+LL |     assert_eq!(a, a);
+   |                ^^^^
+
+error: identical args used in this `assert_eq!` macro call
+  --> tests/ui/eq_op.rs:155:16
+   |
+LL |     assert_eq!(a + b, b + a);
+   |                ^^^^^^^^^^^^
+
+error: aborting due to 32 previous errors
+

Full unnormalized output:
error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:7:13
   |
LL |     let _ = 1 == 1;
   |             ^^^^^^
   |
   = note: `-D clippy::eq-op` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::eq_op)]`

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:10:13
   |
LL |     let _ = "no" == "no";
---

error: equal expressions as operands to `<`
##[error]  --> tests/ui/eq_op.rs:17:13
   |
LL |     let _ = 1.5 < 1.5;
   |             ^^^^^^^^^

error: equal expressions as operands to `>=`
##[error]  --> tests/ui/eq_op.rs:20:13
   |
LL |     let _ = 1u64 >= 1u64;
   |             ^^^^^^^^^^^^

error: equal expressions as operands to `!=`
##[error]  --> tests/ui/eq_op.rs:24:13
   |
LL |     let _ = x != x;
   |             ^^^^^^
   |
   = note: if you intended to check if the operand is NaN, use `.is_nan()` instead

error: equal expressions as operands to `&`
##[error]  --> tests/ui/eq_op.rs:28:13
   |
LL |     let _ = (1u32 as u64) & (1u32 as u64);
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `^`
##[error]  --> tests/ui/eq_op.rs:33:17
   |
LL |         let _ = 1 ^ ((((((1))))));
   |                 ^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `<`
##[error]  --> tests/ui/eq_op.rs:39:13
   |
LL |     let _ = (-(2) < -(2));
   |             ^^^^^^^^^^^^^

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:42:13
   |
LL |     let _ = ((1 + 1) & (1 + 1) == (1 + 1) & (1 + 1));
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `&`
##[error]  --> tests/ui/eq_op.rs:42:14
   |
LL |     let _ = ((1 + 1) & (1 + 1) == (1 + 1) & (1 + 1));
   |              ^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `&`
##[error]  --> tests/ui/eq_op.rs:42:35
   |
LL |     let _ = ((1 + 1) & (1 + 1) == (1 + 1) & (1 + 1));
   |                                   ^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:47:13
   |
LL |     let _ = (1 * 2) + (3 * 4) == 1 * 2 + 3 * 4;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `!=`
##[error]  --> tests/ui/eq_op.rs:51:13
   |
LL |     let _ = ([1] != [1]);
   |             ^^^^^^^^^^^^

error: equal expressions as operands to `!=`
##[error]  --> tests/ui/eq_op.rs:54:13
   |
LL |     let _ = ((1, 2) != (1, 2));
   |             ^^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:60:13
   |
---

error: equal expressions as operands to `&&`
##[error]  --> tests/ui/eq_op.rs:82:13
   |
LL |     let _ = a == b && b == a;
   |             ^^^^^^^^^^^^^^^^

error: equal expressions as operands to `&&`
##[error]  --> tests/ui/eq_op.rs:85:13
   |
LL |     let _ = a != b && b != a;
   |             ^^^^^^^^^^^^^^^^

error: equal expressions as operands to `&&`
##[error]  --> tests/ui/eq_op.rs:88:13
   |
LL |     let _ = a < b && b > a;
   |             ^^^^^^^^^^^^^^

error: equal expressions as operands to `&&`
##[error]  --> tests/ui/eq_op.rs:91:13
   |
LL |     let _ = a <= b && b >= a;
   |             ^^^^^^^^^^^^^^^^

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:95:13
   |
LL |     let _ = a == a;
   |             ^^^^^^

error: equal expressions as operands to `/`
##[error]  --> tests/ui/eq_op.rs:107:20
   |
LL |     const D: u32 = A / A;
   |                    ^^^^^

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:139:5
   |
LL |     (n1.inner.0).0 == (n1.inner.0).0 && (n1.inner.1).0 == (n2.inner.1).0 && (n1.inner.2).0 == (n2.inner.2).0
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:146:18
   |
LL |     let result = a + 1 == 1 + a;
   |                  ^^^^^^^^^^^^^^

error: identical args used in this `assert_eq!` macro call
##[error]  --> tests/ui/eq_op.rs:154:16
   |
LL |     assert_eq!(a, a);
   |                ^^^^

error: identical args used in this `assert_eq!` macro call
##[error]  --> tests/ui/eq_op.rs:155:16
   |
LL |     assert_eq!(a + b, b + a);
   |                ^^^^^^^^^^^^

error: aborting due to 32 previous errors



error: there was 1 unmatched diagnostic
##[error]   --> tests/ui/eq_op.rs:146:18
    |
146 |     let result = a + 1 == 1 + a;
    |                  ^^^^^^^^^^^^^^ Error[clippy::eq_op]: equal expressions as operands to `==`
    |

error: there was 1 unmatched diagnostic
##[error]   --> tests/ui/eq_op.rs:154:16
    |
154 |     assert_eq!(a, a);
    |                ^^^^ Error[clippy::eq_op]: identical args used in this `assert_eq!` macro call
    |

error: there was 1 unmatched diagnostic
##[error]   --> tests/ui/eq_op.rs:155:16
    |
155 |     assert_eq!(a + b, b + a);
    |                ^^^^^^^^^^^^ Error[clippy::eq_op]: identical args used in this `assert_eq!` macro call
    |

full stderr:
error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:7:13
   |
LL |     let _ = 1 == 1;
   |             ^^^^^^
   |
   = note: `-D clippy::eq-op` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::eq_op)]`

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:10:13
   |
LL |     let _ = "no" == "no";
---

error: equal expressions as operands to `<`
##[error]  --> tests/ui/eq_op.rs:17:13
   |
LL |     let _ = 1.5 < 1.5;
   |             ^^^^^^^^^

error: equal expressions as operands to `>=`
##[error]  --> tests/ui/eq_op.rs:20:13
   |
LL |     let _ = 1u64 >= 1u64;
   |             ^^^^^^^^^^^^

error: equal expressions as operands to `!=`
##[error]  --> tests/ui/eq_op.rs:24:13
   |
LL |     let _ = x != x;
   |             ^^^^^^
   |
   = note: if you intended to check if the operand is NaN, use `.is_nan()` instead

error: equal expressions as operands to `&`
##[error]  --> tests/ui/eq_op.rs:28:13
   |
LL |     let _ = (1u32 as u64) & (1u32 as u64);
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `^`
##[error]  --> tests/ui/eq_op.rs:33:17
   |
LL |         let _ = 1 ^ ((((((1))))));
   |                 ^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `<`
##[error]  --> tests/ui/eq_op.rs:39:13
   |
LL |     let _ = (-(2) < -(2));
   |             ^^^^^^^^^^^^^

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:42:13
   |
LL |     let _ = ((1 + 1) & (1 + 1) == (1 + 1) & (1 + 1));
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `&`
##[error]  --> tests/ui/eq_op.rs:42:14
   |
LL |     let _ = ((1 + 1) & (1 + 1) == (1 + 1) & (1 + 1));
   |              ^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `&`
##[error]  --> tests/ui/eq_op.rs:42:35
   |
LL |     let _ = ((1 + 1) & (1 + 1) == (1 + 1) & (1 + 1));
   |                                   ^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:47:13
   |
LL |     let _ = (1 * 2) + (3 * 4) == 1 * 2 + 3 * 4;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `!=`
##[error]  --> tests/ui/eq_op.rs:51:13
   |
LL |     let _ = ([1] != [1]);
   |             ^^^^^^^^^^^^

error: equal expressions as operands to `!=`
##[error]  --> tests/ui/eq_op.rs:54:13
   |
LL |     let _ = ((1, 2) != (1, 2));
   |             ^^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:60:13
   |
---

error: equal expressions as operands to `&&`
##[error]  --> tests/ui/eq_op.rs:82:13
   |
LL |     let _ = a == b && b == a;
   |             ^^^^^^^^^^^^^^^^

error: equal expressions as operands to `&&`
##[error]  --> tests/ui/eq_op.rs:85:13
   |
LL |     let _ = a != b && b != a;
   |             ^^^^^^^^^^^^^^^^

error: equal expressions as operands to `&&`
##[error]  --> tests/ui/eq_op.rs:88:13
   |
LL |     let _ = a < b && b > a;
   |             ^^^^^^^^^^^^^^

error: equal expressions as operands to `&&`
##[error]  --> tests/ui/eq_op.rs:91:13
   |
LL |     let _ = a <= b && b >= a;
   |             ^^^^^^^^^^^^^^^^

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:95:13
   |
LL |     let _ = a == a;
   |             ^^^^^^

error: equal expressions as operands to `/`
##[error]  --> tests/ui/eq_op.rs:107:20
   |
LL |     const D: u32 = A / A;
   |                    ^^^^^

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:139:5
   |
LL |     (n1.inner.0).0 == (n1.inner.0).0 && (n1.inner.1).0 == (n2.inner.1).0 && (n1.inner.2).0 == (n2.inner.2).0
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: equal expressions as operands to `==`
##[error]  --> tests/ui/eq_op.rs:146:18
   |
LL |     let result = a + 1 == 1 + a;
   |                  ^^^^^^^^^^^^^^

error: identical args used in this `assert_eq!` macro call
##[error]  --> tests/ui/eq_op.rs:154:16
   |
LL |     assert_eq!(a, a);
   |                ^^^^

error: identical args used in this `assert_eq!` macro call
##[error]  --> tests/ui/eq_op.rs:155:16
   |
LL |     assert_eq!(a + b, b + a);
   |                ^^^^^^^^^^^^

error: aborting due to 32 previous errors


full stdout:



FAILED TEST: tests/ui/explicit_write_in_test.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--test" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/explicit_write_in_test.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "--edition" "2024"

error: test got exit status: 1, but expected 0
##[error] --> tests/ui/explicit_write_in_test.rs:1:5
  |
1 | //@ check-pass
  |     ^^^^^^^^^^ compilation failed, but was expected to succeed
  |

error: no output was expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/explicit_write_in_test.stderr` to the actual output
+++ <stderr output>
error: use of `writeln!(stderr(), ...).unwrap()`
##[error]  --> tests/ui/explicit_write_in_test.rs:7:5
   |
LL |     writeln!(std::io::stderr(), "I am an explicit write.").unwrap();
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `eprintln!("I am an explicit write.")`
   |
   = note: `-D clippy::explicit-write` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::explicit_write)]`

error: aborting due to 1 previous error



full stderr:
error: use of `writeln!(stderr(), ...).unwrap()`
##[error]  --> tests/ui/explicit_write_in_test.rs:7:5
   |
LL |     writeln!(std::io::stderr(), "I am an explicit write.").unwrap();
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `eprintln!("I am an explicit write.")`
   |
   = note: `-D clippy::explicit-write` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::explicit_write)]`

error: aborting due to 1 previous error


full stdout:



FAILED TEST: tests/ui/incompatible_msrv.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--test" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/incompatible_msrv.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "--edition" "2024"

error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/incompatible_msrv.stderr` to the actual output
--- tests/ui/incompatible_msrv.stderr
+++ <stderr output>
 error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.10.0`
   --> tests/ui/incompatible_msrv.rs:16:39
... 29 lines skipped ...
    |                   ^^^^^^^^
 
+error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.4.0`
+  --> tests/ui/incompatible_msrv.rs:44:5
+   |
+LL |     sleep(Duration::new(1, 0));
+   |     ^^^^^
+
 error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.43.0`
   --> tests/ui/incompatible_msrv.rs:62:17
... 87 lines skipped ...
    |                ^^^^^
 
-error: aborting due to 19 previous errors
+error: aborting due to 20 previous errors
 

Full unnormalized output:
error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.10.0`
##[error]  --> tests/ui/incompatible_msrv.rs:16:39
   |
LL |     assert_eq!(map.entry("poneyland").key(), &"poneyland");
   |                                       ^^^^^
   |
   = note: `-D clippy::incompatible-msrv` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::incompatible_msrv)]`

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.12.0`
##[error]  --> tests/ui/incompatible_msrv.rs:22:11
   |
LL |         v.into_key();
   |           ^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.4.0`
##[error]  --> tests/ui/incompatible_msrv.rs:26:5
   |
LL |     sleep(Duration::new(1, 0));
   |     ^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.2.0` but this item is stable since `1.3.0`
##[error]  --> tests/ui/incompatible_msrv.rs:31:33
   |
LL | static NO_BODY_BAD_MSRV: Option<Duration> = None;
   |                                 ^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.2.0` but this item is stable since `1.3.0`
##[error]  --> tests/ui/incompatible_msrv.rs:38:19
   |
LL |     let _: Option<Duration> = None;
   |                   ^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.4.0`
##[error]  --> tests/ui/incompatible_msrv.rs:44:5
   |
LL |     sleep(Duration::new(1, 0));
   |     ^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.43.0`
##[error]  --> tests/ui/incompatible_msrv.rs:62:17
   |
LL |         let _ = core::iter::once_with(|| 0);
   |                 ^^^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.43.0`
##[error]  --> tests/ui/incompatible_msrv.rs:69:21
   |
LL |             let _ = core::iter::once_with(|| $msg);
   |                     ^^^^^^^^^^^^^^^^^^^^^
...
LL |     my_panic!("foo");
   |     ---------------- in this macro invocation
   |
   = note: this error originates in the macro `my_panic` (in Nightly builds, run with -Z macro-backtrace for more info)

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.43.0`
##[error]  --> tests/ui/incompatible_msrv.rs:76:13
   |
LL |     assert!(core::iter::once_with(|| 0).next().is_some());
   |             ^^^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.80.0` but this item is stable since `1.82.0`
##[error]  --> tests/ui/incompatible_msrv.rs:89:13
   |
LL |     let _ = std::iter::repeat_n((), 5);
   |             ^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.82.0`
##[error]  --> tests/ui/incompatible_msrv.rs:100:13
   |
LL |     let _ = std::iter::repeat_n((), 5);
   |             ^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.82.0`
##[error]  --> tests/ui/incompatible_msrv.rs:105:17
   |
LL |         let _ = std::iter::repeat_n((), 5);
   |                 ^^^^^^^^^^^^^^^^^^^
   |
   = note: you may want to conditionally increase the MSRV considered by Clippy using the `clippy::msrv` attribute

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.82.0`
##[error]  --> tests/ui/incompatible_msrv.rs:110:17
   |
LL |         let _ = std::iter::repeat_n((), 5);
   |                 ^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.78.0` but this item is stable since `1.84.0`
##[error]  --> tests/ui/incompatible_msrv.rs:123:7
   |
LL |     r.isqrt()
   |       ^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.85.0`
##[error]  --> tests/ui/incompatible_msrv.rs:128:13
   |
LL |     let _ = std::io::ErrorKind::CrossesDevices;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.87.0` but this item is stable in a `const` context since `1.88.0`
##[error]  --> tests/ui/incompatible_msrv.rs:140:15
   |
LL |         _ = c.get();
   |               ^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.86.0` but this item is stable since `1.87.0`
##[error]  --> tests/ui/incompatible_msrv.rs:159:13
   |
LL |     let _ = std::io::ErrorKind::InvalidFilename;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.86.0` but this item is stable since `1.87.0`
##[error]  --> tests/ui/incompatible_msrv.rs:161:21
   |
LL |     let _ = const { std::io::ErrorKind::InvalidFilename };
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.38.0` but this item is stable in a `const` context since `1.39.0`
##[error]  --> tests/ui/incompatible_msrv.rs:175:13
   |
LL |     let _ = x("");
   |             ^

error: current MSRV (Minimum Supported Rust Version) is `1.38.0` but this item is stable in a `const` context since `1.39.0`
##[error]  --> tests/ui/incompatible_msrv.rs:177:16
   |
LL |     let _ = "".len();
   |                ^^^^^

error: aborting due to 20 previous errors



error: there was 1 unmatched diagnostic
##[error]  --> tests/ui/incompatible_msrv.rs:44:5
   |
44 |     sleep(Duration::new(1, 0));
   |     ^^^^^ Error[clippy::incompatible_msrv]: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.4.0`
   |

full stderr:
error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.10.0`
##[error]  --> tests/ui/incompatible_msrv.rs:16:39
   |
LL |     assert_eq!(map.entry("poneyland").key(), &"poneyland");
   |                                       ^^^^^
   |
   = note: `-D clippy::incompatible-msrv` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::incompatible_msrv)]`

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.12.0`
##[error]  --> tests/ui/incompatible_msrv.rs:22:11
   |
LL |         v.into_key();
   |           ^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.4.0`
##[error]  --> tests/ui/incompatible_msrv.rs:26:5
   |
LL |     sleep(Duration::new(1, 0));
   |     ^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.2.0` but this item is stable since `1.3.0`
##[error]  --> tests/ui/incompatible_msrv.rs:31:33
   |
LL | static NO_BODY_BAD_MSRV: Option<Duration> = None;
   |                                 ^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.2.0` but this item is stable since `1.3.0`
##[error]  --> tests/ui/incompatible_msrv.rs:38:19
   |
LL |     let _: Option<Duration> = None;
   |                   ^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.4.0`
##[error]  --> tests/ui/incompatible_msrv.rs:44:5
   |
LL |     sleep(Duration::new(1, 0));
   |     ^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.43.0`
##[error]  --> tests/ui/incompatible_msrv.rs:62:17
   |
LL |         let _ = core::iter::once_with(|| 0);
   |                 ^^^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.43.0`
##[error]  --> tests/ui/incompatible_msrv.rs:69:21
   |
LL |             let _ = core::iter::once_with(|| $msg);
   |                     ^^^^^^^^^^^^^^^^^^^^^
...
LL |     my_panic!("foo");
   |     ---------------- in this macro invocation
   |
   = note: this error originates in the macro `my_panic` (in Nightly builds, run with -Z macro-backtrace for more info)

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.43.0`
##[error]  --> tests/ui/incompatible_msrv.rs:76:13
   |
LL |     assert!(core::iter::once_with(|| 0).next().is_some());
   |             ^^^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.80.0` but this item is stable since `1.82.0`
##[error]  --> tests/ui/incompatible_msrv.rs:89:13
   |
LL |     let _ = std::iter::repeat_n((), 5);
   |             ^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.82.0`
##[error]  --> tests/ui/incompatible_msrv.rs:100:13
   |
LL |     let _ = std::iter::repeat_n((), 5);
   |             ^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.82.0`
##[error]  --> tests/ui/incompatible_msrv.rs:105:17
   |
LL |         let _ = std::iter::repeat_n((), 5);
   |                 ^^^^^^^^^^^^^^^^^^^
   |
   = note: you may want to conditionally increase the MSRV considered by Clippy using the `clippy::msrv` attribute

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.82.0`
##[error]  --> tests/ui/incompatible_msrv.rs:110:17
   |
LL |         let _ = std::iter::repeat_n((), 5);
   |                 ^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.78.0` but this item is stable since `1.84.0`
##[error]  --> tests/ui/incompatible_msrv.rs:123:7
   |
LL |     r.isqrt()
   |       ^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.3.0` but this item is stable since `1.85.0`
##[error]  --> tests/ui/incompatible_msrv.rs:128:13
   |
LL |     let _ = std::io::ErrorKind::CrossesDevices;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.87.0` but this item is stable in a `const` context since `1.88.0`
##[error]  --> tests/ui/incompatible_msrv.rs:140:15
   |
LL |         _ = c.get();
   |               ^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.86.0` but this item is stable since `1.87.0`
##[error]  --> tests/ui/incompatible_msrv.rs:159:13
   |
LL |     let _ = std::io::ErrorKind::InvalidFilename;
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.86.0` but this item is stable since `1.87.0`
##[error]  --> tests/ui/incompatible_msrv.rs:161:21
   |
LL |     let _ = const { std::io::ErrorKind::InvalidFilename };
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: current MSRV (Minimum Supported Rust Version) is `1.38.0` but this item is stable in a `const` context since `1.39.0`
##[error]  --> tests/ui/incompatible_msrv.rs:175:13
   |
LL |     let _ = x("");
   |             ^

error: current MSRV (Minimum Supported Rust Version) is `1.38.0` but this item is stable in a `const` context since `1.39.0`
##[error]  --> tests/ui/incompatible_msrv.rs:177:16
   |
LL |     let _ = "".len();
   |                ^^^^^

---



FAILED TEST: tests/ui/missing_assert_message.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--test" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/missing_assert_message.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "--edition" "2024"

error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/missing_assert_message.stderr` to the actual output
--- tests/ui/missing_assert_message.stderr
+++ <stderr output>
---
+
+error: assert without any message
+  --> tests/ui/missing_assert_message.rs:77:5
+   |
+LL |     assert_ne!(foo(), foo());
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = help: consider describing why the failing assert is problematic
+
+error: assert without any message
---
+
+error: assert without any message
+  --> tests/ui/missing_assert_message.rs:80:5
+   |
+LL |     debug_assert_ne!(foo(), foo());
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = help: consider describing why the failing assert is problematic
+
+error: aborting due to 22 previous errors
---

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:16:5
   |
LL |     assert_ne!(foo(), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
---

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:22:5
   |
LL |     debug_assert_ne!(foo(), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:28:5
   |
LL |     assert!(bar!(true));
   |     ^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:30:5
   |
LL |     assert!(bar!(true, false));
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:32:5
   |
LL |     assert_eq!(bar!(true), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:34:5
   |
LL |     assert_ne!(bar!(true, true), bar!(true));
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:40:5
   |
LL |     assert!(foo(),);
   |     ^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
---

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:44:5
   |
LL |     assert_ne!(foo(), foo(),);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:46:5
   |
LL |     debug_assert!(foo(),);
   |     ^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
---

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:50:5
   |
LL |     debug_assert_ne!(foo(), foo(),);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
---

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:77:5
   |
LL |     assert_ne!(foo(), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
---

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:80:5
   |
LL |     debug_assert_ne!(foo(), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: aborting due to 22 previous errors



error: there was 1 unmatched diagnostic
##[error]  --> tests/ui/missing_assert_message.rs:75:5
   |
75 |     assert!(foo());
   |     ^^^^^^^^^^^^^^ Error[clippy::missing_assert_message]: assert without any message
   |

error: there was 1 unmatched diagnostic
##[error]  --> tests/ui/missing_assert_message.rs:76:5
   |
76 |     assert_eq!(foo(), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^ Error[clippy::missing_assert_message]: assert without any message
   |

error: there was 1 unmatched diagnostic
##[error]  --> tests/ui/missing_assert_message.rs:77:5
   |
77 |     assert_ne!(foo(), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^ Error[clippy::missing_assert_message]: assert without any message
   |

error: there was 1 unmatched diagnostic
##[error]  --> tests/ui/missing_assert_message.rs:78:5
   |
78 |     debug_assert!(foo());
   |     ^^^^^^^^^^^^^^^^^^^^ Error[clippy::missing_assert_message]: assert without any message
   |

error: there was 1 unmatched diagnostic
##[error]  --> tests/ui/missing_assert_message.rs:79:5
   |
79 |     debug_assert_eq!(foo(), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error[clippy::missing_assert_message]: assert without any message
   |

error: there was 1 unmatched diagnostic
##[error]  --> tests/ui/missing_assert_message.rs:80:5
   |
80 |     debug_assert_ne!(foo(), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error[clippy::missing_assert_message]: assert without any message
   |

full stderr:
error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:12:5
---

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:16:5
   |
LL |     assert_ne!(foo(), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
---

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:22:5
   |
LL |     debug_assert_ne!(foo(), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:28:5
   |
LL |     assert!(bar!(true));
   |     ^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:30:5
   |
LL |     assert!(bar!(true, false));
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:32:5
   |
LL |     assert_eq!(bar!(true), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:34:5
   |
LL |     assert_ne!(bar!(true, true), bar!(true));
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:40:5
   |
LL |     assert!(foo(),);
   |     ^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
---

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:44:5
   |
LL |     assert_ne!(foo(), foo(),);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:46:5
   |
LL |     debug_assert!(foo(),);
   |     ^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
---

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:50:5
   |
LL |     debug_assert_ne!(foo(), foo(),);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
---

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:77:5
   |
LL |     assert_ne!(foo(), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: assert without any message
---

error: assert without any message
##[error]  --> tests/ui/missing_assert_message.rs:80:5
   |
LL |     debug_assert_ne!(foo(), foo());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider describing why the failing assert is problematic

error: aborting due to 22 previous errors


full stdout:



FAILED TEST: tests/ui/redundant_test_prefix.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--test" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/redundant_test_prefix.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "--edition" "2024"

error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/redundant_test_prefix.stderr` to the actual output
--- tests/ui/redundant_test_prefix.stderr
+++ <stderr output>
---
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix.rs:59:8
-   |
-LL |     fn test_foo_with_call() {
-   |        ^^^^^^^^^^^^^^^^^^ help: consider removing the `test_` prefix: `foo_with_call`
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix.rs:66:8
-   |
-LL |     fn test_f1() {
---
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix.rs:105:8
-   |
-LL |     fn test_foo_with_call() {
-   |        ^^^^^^^^^^^^^^^^^^ help: consider removing the `test_` prefix: `foo_with_call`
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix.rs:112:8
-   |
-LL |     fn test_f1() {
---

error: there was 1 unmatched diagnostic
##[error]   --> tests/ui/redundant_test_prefix.rs:151:17
    |
151 |     fn test_not(foo: bool) {
    |                 ^^^ Error[clippy::disallowed_names]: use of a disallowed/placeholder name `foo`
    |

full stderr:
error: use of a disallowed/placeholder name `foo`
##[error]  --> tests/ui/redundant_test_prefix.rs:151:17
---



FAILED TEST: tests/ui/redundant_test_prefix_noautofix.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--test" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/redundant_test_prefix_noautofix.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "--edition" "2024"

error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/redundant_test_prefix_noautofix.stderr` to the actual output
--- tests/ui/redundant_test_prefix_noautofix.stderr
+++ <stderr output>
---
-   |
-LL | fn test_f5() {
-   |    ^^^^^^^
-   |
-help: consider function renaming (just removing `test_` prefix will cause a name conflict)
-   |
-LL - fn test_f5() {
-LL + fn f5_works() {
-   |
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:53:4
-   |
-LL | fn test_f6() {
-   |    ^^^^^^^
-   |
-help: consider function renaming (just removing `test_` prefix will cause a name conflict)
-   |
-LL - fn test_f6() {
-LL + fn f6_works() {
-   |
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:65:4
-   |
---
-   |
-LL |     fn test_f() {
-   |        ^^^^^^
-   |
-help: consider function renaming (just removing `test_` prefix will cause a name conflict)
-   |
-LL -     fn test_f() {
-LL +     fn f_works() {
-   |
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:101:8
-   |
-LL |     fn test_m3_2() {
-   |        ^^^^^^^^^ help: consider removing the `test_` prefix: `m3_2`
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:114:8
-   |
-LL |     fn test_foo() {
-   |        ^^^^^^^^ help: consider removing the `test_` prefix: `foo`
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:119:8
-   |
-LL |     fn test_foo_with_call() {
-   |        ^^^^^^^^^^^^^^^^^^ help: consider removing the `test_` prefix: `foo_with_call`
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:126:8
-   |
-LL |     fn test_f1() {
---
-   |
-LL |     fn test_1() {
-   |        ^^^^^^
-   |
-   = help: consider function renaming (just removing `test_` prefix will produce invalid function name)
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:163:8
-   |
-LL |     fn test_const() {
-   |        ^^^^^^^^^^
-   |
-   = help: consider function renaming (just removing `test_` prefix will produce invalid function name)
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:170:8
-   |
-LL |     fn test_async() {
-   |        ^^^^^^^^^^
-   |
-   = help: consider function renaming (just removing `test_` prefix will produce invalid function name)
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:177:8
-   |
-LL |     fn test_yield() {
-   |        ^^^^^^^^^^
-   |
-   = help: consider function renaming (just removing `test_` prefix will produce invalid function name)
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:184:8
-   |
-LL |     fn test_() {
-   |        ^^^^^
-   |
-   = help: consider function renaming (just removing `test_` prefix will produce invalid function name)
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:195:8
-   |
-LL |     fn test_foo() {
-   |        ^^^^^^^^ help: consider removing the `test_` prefix: `foo`
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:200:8
-   |
-LL |     fn test_foo_with_call() {
-   |        ^^^^^^^^^^^^^^^^^^ help: consider removing the `test_` prefix: `foo_with_call`
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:207:8
-   |
-LL |     fn test_f1() {
---
-   |
-LL |     fn test_1() {
-   |        ^^^^^^
-   |
-   = help: consider function renaming (just removing `test_` prefix will produce invalid function name)
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:244:8
-   |
-LL |     fn test_const() {
-   |        ^^^^^^^^^^
-   |
-   = help: consider function renaming (just removing `test_` prefix will produce invalid function name)
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:251:8
-   |
-LL |     fn test_async() {
-   |        ^^^^^^^^^^
-   |
-   = help: consider function renaming (just removing `test_` prefix will produce invalid function name)
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:258:8
-   |
-LL |     fn test_yield() {
-   |        ^^^^^^^^^^
-   |
-   = help: consider function renaming (just removing `test_` prefix will produce invalid function name)
-
-error: redundant `test_` prefix in test function name
-  --> tests/ui/redundant_test_prefix_noautofix.rs:265:8
-   |
-LL |     fn test_() {
-   |        ^^^^^
-   |
-   = help: consider function renaming (just removing `test_` prefix will produce invalid function name)
-
-error: aborting due to 33 previous errors
-

Full unnormalized output:
---

error: there was 1 unmatched diagnostic
##[error]   --> tests/ui/redundant_test_prefix_noautofix.rs:281:17
    |
281 |     fn test_not(foo: bool) {
    |                 ^^^ Error[clippy::disallowed_names]: use of a disallowed/placeholder name `foo`
    |

full stderr:
error: use of a disallowed/placeholder name `foo`
##[error]  --> tests/ui/redundant_test_prefix_noautofix.rs:281:17
---



FAILED TEST: tests/ui/single_call_fn.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--test" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/single_call_fn.rs" "--extern" "proc_macros=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui/auxiliary/libproc_macros.so" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui/auxiliary" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "--edition" "2024"

error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/single_call_fn.stderr` to the actual output
--- tests/ui/single_call_fn.stderr
+++ <stderr output>
---

error: this function is only used once
##[error]  --> tests/ui/single_call_fn.rs:15:1
   |
LL | fn j() {}
   | ^^^^^^^^^
   |
note: used here
  --> tests/ui/single_call_fn.rs:27:9
   |
---
   |
88 | / fn l() {
89 | |     k();
90 | | }
   | |_^ Error[clippy::single_call_fn]: this function is only used once
   |

full stderr:
error: this function is only used once
##[error]  --> tests/ui/single_call_fn.rs:13:1
---

error: this function is only used once
##[error]  --> tests/ui/single_call_fn.rs:15:1
   |
LL | fn j() {}
   | ^^^^^^^^^
   |
note: used here
  --> tests/ui/single_call_fn.rs:27:9
   |
---



FAILED TEST: tests/ui/tests_outside_test_module.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--test" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/tests_outside_test_module.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "--edition" "2024"

error: no output was emitted
Execute `./x test src/tools/clippy --bless` to remove `tests/ui/tests_outside_test_module.stderr`

error: `this function marked with #[test] is outside a #[cfg(test)] module` not found in diagnostics on line 11
##[error]  --> tests/ui/tests_outside_test_module.rs:12:13
   |
12 | //~^ ERROR: this function marked with #[test] is outside a #[cfg(test)] module
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected because of this pattern
   |

error: `move it to a testing module marked with #[cfg(test)]` not found in diagnostics on line 11
##[error]  --> tests/ui/tests_outside_test_module.rs:13:12
   |
13 | //~| NOTE: move it to a testing module marked with #[cfg(test)]
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected because of this pattern
   |

full stderr:

full stdout:



FAILED TEST: tests/ui/unnecessary_path_debug_formatting.rs
command: CLIPPY_CONF_DIR="tests" RUSTC_ICE="0" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "--error-format=json" "--emit=metadata" "-Aunused" "-Ainternal_features" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Dwarnings" "-Ldependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--sysroot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--test" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/ui_test/0/tests/ui" "tests/ui/unnecessary_path_debug_formatting.rs" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rlib" "--extern" "futures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libfutures-1c57be01ce678fe1.rmeta" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libitertools-dbbaea4865d325a0.rmeta" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rlib" "--extern" "libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/liblibc-c786fec7f822d813.rmeta" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rlib" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libparking_lot-0afcbbb9c8641b0e.rmeta" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libquote-dbc89400fd6938d7.rmeta" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rlib" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libregex-c563189a4fec18cb.rmeta" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libserde-61ad6261d0a71916.rmeta" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libsyn-f69412628c69f4c9.rmeta" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rlib" "--extern" "tokio=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps/libtokio-6b8938c971e2085f.rmeta" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/debug/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/debug/deps" "--edition" "2024"

error: actual output differed from expected
Execute `./x test src/tools/clippy --bless` to update `tests/ui/unnecessary_path_debug_formatting.stderr` to the actual output
--- tests/ui/unnecessary_path_debug_formatting.stderr
+++ <stderr output>
 error: unnecessary `Debug` formatting in `println!` args
   --> tests/ui/unnecessary_path_debug_formatting.rs:30:22
... 79 lines skipped ...
    = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed
 
-error: aborting due to 9 previous errors
+error: unnecessary `Debug` formatting in `assert!` args
+  --> tests/ui/unnecessary_path_debug_formatting.rs:49:39
+   |
+LL |     assert!(input.ends_with("baz"), "{input:?}");
+   |                                       ^^^^^
+   |
+   = help: use `Display` formatting and change this to `input.display()`
+   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed
 
+error: aborting due to 10 previous errors
+

Full unnormalized output:
error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:30:22
   |
LL |     println!("{:?}", os_str);
   |                      ^^^^^^
   |
   = help: use `Display` formatting and change this to `os_str.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed
   = note: `-D clippy::unnecessary-debug-formatting` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::unnecessary_debug_formatting)]`

error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:31:22
   |
LL |     println!("{:?}", os_string);
   |                      ^^^^^^^^^
   |
   = help: use `Display` formatting and change this to `os_string.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:33:22
   |
LL |     println!("{:?}", path);
   |                      ^^^^
   |
   = help: use `Display` formatting and change this to `path.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:34:22
   |
LL |     println!("{:?}", path_buf);
   |                      ^^^^^^^^
   |
   = help: use `Display` formatting and change this to `path_buf.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:36:16
   |
LL |     println!("{path:?}");
   |                ^^^^
   |
   = help: use `Display` formatting and change this to `path.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:37:16
   |
LL |     println!("{path_buf:?}");
   |                ^^^^^^^^
   |
   = help: use `Display` formatting and change this to `path_buf.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `format!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:39:37
   |
LL |     let _: String = format!("{:?}", path);
   |                                     ^^^^
   |
   = help: use `Display` formatting and change this to `path.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `format!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:40:37
   |
LL |     let _: String = format!("{:?}", path_buf);
   |                                     ^^^^^^^^
   |
   = help: use `Display` formatting and change this to `path_buf.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:43:22
   |
LL |     println!("{:?}", &*deref_path);
   |                      ^^^^^^^^^^^^
   |
   = help: use `Display` formatting and change this to `&*deref_path.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `assert!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:49:39
   |
LL |     assert!(input.ends_with("baz"), "{input:?}");
   |                                       ^^^^^
   |
   = help: use `Display` formatting and change this to `input.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: aborting due to 10 previous errors



error: there was 1 unmatched diagnostic
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:49:39
   |
49 |     assert!(input.ends_with("baz"), "{input:?}");
   |                                       ^^^^^ Error[clippy::unnecessary_debug_formatting]: unnecessary `Debug` formatting in `assert!` args
   |

full stderr:
error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:30:22
   |
LL |     println!("{:?}", os_str);
   |                      ^^^^^^
   |
   = help: use `Display` formatting and change this to `os_str.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed
   = note: `-D clippy::unnecessary-debug-formatting` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::unnecessary_debug_formatting)]`

error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:31:22
   |
LL |     println!("{:?}", os_string);
   |                      ^^^^^^^^^
   |
   = help: use `Display` formatting and change this to `os_string.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:33:22
   |
LL |     println!("{:?}", path);
   |                      ^^^^
   |
   = help: use `Display` formatting and change this to `path.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:34:22
   |
LL |     println!("{:?}", path_buf);
   |                      ^^^^^^^^
   |
   = help: use `Display` formatting and change this to `path_buf.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:36:16
   |
LL |     println!("{path:?}");
   |                ^^^^
   |
   = help: use `Display` formatting and change this to `path.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:37:16
   |
LL |     println!("{path_buf:?}");
   |                ^^^^^^^^
   |
   = help: use `Display` formatting and change this to `path_buf.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `format!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:39:37
   |
LL |     let _: String = format!("{:?}", path);
   |                                     ^^^^
   |
   = help: use `Display` formatting and change this to `path.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `format!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:40:37
   |
LL |     let _: String = format!("{:?}", path_buf);
   |                                     ^^^^^^^^
   |
   = help: use `Display` formatting and change this to `path_buf.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `println!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:43:22
   |
LL |     println!("{:?}", &*deref_path);
   |                      ^^^^^^^^^^^^
   |
   = help: use `Display` formatting and change this to `&*deref_path.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: unnecessary `Debug` formatting in `assert!` args
##[error]  --> tests/ui/unnecessary_path_debug_formatting.rs:49:39
   |
LL |     assert!(input.ends_with("baz"), "{input:?}");
   |                                       ^^^^^
   |
   = help: use `Display` formatting and change this to `input.display()`
   = note: switching to `Display` formatting will change how the value is shown; escaped characters will no longer be escaped and surrounding quotes will be removed

error: aborting due to 10 previous errors


full stdout:

@JonathanBrouwer
Copy link
Contributor

@bors r-

@rust-bors rust-bors bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 13, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 13, 2026

Commit 250ce84 has been unapproved.

This PR was contained in a rollup (#152572), which was also unapproved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants