[INFO] fetching crate unit19 0.1.0... [INFO] checking unit19-0.1.0 against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393 [INFO] extracting crate unit19 0.1.0 into /workspace/builds/worker-3-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-3-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-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 1121151e132bf1ba9ef1e496d11f8d505a551a8683a80f519871b1e6f77424fb [INFO] running `Command { std: "docker" "start" "-a" "1121151e132bf1ba9ef1e496d11f8d505a551a8683a80f519871b1e6f77424fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1121151e132bf1ba9ef1e496d11f8d505a551a8683a80f519871b1e6f77424fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1121151e132bf1ba9ef1e496d11f8d505a551a8683a80f519871b1e6f77424fb", kill_on_drop: false }` [INFO] [stdout] 1121151e132bf1ba9ef1e496d11f8d505a551a8683a80f519871b1e6f77424fb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 6347dbdbcc64c7ace8db773c5da1d779f8033926cf3fc3338457b661d2fe22fb [INFO] running `Command { std: "docker" "start" "-a" "6347dbdbcc64c7ace8db773c5da1d779f8033926cf3fc3338457b661d2fe22fb", 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 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 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: `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) {} [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:377:27 [INFO] [stdout] | [INFO] [stdout] 377 | fn dyn_and_sized_trait(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: &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: &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 `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: 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) {} [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) {} [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: &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: &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.06s [INFO] running `Command { std: "docker" "inspect" "6347dbdbcc64c7ace8db773c5da1d779f8033926cf3fc3338457b661d2fe22fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6347dbdbcc64c7ace8db773c5da1d779f8033926cf3fc3338457b661d2fe22fb", kill_on_drop: false }` [INFO] [stdout] 6347dbdbcc64c7ace8db773c5da1d779f8033926cf3fc3338457b661d2fe22fb [INFO] checking unit19-0.1.0 against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393 [INFO] extracting crate unit19 0.1.0 into /workspace/builds/worker-3-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-3-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-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] f52f652e28279c64bef676423f6715a835dbb13cace171198f34446108b40225 [INFO] running `Command { std: "docker" "start" "-a" "f52f652e28279c64bef676423f6715a835dbb13cace171198f34446108b40225", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f52f652e28279c64bef676423f6715a835dbb13cace171198f34446108b40225", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f52f652e28279c64bef676423f6715a835dbb13cace171198f34446108b40225", kill_on_drop: false }` [INFO] [stdout] f52f652e28279c64bef676423f6715a835dbb13cace171198f34446108b40225 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 77367dd2f96c33132570d612811b10c75d6e46a1a7442fe897b867ff8643d20d [INFO] running `Command { std: "docker" "start" "-a" "77367dd2f96c33132570d612811b10c75d6e46a1a7442fe897b867ff8643d20d", 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 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 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: `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) {} [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:377:27 [INFO] [stdout] | [INFO] [stdout] 377 | fn dyn_and_sized_trait(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: &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: &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 `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: 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 `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) {} [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) {} [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: &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: &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] 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 [INFO] [stdout] = note: requested on the command line with `-D non-local-definitions` [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 [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] 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] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `unit19` (bin "unit19") due to 2 previous errors; 15 warnings emitted [INFO] running `Command { std: "docker" "inspect" "77367dd2f96c33132570d612811b10c75d6e46a1a7442fe897b867ff8643d20d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "77367dd2f96c33132570d612811b10c75d6e46a1a7442fe897b867ff8643d20d", kill_on_drop: false }` [INFO] [stdout] 77367dd2f96c33132570d612811b10c75d6e46a1a7442fe897b867ff8643d20d