[INFO] fetching crate unit19 0.1.0...
[INFO] checking unit19-0.1.0 against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] extracting crate unit19 0.1.0 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate unit19 0.1.0 on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate unit19 0.1.0
[INFO] finished tweaking crates.io crate unit19 0.1.0
[INFO] tweaked toml for crates.io crate unit19 0.1.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate crates.io crate unit19 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 97eb44a79720a87cfaea3831f4e1e5797865f5cdb3d9b53e4caab868c745647b
[INFO] running `Command { std: "docker" "start" "-a" "97eb44a79720a87cfaea3831f4e1e5797865f5cdb3d9b53e4caab868c745647b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "97eb44a79720a87cfaea3831f4e1e5797865f5cdb3d9b53e4caab868c745647b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "97eb44a79720a87cfaea3831f4e1e5797865f5cdb3d9b53e4caab868c745647b", kill_on_drop: false }`
[INFO] [stdout] 97eb44a79720a87cfaea3831f4e1e5797865f5cdb3d9b53e4caab868c745647b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f67a39d4eeba0c0105f5134eca734a401d3e84c376e75b0e4186ea51d5df898d
[INFO] running `Command { std: "docker" "start" "-a" "f67a39d4eeba0c0105f5134eca734a401d3e84c376e75b0e4186ea51d5df898d", kill_on_drop: false }`
[INFO] [stderr]     Checking unit19 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `slice`
[INFO] [stdout]  --> src/main.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{fmt, slice};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `slice` is imported redundantly
[INFO] [stdout]   --> src/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 8  | use std::{fmt, slice};
[INFO] [stdout]    |                ----- the item `slice` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 90 |     use std::slice;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/main.rs:102:1
[INFO] [stdout]     |
[INFO] [stdout] 102 | / /// extern函数
[INFO] [stdout] 103 | | ///
[INFO] [stdout] 104 | | /// 在某些场景下，Rust代码可能需要与另外一种语言编写的代码进行交互。
[INFO] [stdout] 105 | | /// Rust为此提供了extern关键字来简化创建和使用外部函数接口(Foreign Function Interface，FFI)的过程。
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | | /// 其中"C"指明了外部函数使用的应用二进制接口(Application Binary Interface，ABI)：它被用来定义函数在汇编层面的调用方式。                                     ...
[INFO] [stdout] 113 | | /// 我们使用的"C"ABI正是C编程语言的ABI，它也是最常见的ABI格式之一。
[INFO] [stdout]     | |___________________________________________________________________^
[INFO] [stdout] 114 | / extern "C" {
[INFO] [stdout] 115 | |     fn asb(input: i32) -> i32;
[INFO] [stdout] 116 | | }
[INFO] [stdout]     | |_- rustdoc does not generate documentation for extern blocks
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `slice`
[INFO] [stdout]  --> src/main.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{fmt, slice};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `slice` is imported redundantly
[INFO] [stdout]   --> src/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 8  | use std::{fmt, slice};
[INFO] [stdout]    |                ----- the item `slice` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 90 |     use std::slice;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/main.rs:102:1
[INFO] [stdout]     |
[INFO] [stdout] 102 | / /// extern函数
[INFO] [stdout] 103 | | ///
[INFO] [stdout] 104 | | /// 在某些场景下，Rust代码可能需要与另外一种语言编写的代码进行交互。
[INFO] [stdout] 105 | | /// Rust为此提供了extern关键字来简化创建和使用外部函数接口(Foreign Function Interface，FFI)的过程。
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | | /// 其中"C"指明了外部函数使用的应用二进制接口(Application Binary Interface，ABI)：它被用来定义函数在汇编层面的调用方式。                                     ...
[INFO] [stdout] 113 | | /// 我们使用的"C"ABI正是C编程语言的ABI，它也是最常见的ABI格式之一。
[INFO] [stdout]     | |___________________________________________________________________^
[INFO] [stdout] 114 | / extern "C" {
[INFO] [stdout] 115 | |     fn asb(input: i32) -> i32;
[INFO] [stdout] 116 | | }
[INFO] [stdout]     | |_- rustdoc does not generate documentation for extern blocks
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_pointer_address`
[INFO] [stdout]   --> src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let raw_pointer_address = address as *const i32;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_pointer_address`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_pointer_address`
[INFO] [stdout]   --> src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let raw_pointer_address = address as *const i32;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_pointer_address`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]    --> src/main.rs:311:15
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn empty_type(flag: i32) -> ! {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/main.rs:377:27
[INFO] [stdout]     |
[INFO] [stdout] 377 | fn dyn_and_sized_trait<T>(t: T) {}
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/main.rs:384:37
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn dyn_and_sized_trait_t<T: ?Sized>(t: &T) {}
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]    --> src/main.rs:311:15
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn empty_type(flag: i32) -> ! {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/main.rs:377:27
[INFO] [stdout]     |
[INFO] [stdout] 377 | fn dyn_and_sized_trait<T>(t: T) {}
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/main.rs:384:37
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn dyn_and_sized_trait_t<T: ?Sized>(t: &T) {}
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HELLO_WORLD` is never used
[INFO] [stdout]    --> src/main.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | static HELLO_WORLD: &str = "Hello, World!";
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NUMBER` is never used
[INFO] [stdout]    --> src/main.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | static mut NUMBER: u32 = 0;// 可变静态变量，无论是访问还是修改都需要在不安全代码块中执行。
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modify_static_variable` is never used
[INFO] [stdout]    --> src/main.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn modify_static_variable() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_type` is never used
[INFO] [stdout]    --> src/main.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn empty_type(flag: i32) -> ! {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dyn_and_sized_trait` is never used
[INFO] [stdout]    --> src/main.rs:377:4
[INFO] [stdout]     |
[INFO] [stdout] 377 | fn dyn_and_sized_trait<T>(t: T) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HELLO_WORLD` is never used
[INFO] [stdout]    --> src/main.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | static HELLO_WORLD: &str = "Hello, World!";
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dyn_and_sized_trait_t` is never used
[INFO] [stdout]    --> src/main.rs:384:4
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn dyn_and_sized_trait_t<T: ?Sized>(t: &T) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NUMBER` is never used
[INFO] [stdout]    --> src/main.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | static mut NUMBER: u32 = 0;// 可变静态变量，无论是访问还是修改都需要在不安全代码块中执行。
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modify_static_variable` is never used
[INFO] [stdout]    --> src/main.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn modify_static_variable() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_type` is never used
[INFO] [stdout]    --> src/main.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn empty_type(flag: i32) -> ! {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dyn_and_sized_trait` is never used
[INFO] [stdout]    --> src/main.rs:377:4
[INFO] [stdout]     |
[INFO] [stdout] 377 | fn dyn_and_sized_trait<T>(t: T) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dyn_and_sized_trait_t` is never used
[INFO] [stdout]    --> src/main.rs:384:4
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn dyn_and_sized_trait_t<T: ?Sized>(t: &T) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:406:15
[INFO] [stdout]     |
[INFO] [stdout] 406 |         Value(u32),
[INFO] [stdout]     |         ----- ^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 406 |         Value(()),
[INFO] [stdout]     |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:406:15
[INFO] [stdout]     |
[INFO] [stdout] 406 |         Value(u32),
[INFO] [stdout]     |         ----- ^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 406 |         Value(()),
[INFO] [stdout]     |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Stop` is never constructed
[INFO] [stdout]    --> src/main.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 405 |     enum Status {
[INFO] [stdout]     |          ------ variant in this enum
[INFO] [stdout] 406 |         Value(u32),
[INFO] [stdout] 407 |         Stop,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Stop` is never constructed
[INFO] [stdout]    --> src/main.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 405 |     enum Status {
[INFO] [stdout]     |          ------ variant in this enum
[INFO] [stdout] 406 |         Value(u32),
[INFO] [stdout] 407 |         Stop,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.08s
[INFO] running `Command { std: "docker" "inspect" "f67a39d4eeba0c0105f5134eca734a401d3e84c376e75b0e4186ea51d5df898d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f67a39d4eeba0c0105f5134eca734a401d3e84c376e75b0e4186ea51d5df898d", kill_on_drop: false }`
[INFO] [stdout] f67a39d4eeba0c0105f5134eca734a401d3e84c376e75b0e4186ea51d5df898d
[INFO] checking unit19-0.1.0 against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393-1
[INFO] extracting crate unit19 0.1.0 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate unit19 0.1.0 on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate unit19 0.1.0
[INFO] finished tweaking crates.io crate unit19 0.1.0
[INFO] tweaked toml for crates.io crate unit19 0.1.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate crates.io crate unit19 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f1393f7c362fd2e2a09bda445bfca9cd80f9676d77bcb182b9f6122e2e72ef8b
[INFO] running `Command { std: "docker" "start" "-a" "f1393f7c362fd2e2a09bda445bfca9cd80f9676d77bcb182b9f6122e2e72ef8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1393f7c362fd2e2a09bda445bfca9cd80f9676d77bcb182b9f6122e2e72ef8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1393f7c362fd2e2a09bda445bfca9cd80f9676d77bcb182b9f6122e2e72ef8b", kill_on_drop: false }`
[INFO] [stdout] f1393f7c362fd2e2a09bda445bfca9cd80f9676d77bcb182b9f6122e2e72ef8b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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 -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d5f7beac489b98168eafae0337be528933ff222c7c50643c0d6d8a8677c4776c
[INFO] running `Command { std: "docker" "start" "-a" "d5f7beac489b98168eafae0337be528933ff222c7c50643c0d6d8a8677c4776c", kill_on_drop: false }`
[INFO] [stderr]     Checking unit19 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `slice`
[INFO] [stdout]  --> src/main.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{fmt, slice};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `slice` is imported redundantly
[INFO] [stdout]   --> src/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 8  | use std::{fmt, slice};
[INFO] [stdout]    |                ----- the item `slice` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 90 |     use std::slice;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/main.rs:102:1
[INFO] [stdout]     |
[INFO] [stdout] 102 | / /// extern函数
[INFO] [stdout] 103 | | ///
[INFO] [stdout] 104 | | /// 在某些场景下，Rust代码可能需要与另外一种语言编写的代码进行交互。
[INFO] [stdout] 105 | | /// Rust为此提供了extern关键字来简化创建和使用外部函数接口(Foreign Function Interface，FFI)的过程。
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | | /// 其中"C"指明了外部函数使用的应用二进制接口(Application Binary Interface，ABI)：它被用来定义函数在汇编层面的调用方式。                                     ...
[INFO] [stdout] 113 | | /// 我们使用的"C"ABI正是C编程语言的ABI，它也是最常见的ABI格式之一。
[INFO] [stdout]     | |___________________________________________________________________^
[INFO] [stdout] 114 | / extern "C" {
[INFO] [stdout] 115 | |     fn asb(input: i32) -> i32;
[INFO] [stdout] 116 | | }
[INFO] [stdout]     | |_- rustdoc does not generate documentation for extern blocks
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `slice`
[INFO] [stdout]  --> src/main.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::{fmt, slice};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `slice` is imported redundantly
[INFO] [stdout]   --> src/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 8  | use std::{fmt, slice};
[INFO] [stdout]    |                ----- the item `slice` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 90 |     use std::slice;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/main.rs:102:1
[INFO] [stdout]     |
[INFO] [stdout] 102 | / /// extern函数
[INFO] [stdout] 103 | | ///
[INFO] [stdout] 104 | | /// 在某些场景下，Rust代码可能需要与另外一种语言编写的代码进行交互。
[INFO] [stdout] 105 | | /// Rust为此提供了extern关键字来简化创建和使用外部函数接口(Foreign Function Interface，FFI)的过程。
[INFO] [stdout] ...   |
[INFO] [stdout] 112 | | /// 其中"C"指明了外部函数使用的应用二进制接口(Application Binary Interface，ABI)：它被用来定义函数在汇编层面的调用方式。                                     ...
[INFO] [stdout] 113 | | /// 我们使用的"C"ABI正是C编程语言的ABI，它也是最常见的ABI格式之一。
[INFO] [stdout]     | |___________________________________________________________________^
[INFO] [stdout] 114 | / extern "C" {
[INFO] [stdout] 115 | |     fn asb(input: i32) -> i32;
[INFO] [stdout] 116 | | }
[INFO] [stdout]     | |_- rustdoc does not generate documentation for extern blocks
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_pointer_address`
[INFO] [stdout]   --> src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let raw_pointer_address = address as *const i32;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_pointer_address`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]    --> src/main.rs:311:15
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn empty_type(flag: i32) -> ! {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/main.rs:377:27
[INFO] [stdout]     |
[INFO] [stdout] 377 | fn dyn_and_sized_trait<T>(t: T) {}
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/main.rs:384:37
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn dyn_and_sized_trait_t<T: ?Sized>(t: &T) {}
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HELLO_WORLD` is never used
[INFO] [stdout]    --> src/main.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | static HELLO_WORLD: &str = "Hello, World!";
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NUMBER` is never used
[INFO] [stdout]    --> src/main.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | static mut NUMBER: u32 = 0;// 可变静态变量，无论是访问还是修改都需要在不安全代码块中执行。
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modify_static_variable` is never used
[INFO] [stdout]    --> src/main.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn modify_static_variable() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_type` is never used
[INFO] [stdout]    --> src/main.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn empty_type(flag: i32) -> ! {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dyn_and_sized_trait` is never used
[INFO] [stdout]    --> src/main.rs:377:4
[INFO] [stdout]     |
[INFO] [stdout] 377 | fn dyn_and_sized_trait<T>(t: T) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dyn_and_sized_trait_t` is never used
[INFO] [stdout]    --> src/main.rs:384:4
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn dyn_and_sized_trait_t<T: ?Sized>(t: &T) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:406:15
[INFO] [stdout]     |
[INFO] [stdout] 406 |         Value(u32),
[INFO] [stdout]     |         ----- ^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 406 |         Value(()),
[INFO] [stdout]     |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Stop` is never constructed
[INFO] [stdout]    --> src/main.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 405 |     enum Status {
[INFO] [stdout]     |          ------ variant in this enum
[INFO] [stdout] 406 |         Value(u32),
[INFO] [stdout] 407 |         Stop,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/main.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | /     impl Display for Point {
[INFO] [stdout] 264 | |         fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
[INFO] [stdout] 265 | |             write!(f, "({}, {})", self.x, self.y)
[INFO] [stdout] 266 | |         }
[INFO] [stdout] 267 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `super_trait`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_pointer_address`
[INFO] [stdout]   --> src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let raw_pointer_address = address as *const i32;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_pointer_address`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]    --> src/main.rs:311:15
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn empty_type(flag: i32) -> ! {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/main.rs:377:27
[INFO] [stdout]     |
[INFO] [stdout] 377 | fn dyn_and_sized_trait<T>(t: T) {}
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/main.rs:384:37
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn dyn_and_sized_trait_t<T: ?Sized>(t: &T) {}
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `unit19` (bin "unit19") due to 2 previous errors; 15 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: static `HELLO_WORLD` is never used
[INFO] [stdout]    --> src/main.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | static HELLO_WORLD: &str = "Hello, World!";
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NUMBER` is never used
[INFO] [stdout]    --> src/main.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | static mut NUMBER: u32 = 0;// 可变静态变量，无论是访问还是修改都需要在不安全代码块中执行。
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modify_static_variable` is never used
[INFO] [stdout]    --> src/main.rs:147:4
[INFO] [stdout]     |
[INFO] [stdout] 147 | fn modify_static_variable() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `empty_type` is never used
[INFO] [stdout]    --> src/main.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn empty_type(flag: i32) -> ! {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dyn_and_sized_trait` is never used
[INFO] [stdout]    --> src/main.rs:377:4
[INFO] [stdout]     |
[INFO] [stdout] 377 | fn dyn_and_sized_trait<T>(t: T) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dyn_and_sized_trait_t` is never used
[INFO] [stdout]    --> src/main.rs:384:4
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn dyn_and_sized_trait_t<T: ?Sized>(t: &T) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:406:15
[INFO] [stdout]     |
[INFO] [stdout] 406 |         Value(u32),
[INFO] [stdout]     |         ----- ^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 406 |         Value(()),
[INFO] [stdout]     |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Stop` is never constructed
[INFO] [stdout]    --> src/main.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 405 |     enum Status {
[INFO] [stdout]     |          ------ variant in this enum
[INFO] [stdout] 406 |         Value(u32),
[INFO] [stdout] 407 |         Stop,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/main.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | /     impl Display for Point {
[INFO] [stdout] 264 | |         fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
[INFO] [stdout] 265 | |             write!(f, "({}, {})", self.x, self.y)
[INFO] [stdout] 266 | |         }
[INFO] [stdout] 267 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `super_trait`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `unit19` (bin "unit19" test) due to 2 previous errors; 15 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d5f7beac489b98168eafae0337be528933ff222c7c50643c0d6d8a8677c4776c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5f7beac489b98168eafae0337be528933ff222c7c50643c0d6d8a8677c4776c", kill_on_drop: false }`
[INFO] [stdout] d5f7beac489b98168eafae0337be528933ff222c7c50643c0d6d8a8677c4776c
