[INFO] fetching crate derivative 2.2.0...
[INFO] checking derivative-2.2.0 against master#507271bc119683008ec719ecee48814e8ac86c65 for pr-146440
[INFO] extracting crate derivative 2.2.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate derivative 2.2.0
[INFO] finished tweaking crates.io crate derivative 2.2.0
[INFO] tweaked toml for crates.io crate derivative 2.2.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate derivative 2.2.0 on toolchain 507271bc119683008ec719ecee48814e8ac86c65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 20 packages to latest compatible versions
[INFO] [stderr]       Adding syn v1.0.109 (available: v2.0.117)
[INFO] [stderr]       Adding trybuild v1.0.22 (available: v1.0.116)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded trybuild v1.0.22
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 72ef25c5e9663c7bd1530c6ebe5252318f07804d82cc000dd2aeff063c9a1ba7
[INFO] running `Command { std: "docker" "start" "-a" "72ef25c5e9663c7bd1530c6ebe5252318f07804d82cc000dd2aeff063c9a1ba7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "72ef25c5e9663c7bd1530c6ebe5252318f07804d82cc000dd2aeff063c9a1ba7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72ef25c5e9663c7bd1530c6ebe5252318f07804d82cc000dd2aeff063c9a1ba7", kill_on_drop: false }`
[INFO] [stdout] 72ef25c5e9663c7bd1530c6ebe5252318f07804d82cc000dd2aeff063c9a1ba7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 47136fe36f03f4922055b3c9803be6351df357f46565880e2fc3520fa7e426a9
[INFO] running `Command { std: "docker" "start" "-a" "47136fe36f03f4922055b3c9803be6351df357f46565880e2fc3520fa7e426a9", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking derivative v2.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking trybuild v1.0.22
[INFO] [stdout] warning: method `dummy` is never used
[INFO] [stdout]   --> tests/rustc-issue-19358.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | trait Trait { fn dummy(&self) { } }
[INFO] [stdout]    |       -----      ^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       method in this trait
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `must_use` that must be used
[INFO] [stdout]   --> tests/rustc-deriving-in-fn.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     format!("{:?}", f);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let _ = format!("{:?}", f);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Test` is never constructed
[INFO] [stdout]   --> tests/issue-82.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Test {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> tests/derive-eq.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         self.foo == other.foo
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]    |
[INFO] [stdout] 24 -         self.foo == other.foo
[INFO] [stdout] 24 +         std::ptr::addr_eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]    |
[INFO] [stdout] 24 -         self.foo == other.foo
[INFO] [stdout] 24 +         std::ptr::eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Foo` is never used
[INFO] [stdout]  --> tests/issue-55.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | trait Foo {}
[INFO] [stdout]   |       ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fmt` is never used
[INFO] [stdout]  --> tests/issue-55.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn fmt<T>(_: &T, _: &mut std::fmt::Formatter) -> std::fmt::Result {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Qux` is never constructed
[INFO] [stdout]   --> tests/issue-55.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Qux<'a, T: Foo>(&'a T);
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S` is never constructed
[INFO] [stdout]   --> tests/rustc-deriving-clone-tuple-struct.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct S((), ());
[INFO] [stdout]    |        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> tests/derive-eq-packed.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         self.foo == other.foo
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         self.foo == other.foo
[INFO] [stdout] 26 +         std::ptr::addr_eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         self.foo == other.foo
[INFO] [stdout] 26 +         std::ptr::eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Array` is never constructed
[INFO] [stdout]   --> tests/rustc-issue-28561.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Array<T> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CopyArray` is never constructed
[INFO] [stdout]   --> tests/rustc-issue-28561.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct CopyArray<T: Copy> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fn` is never constructed
[INFO] [stdout]    --> tests/rustc-issue-28561.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct Fn<A, B, C, D, E, F, G, H, I, J, K, L> {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tuple` is never constructed
[INFO] [stdout]    --> tests/rustc-issue-28561.rs:119:8
[INFO] [stdout]     |
[INFO] [stdout] 119 | struct Tuple<A, B, C, D, E, F, G, H, I, J, K, L> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> tests/rustc-issue-28561.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(Derivative)]
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Derivative` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.60s
[INFO] running `Command { std: "docker" "inspect" "47136fe36f03f4922055b3c9803be6351df357f46565880e2fc3520fa7e426a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47136fe36f03f4922055b3c9803be6351df357f46565880e2fc3520fa7e426a9", kill_on_drop: false }`
[INFO] [stdout] 47136fe36f03f4922055b3c9803be6351df357f46565880e2fc3520fa7e426a9
