[INFO] cloning repository https://github.com/spark404/Stm32Loader
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/spark404/Stm32Loader" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fspark404%2FStm32Loader", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fspark404%2FStm32Loader'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6e2b9558d4cbe3b6e443ddaec9d810f808d8a786
[INFO] checking spark404/Stm32Loader against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fspark404%2FStm32Loader" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/spark404/Stm32Loader
[INFO] finished tweaking git repo https://github.com/spark404/Stm32Loader
[INFO] tweaked toml for git repo https://github.com/spark404/Stm32Loader written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/spark404/Stm32Loader on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/spark404/Stm32Loader 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: binary `Stm32Loader` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /workspace/builds/worker-4-tc1/source/target/.../Stm32Loader
[INFO] [stderr]    |                                                  ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `stm32-loader`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 - name = "Stm32Loader"
[INFO] [stderr] 12 + name = "stm32-loader"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `stm32-loader`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:13:19
[INFO] [stderr]    |
[INFO] [stderr] 13 ~ version = "0.1.0"
[INFO] [stderr] 14 + [[bin]]
[INFO] [stderr] 15 + name = "stm32-loader"
[INFO] [stderr] 16 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `Stm32Loader` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ihex v3.0.0
[INFO] [stderr]   Downloaded clap v4.5.9
[INFO] [stderr]   Downloaded serialport v4.3.0
[INFO] [stderr]   Downloaded unescaper v0.1.4
[INFO] [stderr]   Downloaded clap_derive v4.5.8
[INFO] [stderr]   Downloaded spidev v0.6.0
[INFO] [stderr]   Downloaded clap_builder v4.5.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 27f11262ef273eace0d2df5f0fa1504ac257bad0836aecdf05ecf3aac9157ea6
[INFO] running `Command { std: "docker" "start" "27f11262ef273eace0d2df5f0fa1504ac257bad0836aecdf05ecf3aac9157ea6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "27f11262ef273eace0d2df5f0fa1504ac257bad0836aecdf05ecf3aac9157ea6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "27f11262ef273eace0d2df5f0fa1504ac257bad0836aecdf05ecf3aac9157ea6" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "27f11262ef273eace0d2df5f0fa1504ac257bad0836aecdf05ecf3aac9157ea6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "27f11262ef273eace0d2df5f0fa1504ac257bad0836aecdf05ecf3aac9157ea6" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: binary `Stm32Loader` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /opt/rustwide/target/.../Stm32Loader
[INFO] [stderr]    |                          ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `stm32-loader`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 - name = "Stm32Loader"
[INFO] [stderr] 12 + name = "stm32-loader"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `stm32-loader`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:13:19
[INFO] [stderr]    |
[INFO] [stderr] 13 ~ version = "0.1.0"
[INFO] [stderr] 14 + [[bin]]
[INFO] [stderr] 15 + name = "stm32-loader"
[INFO] [stderr] 16 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `Stm32Loader` (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.84
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]     Checking anstyle-query v1.0.3
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]     Checking ihex v3.0.0
[INFO] [stderr]     Checking anstyle-parse v0.2.4
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stderr]     Checking clap_builder v4.5.9
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking libudev v0.3.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling clap_derive v4.5.8
[INFO] [stderr]     Checking thiserror v1.0.61
[INFO] [stderr]     Checking unescaper v0.1.4
[INFO] [stderr]     Checking spidev v0.6.0
[INFO] [stderr]     Checking serialport v4.3.0
[INFO] [stderr]     Checking clap v4.5.9
[INFO] [stderr]     Checking Stm32Loader v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::dfuloader::DfuLoaderError::ProtocolError`
[INFO] [stdout]  --> src/dfuloader.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::dfuloader::DfuLoaderError::ProtocolError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ihex::checksum`
[INFO] [stdout]   --> src/serial.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ihex::checksum;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/serial.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 |         if (response.len() != 3) {
[INFO] [stdout]     |            ^                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -         if (response.len() != 3) {
[INFO] [stdout] 127 +         if response.len() != 3 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dfuloader::Functions`
[INFO] [stdout]  --> src/spi.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::dfuloader::Functions;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dfuloader::DfuLoaderError::ProtocolError`
[INFO] [stdout]  --> src/dfuloader.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::dfuloader::DfuLoaderError::ProtocolError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ihex::checksum`
[INFO] [stdout]   --> src/serial.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ihex::checksum;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/serial.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 |         if (response.len() != 3) {
[INFO] [stdout]     |            ^                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -         if (response.len() != 3) {
[INFO] [stdout] 127 +         if response.len() != 3 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dfuloader::Functions`
[INFO] [stdout]  --> src/spi.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::dfuloader::Functions;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/serial.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut length = [size -1 , 0xFF ^ (size-1)];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/serial.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut length = [size -1 , 0xFF ^ (size-1)];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `go`
[INFO] [stdout]    --> src/main.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             go,
[INFO] [stdout]     |             ^^ help: try ignoring the field: `go: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/dfuloader.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |     Unknown(u8),
[INFO] [stdout]    |     ------- ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Functions` 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] 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] 41 -     Unknown(u8),
[INFO] [stdout] 41 +     Unknown(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `options` is never read
[INFO] [stdout]   --> src/dfuloader.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct BootloaderOptions {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 62 |     pub version: u8,
[INFO] [stdout] 63 |     pub options: u16
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BootloaderOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_unprotect` is never used
[INFO] [stdout]    --> src/spi.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl SpiConnection {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn write_unprotect(&mut self) -> Result<(), DfuLoaderError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `go`
[INFO] [stdout]    --> src/main.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             go,
[INFO] [stdout]     |             ^^ help: try ignoring the field: `go: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/dfuloader.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |     Unknown(u8),
[INFO] [stdout]    |     ------- ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Functions` 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] 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] 41 -     Unknown(u8),
[INFO] [stdout] 41 +     Unknown(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `options` is never read
[INFO] [stdout]   --> src/dfuloader.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct BootloaderOptions {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 62 |     pub version: u8,
[INFO] [stdout] 63 |     pub options: u16
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BootloaderOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_unprotect` is never used
[INFO] [stdout]    --> src/spi.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl SpiConnection {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn write_unprotect(&mut self) -> Result<(), DfuLoaderError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.37s
[INFO] running `Command { std: "docker" "inspect" "27f11262ef273eace0d2df5f0fa1504ac257bad0836aecdf05ecf3aac9157ea6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "27f11262ef273eace0d2df5f0fa1504ac257bad0836aecdf05ecf3aac9157ea6", kill_on_drop: false }`
[INFO] [stdout] 27f11262ef273eace0d2df5f0fa1504ac257bad0836aecdf05ecf3aac9157ea6
