[INFO] cloning repository https://github.com/hrtowii/ra1n-oxide
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hrtowii/ra1n-oxide" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhrtowii%2Fra1n-oxide", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhrtowii%2Fra1n-oxide'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2763733ed589eb5214d9579efadd526479f4c943
[INFO] checking hrtowii/ra1n-oxide against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhrtowii%2Fra1n-oxide" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hrtowii/ra1n-oxide
[INFO] finished tweaking git repo https://github.com/hrtowii/ra1n-oxide
[INFO] tweaked toml for git repo https://github.com/hrtowii/ra1n-oxide written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hrtowii/ra1n-oxide on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hrtowii/ra1n-oxide 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e51a11e7578a1fb9c79e1c55fa2e4dc953d179c14abbccc5333aaf614ed584ea
[INFO] running `Command { std: "docker" "start" "-a" "e51a11e7578a1fb9c79e1c55fa2e4dc953d179c14abbccc5333aaf614ed584ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e51a11e7578a1fb9c79e1c55fa2e4dc953d179c14abbccc5333aaf614ed584ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e51a11e7578a1fb9c79e1c55fa2e4dc953d179c14abbccc5333aaf614ed584ea", kill_on_drop: false }`
[INFO] [stdout] e51a11e7578a1fb9c79e1c55fa2e4dc953d179c14abbccc5333aaf614ed584ea
[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 -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2d5fbeeb4ed8c142ede738050098a89ad8d6ea9490768b305d61ea6e428ae2db
[INFO] running `Command { std: "docker" "start" "-a" "2d5fbeeb4ed8c142ede738050098a89ad8d6ea9490768b305d61ea6e428ae2db", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.92
[INFO] [stderr]    Compiling proc-macro2 v1.0.79
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling rustix v0.38.32
[INFO] [stderr]    Compiling regex-syntax v0.8.3
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling unicode-width v0.1.11
[INFO] [stderr]    Compiling libloading v0.8.3
[INFO] [stderr]    Compiling either v1.11.0
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling bindgen v0.59.2
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]    Compiling rusb v0.9.3
[INFO] [stderr]    Compiling autotools v0.2.7
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling clang-sys v1.7.0
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling syn v2.0.58
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]    Compiling libusb1-sys v0.6.4
[INFO] [stderr]     Checking getrandom v0.2.14
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]    Compiling regex v1.10.4
[INFO] [stderr]    Compiling env_logger v0.9.3
[INFO] [stderr]    Compiling plist_plus v0.2.2
[INFO] [stderr]    Compiling rusty_libimobiledevice v0.1.7
[INFO] [stderr]     Checking ra1n-oxide v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `libusb_strerror`
[INFO] [stdout]  --> src/main.rs:1:61
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rusb::ffi::{libusb_control_transfer, libusb_error_name, libusb_strerror};
[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 imports: `c_long` and `c_uint`
[INFO] [stdout]  --> src/main.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ffi::{c_long, c_uchar, c_uint, c_ushort, c_void, CStr};
[INFO] [stdout]   |                ^^^^^^           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/main.rs:189:26
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let is_home_button = (cpid == 0x8015
[INFO] [stdout]     |                          ^
[INFO] [stdout] 190 |         || (cpid == 0x8010 && (bdid == 0x08 || bdid == 0x0a || bdid == 0x0c || bdid == 0x0e)));
[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] 189 ~     let is_home_button = cpid == 0x8015
[INFO] [stdout] 190 ~         || (cpid == 0x8010 && (bdid == 0x08 || bdid == 0x0a || bdid == 0x0c || bdid == 0x0e)) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 196 |     if (is_home_button) {
[INFO] [stdout]     |        ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 196 -     if (is_home_button) {
[INFO] [stdout] 196 +     if is_home_button  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 |     if (is_home_button) {
[INFO] [stdout]     |        ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -     if (is_home_button) {
[INFO] [stdout] 208 +     if is_home_button  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/main.rs:540:11
[INFO] [stdout]     |
[INFO] [stdout] 540 |     while (config_hole > 0) {
[INFO] [stdout]     |           ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 540 -     while (config_hole > 0) {
[INFO] [stdout] 540 +     while config_hole > 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libusb_strerror`
[INFO] [stdout]  --> src/main.rs:1:61
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rusb::ffi::{libusb_control_transfer, libusb_error_name, libusb_strerror};
[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 imports: `c_long` and `c_uint`
[INFO] [stdout]  --> src/main.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ffi::{c_long, c_uchar, c_uint, c_ushort, c_void, CStr};
[INFO] [stdout]   |                ^^^^^^           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/main.rs:189:26
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let is_home_button = (cpid == 0x8015
[INFO] [stdout]     |                          ^
[INFO] [stdout] 190 |         || (cpid == 0x8010 && (bdid == 0x08 || bdid == 0x0a || bdid == 0x0c || bdid == 0x0e)));
[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] 189 ~     let is_home_button = cpid == 0x8015
[INFO] [stdout] 190 ~         || (cpid == 0x8010 && (bdid == 0x08 || bdid == 0x0a || bdid == 0x0c || bdid == 0x0e)) ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 196 |     if (is_home_button) {
[INFO] [stdout]     |        ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 196 -     if (is_home_button) {
[INFO] [stdout] 196 +     if is_home_button  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 |     if (is_home_button) {
[INFO] [stdout]     |        ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -     if (is_home_button) {
[INFO] [stdout] 208 +     if is_home_button  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> src/main.rs:540:11
[INFO] [stdout]     |
[INFO] [stdout] 540 |     while (config_hole > 0) {
[INFO] [stdout]     |           ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 540 -     while (config_hole > 0) {
[INFO] [stdout] 540 +     while config_hole > 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut data: *mut c_void =
[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/main.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let mut ret = libusb_control_transfer(
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/main.rs:435:69
[INFO] [stdout]     |
[INFO] [stdout] 435 | fn dfu_check_status(usb_handle: &rusb::DeviceHandle<rusb::Context>, status: u8, state: u8) {
[INFO] [stdout]     |                                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/main.rs:435:81
[INFO] [stdout]     |
[INFO] [stdout] 435 | fn dfu_check_status(usb_handle: &rusb::DeviceHandle<rusb::Context>, status: u8, state: u8) {
[INFO] [stdout]     |                                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/main.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let mut ret = libusb_control_transfer(
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:452:5
[INFO] [stdout]     |
[INFO] [stdout] 452 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `counter` is never read
[INFO] [stdout]    --> src/main.rs:581:9
[INFO] [stdout]     |
[INFO] [stdout] 581 |         counter -=1;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `usb_handle`
[INFO] [stdout]    --> src/main.rs:606:17
[INFO] [stdout]     |
[INFO] [stdout] 606 | fn send_payload(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usb_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_usb_control_request_async` is never used
[INFO] [stdout]    --> src/main.rs:325:10
[INFO] [stdout]     |
[INFO] [stdout] 325 | async fn send_usb_control_request_async(
[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 `send_usb_control_request_async_no_data` is never used
[INFO] [stdout]    --> src/main.rs:362:10
[INFO] [stdout]     |
[INFO] [stdout] 362 | async fn send_usb_control_request_async_no_data(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dfu_check_status` is never used
[INFO] [stdout]    --> src/main.rs:435:4
[INFO] [stdout]     |
[INFO] [stdout] 435 | fn dfu_check_status(usb_handle: &rusb::DeviceHandle<rusb::Context>, status: u8, state: u8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reset_device` is never used
[INFO] [stdout]    --> src/main.rs:450:4
[INFO] [stdout]     |
[INFO] [stdout] 450 | fn reset_device(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checkm8_send_normal_zlp` is never used
[INFO] [stdout]    --> src/main.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn checkm8_send_normal_zlp(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `checkm8_stall` is never used
[INFO] [stdout]    --> src/main.rs:501:10
[INFO] [stdout]     |
[INFO] [stdout] 501 | async fn checkm8_stall(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `heap_fengshui` is never used
[INFO] [stdout]    --> src/main.rs:533:10
[INFO] [stdout]     |
[INFO] [stdout] 533 | async fn heap_fengshui(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_abort` is never used
[INFO] [stdout]    --> src/main.rs:549:4
[INFO] [stdout]     |
[INFO] [stdout] 549 | fn send_abort(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trigger_uaf` is never used
[INFO] [stdout]    --> src/main.rs:557:10
[INFO] [stdout]     |
[INFO] [stdout] 557 | async fn trigger_uaf(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut data: *mut c_void =
[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/main.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let mut ret = libusb_control_transfer(
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/main.rs:435:69
[INFO] [stdout]     |
[INFO] [stdout] 435 | fn dfu_check_status(usb_handle: &rusb::DeviceHandle<rusb::Context>, status: u8, state: u8) {
[INFO] [stdout]     |                                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/main.rs:435:81
[INFO] [stdout]     |
[INFO] [stdout] 435 | fn dfu_check_status(usb_handle: &rusb::DeviceHandle<rusb::Context>, status: u8, state: u8) {
[INFO] [stdout]     |                                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/main.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let mut ret = libusb_control_transfer(
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:452:5
[INFO] [stdout]     |
[INFO] [stdout] 452 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Infallible>
[INFO] [stdout]    --> src/main.rs:459:13
[INFO] [stdout]     |
[INFO] [stdout] 459 |             DFU_FILE_SUFFIX_LENGTH.try_into().unwrap(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `counter` is never read
[INFO] [stdout]    --> src/main.rs:581:9
[INFO] [stdout]     |
[INFO] [stdout] 581 |         counter -=1;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `usb_handle`
[INFO] [stdout]    --> src/main.rs:606:17
[INFO] [stdout]     |
[INFO] [stdout] 606 | fn send_payload(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usb_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_usb_control_request_async` is never used
[INFO] [stdout]    --> src/main.rs:325:10
[INFO] [stdout]     |
[INFO] [stdout] 325 | async fn send_usb_control_request_async(
[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 `send_usb_control_request_async_no_data` is never used
[INFO] [stdout]    --> src/main.rs:362:10
[INFO] [stdout]     |
[INFO] [stdout] 362 | async fn send_usb_control_request_async_no_data(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dfu_check_status` is never used
[INFO] [stdout]    --> src/main.rs:435:4
[INFO] [stdout]     |
[INFO] [stdout] 435 | fn dfu_check_status(usb_handle: &rusb::DeviceHandle<rusb::Context>, status: u8, state: u8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reset_device` is never used
[INFO] [stdout]    --> src/main.rs:450:4
[INFO] [stdout]     |
[INFO] [stdout] 450 | fn reset_device(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ra1n-oxide` (bin "ra1n-oxide") due to 1 previous error; 23 warnings emitted
[INFO] [stdout] warning: function `checkm8_send_normal_zlp` is never used
[INFO] [stdout]    --> src/main.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn checkm8_send_normal_zlp(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `checkm8_stall` is never used
[INFO] [stdout]    --> src/main.rs:501:10
[INFO] [stdout]     |
[INFO] [stdout] 501 | async fn checkm8_stall(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `heap_fengshui` is never used
[INFO] [stdout]    --> src/main.rs:533:10
[INFO] [stdout]     |
[INFO] [stdout] 533 | async fn heap_fengshui(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_abort` is never used
[INFO] [stdout]    --> src/main.rs:549:4
[INFO] [stdout]     |
[INFO] [stdout] 549 | fn send_abort(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trigger_uaf` is never used
[INFO] [stdout]    --> src/main.rs:557:10
[INFO] [stdout]     |
[INFO] [stdout] 557 | async fn trigger_uaf(usb_handle: &rusb::DeviceHandle<rusb::Context>) {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Infallible>
[INFO] [stdout]    --> src/main.rs:459:13
[INFO] [stdout]     |
[INFO] [stdout] 459 |             DFU_FILE_SUFFIX_LENGTH.try_into().unwrap(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ra1n-oxide` (bin "ra1n-oxide" test) due to 1 previous error; 23 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "2d5fbeeb4ed8c142ede738050098a89ad8d6ea9490768b305d61ea6e428ae2db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d5fbeeb4ed8c142ede738050098a89ad8d6ea9490768b305d61ea6e428ae2db", kill_on_drop: false }`
[INFO] [stdout] 2d5fbeeb4ed8c142ede738050098a89ad8d6ea9490768b305d61ea6e428ae2db
