[INFO] cloning repository https://github.com/sahild91/MSP_Dap
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sahild91/MSP_Dap" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsahild91%2FMSP_Dap", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsahild91%2FMSP_Dap'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8792a09ac538913dcee24f7f6fd1d5f743f17298
[INFO] testing sahild91/MSP_Dap against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsahild91%2FMSP_Dap" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sahild91/MSP_Dap
[INFO] finished tweaking git repo https://github.com/sahild91/MSP_Dap
[INFO] tweaked toml for git repo https://github.com/sahild91/MSP_Dap written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sahild91/MSP_Dap on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sahild91/MSP_Dap 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unescaper v0.1.6
[INFO] [stderr]   Downloaded derive_arbitrary v1.4.1
[INFO] [stderr]   Downloaded libudev v0.3.0
[INFO] [stderr]   Downloaded engineioxide-core v0.2.0
[INFO] [stderr]   Downloaded ihex v3.0.0
[INFO] [stderr]   Downloaded scroll_derive v0.13.0
[INFO] [stderr]   Downloaded socketioxide-core v0.17.0
[INFO] [stderr]   Downloaded socketioxide-parser-common v0.17.0
[INFO] [stderr]   Downloaded scroll v0.13.0
[INFO] [stderr]   Downloaded rusb v0.9.4
[INFO] [stderr]   Downloaded serialport v4.7.2
[INFO] [stderr]   Downloaded socketioxide v0.17.2
[INFO] [stderr]   Downloaded engineioxide v0.17.0
[INFO] [stderr]   Downloaded goblin v0.10.0
[INFO] [stderr]   Downloaded libusb1-sys v0.7.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fe3d6995f9e52f46c690e7d26769c73669a330b56bedf3acec0ffd0d8ad360be
[INFO] running `Command { std: "docker" "start" "-a" "fe3d6995f9e52f46c690e7d26769c73669a330b56bedf3acec0ffd0d8ad360be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fe3d6995f9e52f46c690e7d26769c73669a330b56bedf3acec0ffd0d8ad360be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe3d6995f9e52f46c690e7d26769c73669a330b56bedf3acec0ffd0d8ad360be", kill_on_drop: false }`
[INFO] [stdout] fe3d6995f9e52f46c690e7d26769c73669a330b56bedf3acec0ffd0d8ad360be
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f0c595eb7e8767a4edd43316602728da72c08fc80ba46c953ba04bf6d50aed5c
[INFO] running `Command { std: "docker" "start" "-a" "f0c595eb7e8767a4edd43316602728da72c08fc80ba46c953ba04bf6d50aed5c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling slab v0.4.10
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling cc v1.2.27
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling rusb v0.9.4
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling plain v0.2.3
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling clap_builder v4.5.40
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling ihex v3.0.0
[INFO] [stderr]    Compiling crc v3.3.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.103
[INFO] [stderr]    Compiling libusb1-sys v0.7.0
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling libudev v0.3.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling scroll_derive v0.13.0
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling scroll v0.13.0
[INFO] [stderr]    Compiling goblin v0.10.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling unescaper v0.1.6
[INFO] [stderr]    Compiling serialport v4.7.2
[INFO] [stderr]    Compiling clap v4.5.40
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.17
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling engineioxide-core v0.2.0
[INFO] [stderr]    Compiling socketioxide-core v0.17.0
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling socketioxide-parser-common v0.17.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling tungstenite v0.26.2
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling axum-core v0.5.2
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.26.2
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling hyper-util v0.1.15
[INFO] [stderr]    Compiling engineioxide v0.17.0
[INFO] [stderr]    Compiling axum v0.8.4
[INFO] [stderr]    Compiling socketioxide v0.17.2
[INFO] [stderr]    Compiling msp_dap_link_via_serial v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]  --> src/models.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tracing::info;
[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: `axum::http::version`
[INFO] [stdout]  --> src/msp_target.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use axum::http::version;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `goblin::archive::MAGIC`
[INFO] [stdout]  --> src/msp_target.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use goblin::archive::MAGIC;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `bit`
[INFO] [stdout]     --> src/msp_target.rs:1042:14
[INFO] [stdout]      |
[INFO] [stdout] 1042 | macro_rules! bit {
[INFO] [stdout]      |              ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `*` and `Crc`
[INFO] [stdout]  --> src/protocol.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crc::{Crc, *};
[INFO] [stdout]   |           ^^^  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> src/protocol.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SocketIo`
[INFO] [stdout]  --> src/socketio.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     SocketIo,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/main.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::time::{ Duration, Instant };
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/main.rs:15:38
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{ error as einfo, info, warn };
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/msp_target.rs:940:9
[INFO] [stdout]     |
[INFO] [stdout] 940 |     let mut mspm0_finf = MSPM0_FAMILIES;
[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 `minfo_idx` is assigned to, but never used
[INFO] [stdout]    --> src/msp_target.rs:941:9
[INFO] [stdout]     |
[INFO] [stdout] 941 |     let mut minfo_idx = 0xff;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_minfo_idx` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `minfo_idx` is never read
[INFO] [stdout]    --> src/msp_target.rs:947:13
[INFO] [stdout]     |
[INFO] [stdout] 947 |             minfo_idx = fidx;
[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: `sysctl_sec_status`
[INFO] [stdout]     --> src/msp_target.rs:1067:9
[INFO] [stdout]      |
[INFO] [stdout] 1067 |     let mut sysctl_sec_status: u32;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sysctl_sec_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exec_upper_bank`
[INFO] [stdout]     --> src/msp_target.rs:1068:9
[INFO] [stdout]      |
[INFO] [stdout] 1068 |     let exec_upper_bank: u32;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exec_upper_bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/msp_target.rs:1158:9
[INFO] [stdout]      |
[INFO] [stdout] 1158 |     let mut start_ms: i64;
[INFO] [stdout]      |         ----^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/msp_target.rs:1514:9
[INFO] [stdout]      |
[INFO] [stdout] 1514 |     let mut padding: Vec<i32> = Vec::new();
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padding`
[INFO] [stdout]     --> src/msp_target.rs:1514:9
[INFO] [stdout]      |
[INFO] [stdout] 1514 |     let mut padding: Vec<i32> = Vec::new();
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padding`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minimal_write_gap`
[INFO] [stdout]     --> src/msp_target.rs:1554:13
[INFO] [stdout]      |
[INFO] [stdout] 1554 |         let minimal_write_gap: u32 = 0xffffffff;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minimal_write_gap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `diff`
[INFO] [stdout]     --> src/msp_target.rs:1627:17
[INFO] [stdout]      |
[INFO] [stdout] 1627 |             let diff = (section as isize) - 0; // sections is just an index, not a pointer difference
[INFO] [stdout]      |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_diff`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `section_last` is never read
[INFO] [stdout]     --> src/msp_target.rs:1538:37
[INFO] [stdout]      |
[INFO] [stdout] 1538 |         let mut section_last: u32 = 0;
[INFO] [stdout]      |                                     ^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pad_bytes` is never read
[INFO] [stdout]     --> src/msp_target.rs:1541:34
[INFO] [stdout]      |
[INFO] [stdout] 1541 |         let mut pad_bytes: i32 = 0;
[INFO] [stdout]      |                                  ^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `size_read` is never read
[INFO] [stdout]     --> src/msp_target.rs:1622:40
[INFO] [stdout]      |
[INFO] [stdout] 1622 |             let mut size_read: usize = 0;
[INFO] [stdout]      |                                        ^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ack`
[INFO] [stdout]    --> src/socketio.rs:165:51
[INFO] [stdout]     |
[INFO] [stdout] 165 |     socket.on("write-word", |Data::<Value>(data), ack: AckSender| {
[INFO] [stdout]     |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ack`
[INFO] [stdout]   --> src/socketio.rs:76:48
[INFO] [stdout]    |
[INFO] [stdout] 76 |     socket.on("connect", |Data::<Value>(data), ack: AckSender| {
[INFO] [stdout]    |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_ack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/socketio.rs:76:41
[INFO] [stdout]    |
[INFO] [stdout] 76 |     socket.on("connect", |Data::<Value>(data), ack: AckSender| {
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `image_reader::ImageType` is more private than the item `image_reader::Image::image_type`
[INFO] [stdout]   --> src/image_reader.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub image_type: ImageType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ field `image_reader::Image::image_type` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `image_reader::ImageType` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/image_reader.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | enum ImageType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_MAX_ERROR_STRING` is never used
[INFO] [stdout]  --> src/image_reader.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const IMAGE_MAX_ERROR_STRING: usize = 256;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_MAX_SECTIONS` is never used
[INFO] [stdout]  --> src/image_reader.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const IMAGE_MAX_SECTIONS: usize = 512;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_MEMORY_CACHE_SIZE` is never used
[INFO] [stdout]  --> src/image_reader.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const IMAGE_MEMORY_CACHE_SIZE: usize = 2048;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImageType` is never used
[INFO] [stdout]  --> src/image_reader.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | enum ImageType {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageSection` is never constructed
[INFO] [stdout]   --> src/image_reader.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ImageSection {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MemoryMap` is never used
[INFO] [stdout]   --> src/image_reader.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | type MemoryMap = HashMap<u32, Vec<u8>>;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Image` is never constructed
[INFO] [stdout]   --> src/image_reader.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Image {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identify_image_type` is never used
[INFO] [stdout]   --> src/image_reader.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn identify_image_type(type_string: &str) -> ImageType {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_intel_hex` is never used
[INFO] [stdout]   --> src/image_reader.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn read_intel_hex(filename: &str) -> Result<Image, String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `image_open` is never used
[INFO] [stdout]    --> src/image_reader.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub fn image_open(filename: &str, type_string: &str) -> Result<Image, String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_image` is never used
[INFO] [stdout]    --> src/image_reader.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn open_image(filename: &str, type_string: &str) -> Result<Image, String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_image_sections` is never used
[INFO] [stdout]    --> src/image_reader.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub fn get_image_sections(image: &Image) -> &[ImageSection] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_start_address` is never used
[INFO] [stdout]    --> src/image_reader.rs:212:8
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub fn get_start_address(image: &Image) -> Option<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_base_address` is never used
[INFO] [stdout]    --> src/image_reader.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub fn get_base_address(image: &Image) -> Option<i64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_device_connected` is never used
[INFO] [stdout]   --> src/loader.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn is_device_connected(pid: u16) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `close`, `reconnect`, `single_step`, `software_crc`, and `check_crc` are never used
[INFO] [stdout]    --> src/loader.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl SerialLoader {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn close(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn reconnect(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn single_step(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 933 |     fn software_crc(data: &[u8], length: usize) -> [u8; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 955 |     pub fn check_crc(frame: &[u8]) -> Result<bool, String> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLASH_WRITE_ALIGN_SECTOR` is never used
[INFO] [stdout]  --> src/models.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const FLASH_WRITE_ALIGN_SECTOR: u32 = u32::MAX;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CortexMImplPart` is never used
[INFO] [stdout]    --> src/models.rs:252:10
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub enum CortexMImplPart {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ArmArch` is never used
[INFO] [stdout]    --> src/models.rs:273:10
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub enum ArmArch {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CortexMPartInfo` is never constructed
[INFO] [stdout]    --> src/models.rs:281:12
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub struct CortexMPartInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommandResponse` is never constructed
[INFO] [stdout]    --> src/models.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub struct CommandResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLASH_BASE_NONMAIN` is never used
[INFO] [stdout]  --> src/models.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub const FLASH_BASE_NONMAIN: u32 = 0x41c00000;
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLASH_END_NONMAIN` is never used
[INFO] [stdout]  --> src/models.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const FLASH_END_NONMAIN: u32 = 0x41c00400;
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLASH_BASE_DATA` is never used
[INFO] [stdout]   --> src/models.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const FLASH_BASE_DATA: u32 = 0x41d00000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_CMDWEPROTNM` is never used
[INFO] [stdout]   --> src/models.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub const REG_CMDWEPROTNM: u32 = FLASH_CONTROL_BASE + 0x1210;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SYSCTL_BASE` is never used
[INFO] [stdout]   --> src/models.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub const SYSCTL_BASE: u32 = 0x400af000;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECCFG_SECSTATUS` is never used
[INFO] [stdout]   --> src/models.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub const SECCFG_SECSTATUS: u32 = SYSCTL_BASE + 0x00003048;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ERR_STRING_MAX` is never used
[INFO] [stdout]   --> src/models.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub const ERR_STRING_MAX: u32 = 255;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMON_MAGIC` is never used
[INFO] [stdout]   --> src/models.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub const COMMON_MAGIC: u32 = 0x1a451a45;
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SYSTEM_CONTROL_BASE` is never used
[INFO] [stdout]   --> src/models.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub const SYSTEM_CONTROL_BASE: u32 = 0x400fe000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_TER0` is never used
[INFO] [stdout]    --> src/models.rs:101:15
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub const ITM_TER0: u32 = 0xe0000e00;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_TPR` is never used
[INFO] [stdout]    --> src/models.rs:102:15
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub const ITM_TPR: u32 = 0xe0000e40;
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_TCR` is never used
[INFO] [stdout]    --> src/models.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub const ITM_TCR: u32 = 0xe0000e80;
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_TCR_ITMENA_BIT` is never used
[INFO] [stdout]    --> src/models.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub const ITM_TCR_ITMENA_BIT: u32 = 1 << 0;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_TCR_BUSY_BIT` is never used
[INFO] [stdout]    --> src/models.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub const ITM_TCR_BUSY_BIT: u32 = 1 << 23;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_LAR` is never used
[INFO] [stdout]    --> src/models.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub const ITM_LAR: u32 = 0xe0000fb0;
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_LAR_KEY` is never used
[INFO] [stdout]    --> src/models.rs:107:15
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub const ITM_LAR_KEY: u32 = 0xc5acce55;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CPUID` is never used
[INFO] [stdout]    --> src/models.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub const CPUID: u32 = 0xe000ed00;
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_CPUID_IMPLEMENTER_POS` is never used
[INFO] [stdout]    --> src/models.rs:111:15
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub const ARM_CPUID_IMPLEMENTER_POS: u32 = 24;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_CPUID_IMPLEMENTER_MASK` is never used
[INFO] [stdout]    --> src/models.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub const ARM_CPUID_IMPLEMENTER_MASK: u32 = 0xff << ARM_CPUID_IMPLEMENTER_POS;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_CPUID_PARTNO_POS` is never used
[INFO] [stdout]    --> src/models.rs:113:15
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub const ARM_CPUID_PARTNO_POS: u32 = 4;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_CPUID_PARTNO_MASK` is never used
[INFO] [stdout]    --> src/models.rs:114:15
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub const ARM_CPUID_PARTNO_MASK: u32 = 0xfff << ARM_CPUID_PARTNO_POS;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_IMPLEMENTER_ARM` is never used
[INFO] [stdout]    --> src/models.rs:117:15
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub const ARM_IMPLEMENTER_ARM: u32 = 0x41;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_IMPLEMENTER_ARM_CHINA` is never used
[INFO] [stdout]    --> src/models.rs:118:15
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub const ARM_IMPLEMENTER_ARM_CHINA: u32 = 0x48;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_IMPLEMENTER_INFINEON` is never used
[INFO] [stdout]    --> src/models.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub const ARM_IMPLEMENTER_INFINEON: u32 = 0x49;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_IMPLEMENTER_REALTEK` is never used
[INFO] [stdout]    --> src/models.rs:120:15
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub const ARM_IMPLEMENTER_REALTEK: u32 = 0x56;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CORTEX_M_F_HAS_FPV4` is never used
[INFO] [stdout]    --> src/models.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub const CORTEX_M_F_HAS_FPV4: u32 = 1 << 0;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CORTEX_M_F_HAS_FPV5` is never used
[INFO] [stdout]    --> src/models.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub const CORTEX_M_F_HAS_FPV5: u32 = 1 << 1;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CORTEX_M_F_TAR_AUTOINCR_BLOCK_4K` is never used
[INFO] [stdout]    --> src/models.rs:125:15
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub const CORTEX_M_F_TAR_AUTOINCR_BLOCK_4K: u32 = 1 << 2;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DCB_DEMCR` is never used
[INFO] [stdout]    --> src/models.rs:131:15
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub const DCB_DEMCR: u32 = 0xe000edfc;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DCB_DSCSR` is never used
[INFO] [stdout]    --> src/models.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub const DCB_DSCSR: u32 = 0xe000ee08;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DAUTHSTATUS` is never used
[INFO] [stdout]    --> src/models.rs:134:15
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub const DAUTHSTATUS: u32 = 0xe000efb8;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DAUTHSTATUS_SID_MASK` is never used
[INFO] [stdout]    --> src/models.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub const DAUTHSTATUS_SID_MASK: u32 = 0x00000030;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_CTRL` is never used
[INFO] [stdout]    --> src/models.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub const DWT_CTRL: u32 = 0xe0001000;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_CYCCNT` is never used
[INFO] [stdout]    --> src/models.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub const DWT_CYCCNT: u32 = 0xe0001004;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_PCSR` is never used
[INFO] [stdout]    --> src/models.rs:142:15
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub const DWT_PCSR: u32 = 0xe000101c;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_COMP0` is never used
[INFO] [stdout]    --> src/models.rs:143:15
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub const DWT_COMP0: u32 = 0xe0001020;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_MASK0` is never used
[INFO] [stdout]    --> src/models.rs:144:15
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub const DWT_MASK0: u32 = 0xe0001024;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_FUNCTION0` is never used
[INFO] [stdout]    --> src/models.rs:145:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub const DWT_FUNCTION0: u32 = 0xe0001028;
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_DEVARCH` is never used
[INFO] [stdout]    --> src/models.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub const DWT_DEVARCH: u32 = 0xe0001fbc;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_DEVARCH_ARMV8M_V2_0` is never used
[INFO] [stdout]    --> src/models.rs:148:15
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub const DWT_DEVARCH_ARMV8M_V2_0: u32 = 0x101a02;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_DEVARCH_ARMV8M_V2_1` is never used
[INFO] [stdout]    --> src/models.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub const DWT_DEVARCH_ARMV8M_V2_1: u32 = 0x111a02;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FP_REMAP` is never used
[INFO] [stdout]    --> src/models.rs:153:15
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub const FP_REMAP: u32 = 0xe0002004;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPU_CPACR` is never used
[INFO] [stdout]    --> src/models.rs:164:15
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub const FPU_CPACR: u32 = 0xe000ed88;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPU_FPCCR` is never used
[INFO] [stdout]    --> src/models.rs:165:15
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub const FPU_FPCCR: u32 = 0xe000ef34;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPU_FPCAR` is never used
[INFO] [stdout]    --> src/models.rs:166:15
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub const FPU_FPCAR: u32 = 0xe000ef38;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPU_FPDSCR` is never used
[INFO] [stdout]    --> src/models.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub const FPU_FPDSCR: u32 = 0xe000ef3c;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_SSPSR` is never used
[INFO] [stdout]    --> src/models.rs:170:15
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub const TPIU_SSPSR: u32 = 0xe0040000;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_CSPSR` is never used
[INFO] [stdout]    --> src/models.rs:171:15
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub const TPIU_CSPSR: u32 = 0xe0040004;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_ACPR` is never used
[INFO] [stdout]    --> src/models.rs:172:15
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub const TPIU_ACPR: u32 = 0xe0040010;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_SPPR` is never used
[INFO] [stdout]    --> src/models.rs:173:15
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub const TPIU_SPPR: u32 = 0xe00400f0;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_FFSR` is never used
[INFO] [stdout]    --> src/models.rs:174:15
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub const TPIU_FFSR: u32 = 0xe0040300;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_FFCR` is never used
[INFO] [stdout]    --> src/models.rs:175:15
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub const TPIU_FFCR: u32 = 0xe0040304;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_FSCR` is never used
[INFO] [stdout]    --> src/models.rs:176:15
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub const TPIU_FSCR: u32 = 0xe0040308;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_ACPR_MAX_SWOSCALER` is never used
[INFO] [stdout]    --> src/models.rs:178:15
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub const TPIU_ACPR_MAX_SWOSCALER: u32 = 0x1fff;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S_REGRDY` is never used
[INFO] [stdout]    --> src/models.rs:186:15
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub const S_REGRDY: u32 = 1 << 16;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S_SLEEP` is never used
[INFO] [stdout]    --> src/models.rs:188:15
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub const S_SLEEP: u32 = 1 << 18;
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S_LOCKUP` is never used
[INFO] [stdout]    --> src/models.rs:189:15
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub const S_LOCKUP: u32 = 1 << 19;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S_RETIRE_ST` is never used
[INFO] [stdout]    --> src/models.rs:190:15
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub const S_RETIRE_ST: u32 = 1 << 24;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S_RESET_ST` is never used
[INFO] [stdout]    --> src/models.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub const S_RESET_ST: u32 = 1 << 25;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRCENA` is never used
[INFO] [stdout]    --> src/models.rs:194:15
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub const TRCENA: u32 = 1 << 24;
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_HARDERR` is never used
[INFO] [stdout]    --> src/models.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub const VC_HARDERR: u32 = 1 << 10;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_INTERR` is never used
[INFO] [stdout]    --> src/models.rs:196:15
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub const VC_INTERR: u32 = 1 << 9;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_BUSERR` is never used
[INFO] [stdout]    --> src/models.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub const VC_BUSERR: u32 = 1 << 8;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_STATERR` is never used
[INFO] [stdout]    --> src/models.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub const VC_STATERR: u32 = 1 << 7;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_CHKERR` is never used
[INFO] [stdout]    --> src/models.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub const VC_CHKERR: u32 = 1 << 6;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_NOCPERR` is never used
[INFO] [stdout]    --> src/models.rs:200:15
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub const VC_NOCPERR: u32 = 1 << 5;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_MMERR` is never used
[INFO] [stdout]    --> src/models.rs:201:15
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub const VC_MMERR: u32 = 1 << 4;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_CORERESET` is never used
[INFO] [stdout]    --> src/models.rs:202:15
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub const VC_CORERESET: u32 = 1 << 0;
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DSCSR_CDSKEY` is never used
[INFO] [stdout]    --> src/models.rs:205:15
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub const DSCSR_CDSKEY: u32 = 1 << 17;
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DSCSR_CDS` is never used
[INFO] [stdout]    --> src/models.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub const DSCSR_CDS: u32 = 1 << 16;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_ICTR` is never used
[INFO] [stdout]    --> src/models.rs:209:15
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub const NVIC_ICTR: u32 = 0xe000e004;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_ISE0` is never used
[INFO] [stdout]    --> src/models.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub const NVIC_ISE0: u32 = 0xe000e100;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_ICSR` is never used
[INFO] [stdout]    --> src/models.rs:211:15
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub const NVIC_ICSR: u32 = 0xe000ed04;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_AIRCR` is never used
[INFO] [stdout]    --> src/models.rs:212:15
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub const NVIC_AIRCR: u32 = 0xe000ed0c;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_SHCSR` is never used
[INFO] [stdout]    --> src/models.rs:213:15
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub const NVIC_SHCSR: u32 = 0xe000ed24;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_CFSR` is never used
[INFO] [stdout]    --> src/models.rs:214:15
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub const NVIC_CFSR: u32 = 0xe000ed28;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_MMFSRB` is never used
[INFO] [stdout]    --> src/models.rs:215:15
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub const NVIC_MMFSRB: u32 = 0xe000ed28;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_BFSRB` is never used
[INFO] [stdout]    --> src/models.rs:216:15
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub const NVIC_BFSRB: u32 = 0xe000ed29;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_USFSRH` is never used
[INFO] [stdout]    --> src/models.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub const NVIC_USFSRH: u32 = 0xe000ed2a;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_HFSR` is never used
[INFO] [stdout]    --> src/models.rs:218:15
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub const NVIC_HFSR: u32 = 0xe000ed2c;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_MMFAR` is never used
[INFO] [stdout]    --> src/models.rs:220:15
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub const NVIC_MMFAR: u32 = 0xe000ed34;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_BFAR` is never used
[INFO] [stdout]    --> src/models.rs:221:15
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub const NVIC_BFAR: u32 = 0xe000ed38;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_SFSR` is never used
[INFO] [stdout]    --> src/models.rs:222:15
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub const NVIC_SFSR: u32 = 0xe000ede4;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_SFAR` is never used
[INFO] [stdout]    --> src/models.rs:223:15
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub const NVIC_SFAR: u32 = 0xe000ede8;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIRCR_VECTKEY` is never used
[INFO] [stdout]    --> src/models.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |     pub const AIRCR_VECTKEY: u32 = 0x5fa << 16;
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIRCR_SYSRESETREQ` is never used
[INFO] [stdout]    --> src/models.rs:227:15
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub const AIRCR_SYSRESETREQ: u32 = 1 << 2;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIRCR_VECTCLRACTIVE` is never used
[INFO] [stdout]    --> src/models.rs:228:15
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub const AIRCR_VECTCLRACTIVE: u32 = 1 << 1;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIRCR_VECTRESET` is never used
[INFO] [stdout]    --> src/models.rs:229:15
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub const AIRCR_VECTRESET: u32 = 1 << 0;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHCSR_BUSFAULTENA` is never used
[INFO] [stdout]    --> src/models.rs:232:15
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub const SHCSR_BUSFAULTENA: u32 = 1 << 17;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPCR_CODE` is never used
[INFO] [stdout]    --> src/models.rs:242:15
[INFO] [stdout]     |
[INFO] [stdout] 242 |     pub const FPCR_CODE: u32 = 0;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPCR_LITERAL` is never used
[INFO] [stdout]    --> src/models.rs:243:15
[INFO] [stdout]     |
[INFO] [stdout] 243 |     pub const FPCR_LITERAL: u32 = 1;
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPCR_REPLACE_REMAP` is never used
[INFO] [stdout]    --> src/models.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 |     pub const FPCR_REPLACE_REMAP: u32 = 0 << 30;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPCR_REPLACE_BKPT_BOTH` is never used
[INFO] [stdout]    --> src/models.rs:247:15
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub const FPCR_REPLACE_BKPT_BOTH: u32 = 3 << 30;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `part_count` is never read
[INFO] [stdout]   --> src/msp_target.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Mspm0FamilyInfo {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub part_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mspm0FamilyInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MSPM0_FCTL_FAIL_DECODE_STRINGS` is never used
[INFO] [stdout]    --> src/msp_target.rs:890:8
[INFO] [stdout]     |
[INFO] [stdout] 890 | static MSPM0_FCTL_FAIL_DECODE_STRINGS: &[(u8, &str)] = &[
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mspm0_address_check` is never used
[INFO] [stdout]    --> src/msp_target.rs:903:8
[INFO] [stdout]     |
[INFO] [stdout] 903 | pub fn mspm0_address_check() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Halt` and `Resume` are never constructed
[INFO] [stdout]  --> src/protocol.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum SWDCommand {
[INFO] [stdout]   |          ---------- variants in this enum
[INFO] [stdout] 6 |     Halt,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     Resume,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect_to_device` is never used
[INFO] [stdout]   --> src/serial.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn connect_to_device() -> Result<Box<dyn SerialPort>, Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_to_device` is never used
[INFO] [stdout]   --> src/serial.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn write_to_device(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_from_device` is never used
[INFO] [stdout]   --> src/serial.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn read_from_device(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_and_read` is never used
[INFO] [stdout]    --> src/serial.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn write_and_read(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_device_connected` is never used
[INFO] [stdout]    --> src/serial.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn is_device_connected(target_pid: u16) -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_target_device_connected` is never used
[INFO] [stdout]    --> src/serial.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub fn check_target_device_connected() -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_debug_sequence` is never used
[INFO] [stdout]    --> src/serial.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn send_debug_sequence(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_debug_sequence_and_read` is never used
[INFO] [stdout]    --> src/serial.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub fn send_debug_sequence_and_read(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `on_connect` is never used
[INFO] [stdout]   --> src/socketio.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn on_connect(socket: SocketRef, Data(data): Data<Value>) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_port_connection` is never used
[INFO] [stdout]   --> src/socketio.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn check_port_connection(socket: SocketRef, loader: Arc<Mutex<loader::SerialLoader>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `register_debugger_handlers` is never used
[INFO] [stdout]   --> src/socketio.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn register_debugger_handlers(socket: &SocketRef, loader: Arc<Mutex<loader::SerialLoader>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.49s
[INFO] running `Command { std: "docker" "inspect" "f0c595eb7e8767a4edd43316602728da72c08fc80ba46c953ba04bf6d50aed5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f0c595eb7e8767a4edd43316602728da72c08fc80ba46c953ba04bf6d50aed5c", kill_on_drop: false }`
[INFO] [stdout] f0c595eb7e8767a4edd43316602728da72c08fc80ba46c953ba04bf6d50aed5c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b9c843a83c1ae7393803c4f4110d6fe890aa15c47a01d3d710b6582ad713f070
[INFO] running `Command { std: "docker" "start" "-a" "b9c843a83c1ae7393803c4f4110d6fe890aa15c47a01d3d710b6582ad713f070", kill_on_drop: false }`
[INFO] [stderr]    Compiling msp_dap_link_via_serial v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]  --> src/models.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tracing::info;
[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: `axum::http::version`
[INFO] [stdout]  --> src/msp_target.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use axum::http::version;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `goblin::archive::MAGIC`
[INFO] [stdout]  --> src/msp_target.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use goblin::archive::MAGIC;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `bit`
[INFO] [stdout]     --> src/msp_target.rs:1042:14
[INFO] [stdout]      |
[INFO] [stdout] 1042 | macro_rules! bit {
[INFO] [stdout]      |              ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `*` and `Crc`
[INFO] [stdout]  --> src/protocol.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crc::{Crc, *};
[INFO] [stdout]   |           ^^^  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> src/protocol.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SocketIo`
[INFO] [stdout]  --> src/socketio.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     SocketIo,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/main.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::time::{ Duration, Instant };
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/main.rs:15:38
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{ error as einfo, info, warn };
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/msp_target.rs:940:9
[INFO] [stdout]     |
[INFO] [stdout] 940 |     let mut mspm0_finf = MSPM0_FAMILIES;
[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 `minfo_idx` is assigned to, but never used
[INFO] [stdout]    --> src/msp_target.rs:941:9
[INFO] [stdout]     |
[INFO] [stdout] 941 |     let mut minfo_idx = 0xff;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_minfo_idx` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `minfo_idx` is never read
[INFO] [stdout]    --> src/msp_target.rs:947:13
[INFO] [stdout]     |
[INFO] [stdout] 947 |             minfo_idx = fidx;
[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: `sysctl_sec_status`
[INFO] [stdout]     --> src/msp_target.rs:1067:9
[INFO] [stdout]      |
[INFO] [stdout] 1067 |     let mut sysctl_sec_status: u32;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sysctl_sec_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exec_upper_bank`
[INFO] [stdout]     --> src/msp_target.rs:1068:9
[INFO] [stdout]      |
[INFO] [stdout] 1068 |     let exec_upper_bank: u32;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exec_upper_bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/msp_target.rs:1158:9
[INFO] [stdout]      |
[INFO] [stdout] 1158 |     let mut start_ms: i64;
[INFO] [stdout]      |         ----^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/msp_target.rs:1514:9
[INFO] [stdout]      |
[INFO] [stdout] 1514 |     let mut padding: Vec<i32> = Vec::new();
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padding`
[INFO] [stdout]     --> src/msp_target.rs:1514:9
[INFO] [stdout]      |
[INFO] [stdout] 1514 |     let mut padding: Vec<i32> = Vec::new();
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padding`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `minimal_write_gap`
[INFO] [stdout]     --> src/msp_target.rs:1554:13
[INFO] [stdout]      |
[INFO] [stdout] 1554 |         let minimal_write_gap: u32 = 0xffffffff;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minimal_write_gap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `diff`
[INFO] [stdout]     --> src/msp_target.rs:1627:17
[INFO] [stdout]      |
[INFO] [stdout] 1627 |             let diff = (section as isize) - 0; // sections is just an index, not a pointer difference
[INFO] [stdout]      |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_diff`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `section_last` is never read
[INFO] [stdout]     --> src/msp_target.rs:1538:37
[INFO] [stdout]      |
[INFO] [stdout] 1538 |         let mut section_last: u32 = 0;
[INFO] [stdout]      |                                     ^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pad_bytes` is never read
[INFO] [stdout]     --> src/msp_target.rs:1541:34
[INFO] [stdout]      |
[INFO] [stdout] 1541 |         let mut pad_bytes: i32 = 0;
[INFO] [stdout]      |                                  ^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `size_read` is never read
[INFO] [stdout]     --> src/msp_target.rs:1622:40
[INFO] [stdout]      |
[INFO] [stdout] 1622 |             let mut size_read: usize = 0;
[INFO] [stdout]      |                                        ^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ack`
[INFO] [stdout]    --> src/socketio.rs:165:51
[INFO] [stdout]     |
[INFO] [stdout] 165 |     socket.on("write-word", |Data::<Value>(data), ack: AckSender| {
[INFO] [stdout]     |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ack`
[INFO] [stdout]   --> src/socketio.rs:76:48
[INFO] [stdout]    |
[INFO] [stdout] 76 |     socket.on("connect", |Data::<Value>(data), ack: AckSender| {
[INFO] [stdout]    |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_ack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/socketio.rs:76:41
[INFO] [stdout]    |
[INFO] [stdout] 76 |     socket.on("connect", |Data::<Value>(data), ack: AckSender| {
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `image_reader::ImageType` is more private than the item `image_reader::Image::image_type`
[INFO] [stdout]   --> src/image_reader.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub image_type: ImageType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ field `image_reader::Image::image_type` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `image_reader::ImageType` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/image_reader.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | enum ImageType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_MAX_ERROR_STRING` is never used
[INFO] [stdout]  --> src/image_reader.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const IMAGE_MAX_ERROR_STRING: usize = 256;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_MAX_SECTIONS` is never used
[INFO] [stdout]  --> src/image_reader.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const IMAGE_MAX_SECTIONS: usize = 512;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMAGE_MEMORY_CACHE_SIZE` is never used
[INFO] [stdout]  --> src/image_reader.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const IMAGE_MEMORY_CACHE_SIZE: usize = 2048;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Memory`, `SRecord`, and `Builder` are never constructed
[INFO] [stdout]   --> src/image_reader.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | enum ImageType {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 12 |     Memory,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 13 |     Elf,
[INFO] [stdout] 14 |     SRecord,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 15 |     Builder,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_address`, `flags`, and `data` are never read
[INFO] [stdout]   --> src/image_reader.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ImageSection {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 21 |     pub base_address: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub size: u32,
[INFO] [stdout] 23 |     pub flags: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 24 |     pub data: Vec<u8>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageSection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `MemoryMap` is never used
[INFO] [stdout]   --> src/image_reader.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | type MemoryMap = HashMap<u32, Vec<u8>>;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type_private`, `sections`, `base_address_set`, `base_address`, `start_address_set`, and `start_address` are never read
[INFO] [stdout]   --> src/image_reader.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Image {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 32 |     pub image_type: ImageType,
[INFO] [stdout] 33 |     pub type_private: Option<Box<dyn std::any::Any>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 34 |     pub num_sections: u32,
[INFO] [stdout] 35 |     pub sections: Vec<ImageSection>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 36 |     pub base_address_set: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub base_address: i64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub start_address_set: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     pub start_address: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Image` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_image_sections` is never used
[INFO] [stdout]    --> src/image_reader.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub fn get_image_sections(image: &Image) -> &[ImageSection] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_start_address` is never used
[INFO] [stdout]    --> src/image_reader.rs:212:8
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub fn get_start_address(image: &Image) -> Option<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_base_address` is never used
[INFO] [stdout]    --> src/image_reader.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub fn get_base_address(image: &Image) -> Option<i64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_device_connected` is never used
[INFO] [stdout]   --> src/loader.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn is_device_connected(pid: u16) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `close`, `reconnect`, `single_step`, `software_crc`, and `check_crc` are never used
[INFO] [stdout]    --> src/loader.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl SerialLoader {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn close(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn reconnect(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn single_step(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 933 |     fn software_crc(data: &[u8], length: usize) -> [u8; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 955 |     pub fn check_crc(frame: &[u8]) -> Result<bool, String> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLASH_WRITE_ALIGN_SECTOR` is never used
[INFO] [stdout]  --> src/models.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const FLASH_WRITE_ALIGN_SECTOR: u32 = u32::MAX;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CortexMImplPart` is never used
[INFO] [stdout]    --> src/models.rs:252:10
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub enum CortexMImplPart {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ArmArch` is never used
[INFO] [stdout]    --> src/models.rs:273:10
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub enum ArmArch {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CortexMPartInfo` is never constructed
[INFO] [stdout]    --> src/models.rs:281:12
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub struct CortexMPartInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommandResponse` is never constructed
[INFO] [stdout]    --> src/models.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub struct CommandResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLASH_BASE_NONMAIN` is never used
[INFO] [stdout]  --> src/models.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub const FLASH_BASE_NONMAIN: u32 = 0x41c00000;
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLASH_END_NONMAIN` is never used
[INFO] [stdout]  --> src/models.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const FLASH_END_NONMAIN: u32 = 0x41c00400;
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLASH_BASE_DATA` is never used
[INFO] [stdout]   --> src/models.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const FLASH_BASE_DATA: u32 = 0x41d00000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_CMDWEPROTNM` is never used
[INFO] [stdout]   --> src/models.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub const REG_CMDWEPROTNM: u32 = FLASH_CONTROL_BASE + 0x1210;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SYSCTL_BASE` is never used
[INFO] [stdout]   --> src/models.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub const SYSCTL_BASE: u32 = 0x400af000;
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECCFG_SECSTATUS` is never used
[INFO] [stdout]   --> src/models.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub const SECCFG_SECSTATUS: u32 = SYSCTL_BASE + 0x00003048;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ERR_STRING_MAX` is never used
[INFO] [stdout]   --> src/models.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub const ERR_STRING_MAX: u32 = 255;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMON_MAGIC` is never used
[INFO] [stdout]   --> src/models.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub const COMMON_MAGIC: u32 = 0x1a451a45;
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SYSTEM_CONTROL_BASE` is never used
[INFO] [stdout]   --> src/models.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub const SYSTEM_CONTROL_BASE: u32 = 0x400fe000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_TER0` is never used
[INFO] [stdout]    --> src/models.rs:101:15
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub const ITM_TER0: u32 = 0xe0000e00;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_TPR` is never used
[INFO] [stdout]    --> src/models.rs:102:15
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub const ITM_TPR: u32 = 0xe0000e40;
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_TCR` is never used
[INFO] [stdout]    --> src/models.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub const ITM_TCR: u32 = 0xe0000e80;
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_TCR_ITMENA_BIT` is never used
[INFO] [stdout]    --> src/models.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub const ITM_TCR_ITMENA_BIT: u32 = 1 << 0;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_TCR_BUSY_BIT` is never used
[INFO] [stdout]    --> src/models.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub const ITM_TCR_BUSY_BIT: u32 = 1 << 23;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_LAR` is never used
[INFO] [stdout]    --> src/models.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub const ITM_LAR: u32 = 0xe0000fb0;
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ITM_LAR_KEY` is never used
[INFO] [stdout]    --> src/models.rs:107:15
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub const ITM_LAR_KEY: u32 = 0xc5acce55;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CPUID` is never used
[INFO] [stdout]    --> src/models.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub const CPUID: u32 = 0xe000ed00;
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_CPUID_IMPLEMENTER_POS` is never used
[INFO] [stdout]    --> src/models.rs:111:15
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub const ARM_CPUID_IMPLEMENTER_POS: u32 = 24;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_CPUID_IMPLEMENTER_MASK` is never used
[INFO] [stdout]    --> src/models.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub const ARM_CPUID_IMPLEMENTER_MASK: u32 = 0xff << ARM_CPUID_IMPLEMENTER_POS;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_CPUID_PARTNO_POS` is never used
[INFO] [stdout]    --> src/models.rs:113:15
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub const ARM_CPUID_PARTNO_POS: u32 = 4;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_CPUID_PARTNO_MASK` is never used
[INFO] [stdout]    --> src/models.rs:114:15
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub const ARM_CPUID_PARTNO_MASK: u32 = 0xfff << ARM_CPUID_PARTNO_POS;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_IMPLEMENTER_ARM` is never used
[INFO] [stdout]    --> src/models.rs:117:15
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub const ARM_IMPLEMENTER_ARM: u32 = 0x41;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_IMPLEMENTER_ARM_CHINA` is never used
[INFO] [stdout]    --> src/models.rs:118:15
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub const ARM_IMPLEMENTER_ARM_CHINA: u32 = 0x48;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_IMPLEMENTER_INFINEON` is never used
[INFO] [stdout]    --> src/models.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub const ARM_IMPLEMENTER_INFINEON: u32 = 0x49;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARM_IMPLEMENTER_REALTEK` is never used
[INFO] [stdout]    --> src/models.rs:120:15
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub const ARM_IMPLEMENTER_REALTEK: u32 = 0x56;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CORTEX_M_F_HAS_FPV4` is never used
[INFO] [stdout]    --> src/models.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub const CORTEX_M_F_HAS_FPV4: u32 = 1 << 0;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CORTEX_M_F_HAS_FPV5` is never used
[INFO] [stdout]    --> src/models.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub const CORTEX_M_F_HAS_FPV5: u32 = 1 << 1;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CORTEX_M_F_TAR_AUTOINCR_BLOCK_4K` is never used
[INFO] [stdout]    --> src/models.rs:125:15
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub const CORTEX_M_F_TAR_AUTOINCR_BLOCK_4K: u32 = 1 << 2;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DCB_DEMCR` is never used
[INFO] [stdout]    --> src/models.rs:131:15
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub const DCB_DEMCR: u32 = 0xe000edfc;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DCB_DSCSR` is never used
[INFO] [stdout]    --> src/models.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub const DCB_DSCSR: u32 = 0xe000ee08;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DAUTHSTATUS` is never used
[INFO] [stdout]    --> src/models.rs:134:15
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub const DAUTHSTATUS: u32 = 0xe000efb8;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DAUTHSTATUS_SID_MASK` is never used
[INFO] [stdout]    --> src/models.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub const DAUTHSTATUS_SID_MASK: u32 = 0x00000030;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_CTRL` is never used
[INFO] [stdout]    --> src/models.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub const DWT_CTRL: u32 = 0xe0001000;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_CYCCNT` is never used
[INFO] [stdout]    --> src/models.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub const DWT_CYCCNT: u32 = 0xe0001004;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_PCSR` is never used
[INFO] [stdout]    --> src/models.rs:142:15
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub const DWT_PCSR: u32 = 0xe000101c;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_COMP0` is never used
[INFO] [stdout]    --> src/models.rs:143:15
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub const DWT_COMP0: u32 = 0xe0001020;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_MASK0` is never used
[INFO] [stdout]    --> src/models.rs:144:15
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub const DWT_MASK0: u32 = 0xe0001024;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_FUNCTION0` is never used
[INFO] [stdout]    --> src/models.rs:145:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub const DWT_FUNCTION0: u32 = 0xe0001028;
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_DEVARCH` is never used
[INFO] [stdout]    --> src/models.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub const DWT_DEVARCH: u32 = 0xe0001fbc;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_DEVARCH_ARMV8M_V2_0` is never used
[INFO] [stdout]    --> src/models.rs:148:15
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub const DWT_DEVARCH_ARMV8M_V2_0: u32 = 0x101a02;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DWT_DEVARCH_ARMV8M_V2_1` is never used
[INFO] [stdout]    --> src/models.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub const DWT_DEVARCH_ARMV8M_V2_1: u32 = 0x111a02;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FP_REMAP` is never used
[INFO] [stdout]    --> src/models.rs:153:15
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub const FP_REMAP: u32 = 0xe0002004;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPU_CPACR` is never used
[INFO] [stdout]    --> src/models.rs:164:15
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub const FPU_CPACR: u32 = 0xe000ed88;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPU_FPCCR` is never used
[INFO] [stdout]    --> src/models.rs:165:15
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub const FPU_FPCCR: u32 = 0xe000ef34;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPU_FPCAR` is never used
[INFO] [stdout]    --> src/models.rs:166:15
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub const FPU_FPCAR: u32 = 0xe000ef38;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPU_FPDSCR` is never used
[INFO] [stdout]    --> src/models.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub const FPU_FPDSCR: u32 = 0xe000ef3c;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_SSPSR` is never used
[INFO] [stdout]    --> src/models.rs:170:15
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub const TPIU_SSPSR: u32 = 0xe0040000;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_CSPSR` is never used
[INFO] [stdout]    --> src/models.rs:171:15
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub const TPIU_CSPSR: u32 = 0xe0040004;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_ACPR` is never used
[INFO] [stdout]    --> src/models.rs:172:15
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub const TPIU_ACPR: u32 = 0xe0040010;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_SPPR` is never used
[INFO] [stdout]    --> src/models.rs:173:15
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub const TPIU_SPPR: u32 = 0xe00400f0;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_FFSR` is never used
[INFO] [stdout]    --> src/models.rs:174:15
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub const TPIU_FFSR: u32 = 0xe0040300;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_FFCR` is never used
[INFO] [stdout]    --> src/models.rs:175:15
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub const TPIU_FFCR: u32 = 0xe0040304;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_FSCR` is never used
[INFO] [stdout]    --> src/models.rs:176:15
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub const TPIU_FSCR: u32 = 0xe0040308;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TPIU_ACPR_MAX_SWOSCALER` is never used
[INFO] [stdout]    --> src/models.rs:178:15
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub const TPIU_ACPR_MAX_SWOSCALER: u32 = 0x1fff;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S_REGRDY` is never used
[INFO] [stdout]    --> src/models.rs:186:15
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub const S_REGRDY: u32 = 1 << 16;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S_SLEEP` is never used
[INFO] [stdout]    --> src/models.rs:188:15
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub const S_SLEEP: u32 = 1 << 18;
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S_LOCKUP` is never used
[INFO] [stdout]    --> src/models.rs:189:15
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub const S_LOCKUP: u32 = 1 << 19;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S_RETIRE_ST` is never used
[INFO] [stdout]    --> src/models.rs:190:15
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub const S_RETIRE_ST: u32 = 1 << 24;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S_RESET_ST` is never used
[INFO] [stdout]    --> src/models.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 191 |     pub const S_RESET_ST: u32 = 1 << 25;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRCENA` is never used
[INFO] [stdout]    --> src/models.rs:194:15
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub const TRCENA: u32 = 1 << 24;
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_HARDERR` is never used
[INFO] [stdout]    --> src/models.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub const VC_HARDERR: u32 = 1 << 10;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_INTERR` is never used
[INFO] [stdout]    --> src/models.rs:196:15
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub const VC_INTERR: u32 = 1 << 9;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_BUSERR` is never used
[INFO] [stdout]    --> src/models.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub const VC_BUSERR: u32 = 1 << 8;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_STATERR` is never used
[INFO] [stdout]    --> src/models.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub const VC_STATERR: u32 = 1 << 7;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_CHKERR` is never used
[INFO] [stdout]    --> src/models.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub const VC_CHKERR: u32 = 1 << 6;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_NOCPERR` is never used
[INFO] [stdout]    --> src/models.rs:200:15
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub const VC_NOCPERR: u32 = 1 << 5;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_MMERR` is never used
[INFO] [stdout]    --> src/models.rs:201:15
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub const VC_MMERR: u32 = 1 << 4;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VC_CORERESET` is never used
[INFO] [stdout]    --> src/models.rs:202:15
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub const VC_CORERESET: u32 = 1 << 0;
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DSCSR_CDSKEY` is never used
[INFO] [stdout]    --> src/models.rs:205:15
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub const DSCSR_CDSKEY: u32 = 1 << 17;
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DSCSR_CDS` is never used
[INFO] [stdout]    --> src/models.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub const DSCSR_CDS: u32 = 1 << 16;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_ICTR` is never used
[INFO] [stdout]    --> src/models.rs:209:15
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub const NVIC_ICTR: u32 = 0xe000e004;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_ISE0` is never used
[INFO] [stdout]    --> src/models.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub const NVIC_ISE0: u32 = 0xe000e100;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_ICSR` is never used
[INFO] [stdout]    --> src/models.rs:211:15
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub const NVIC_ICSR: u32 = 0xe000ed04;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_AIRCR` is never used
[INFO] [stdout]    --> src/models.rs:212:15
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub const NVIC_AIRCR: u32 = 0xe000ed0c;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_SHCSR` is never used
[INFO] [stdout]    --> src/models.rs:213:15
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub const NVIC_SHCSR: u32 = 0xe000ed24;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_CFSR` is never used
[INFO] [stdout]    --> src/models.rs:214:15
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub const NVIC_CFSR: u32 = 0xe000ed28;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_MMFSRB` is never used
[INFO] [stdout]    --> src/models.rs:215:15
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub const NVIC_MMFSRB: u32 = 0xe000ed28;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_BFSRB` is never used
[INFO] [stdout]    --> src/models.rs:216:15
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub const NVIC_BFSRB: u32 = 0xe000ed29;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_USFSRH` is never used
[INFO] [stdout]    --> src/models.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub const NVIC_USFSRH: u32 = 0xe000ed2a;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_HFSR` is never used
[INFO] [stdout]    --> src/models.rs:218:15
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub const NVIC_HFSR: u32 = 0xe000ed2c;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_MMFAR` is never used
[INFO] [stdout]    --> src/models.rs:220:15
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub const NVIC_MMFAR: u32 = 0xe000ed34;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_BFAR` is never used
[INFO] [stdout]    --> src/models.rs:221:15
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub const NVIC_BFAR: u32 = 0xe000ed38;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_SFSR` is never used
[INFO] [stdout]    --> src/models.rs:222:15
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub const NVIC_SFSR: u32 = 0xe000ede4;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVIC_SFAR` is never used
[INFO] [stdout]    --> src/models.rs:223:15
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub const NVIC_SFAR: u32 = 0xe000ede8;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIRCR_VECTKEY` is never used
[INFO] [stdout]    --> src/models.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |     pub const AIRCR_VECTKEY: u32 = 0x5fa << 16;
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIRCR_SYSRESETREQ` is never used
[INFO] [stdout]    --> src/models.rs:227:15
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub const AIRCR_SYSRESETREQ: u32 = 1 << 2;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIRCR_VECTCLRACTIVE` is never used
[INFO] [stdout]    --> src/models.rs:228:15
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub const AIRCR_VECTCLRACTIVE: u32 = 1 << 1;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIRCR_VECTRESET` is never used
[INFO] [stdout]    --> src/models.rs:229:15
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub const AIRCR_VECTRESET: u32 = 1 << 0;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHCSR_BUSFAULTENA` is never used
[INFO] [stdout]    --> src/models.rs:232:15
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub const SHCSR_BUSFAULTENA: u32 = 1 << 17;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPCR_CODE` is never used
[INFO] [stdout]    --> src/models.rs:242:15
[INFO] [stdout]     |
[INFO] [stdout] 242 |     pub const FPCR_CODE: u32 = 0;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPCR_LITERAL` is never used
[INFO] [stdout]    --> src/models.rs:243:15
[INFO] [stdout]     |
[INFO] [stdout] 243 |     pub const FPCR_LITERAL: u32 = 1;
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPCR_REPLACE_REMAP` is never used
[INFO] [stdout]    --> src/models.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 |     pub const FPCR_REPLACE_REMAP: u32 = 0 << 30;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPCR_REPLACE_BKPT_BOTH` is never used
[INFO] [stdout]    --> src/models.rs:247:15
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub const FPCR_REPLACE_BKPT_BOTH: u32 = 3 << 30;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `part_count` is never read
[INFO] [stdout]   --> src/msp_target.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Mspm0FamilyInfo {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub part_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Mspm0FamilyInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MSPM0_FCTL_FAIL_DECODE_STRINGS` is never used
[INFO] [stdout]    --> src/msp_target.rs:890:8
[INFO] [stdout]     |
[INFO] [stdout] 890 | static MSPM0_FCTL_FAIL_DECODE_STRINGS: &[(u8, &str)] = &[
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mspm0_address_check` is never used
[INFO] [stdout]    --> src/msp_target.rs:903:8
[INFO] [stdout]     |
[INFO] [stdout] 903 | pub fn mspm0_address_check() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Halt` and `Resume` are never constructed
[INFO] [stdout]  --> src/protocol.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum SWDCommand {
[INFO] [stdout]   |          ---------- variants in this enum
[INFO] [stdout] 6 |     Halt,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     Resume,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect_to_device` is never used
[INFO] [stdout]   --> src/serial.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn connect_to_device() -> Result<Box<dyn SerialPort>, Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_to_device` is never used
[INFO] [stdout]   --> src/serial.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn write_to_device(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_from_device` is never used
[INFO] [stdout]   --> src/serial.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn read_from_device(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_and_read` is never used
[INFO] [stdout]    --> src/serial.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn write_and_read(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_device_connected` is never used
[INFO] [stdout]    --> src/serial.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn is_device_connected(target_pid: u16) -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_target_device_connected` is never used
[INFO] [stdout]    --> src/serial.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub fn check_target_device_connected() -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_debug_sequence` is never used
[INFO] [stdout]    --> src/serial.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn send_debug_sequence(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_debug_sequence_and_read` is never used
[INFO] [stdout]    --> src/serial.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub fn send_debug_sequence_and_read(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `on_connect` is never used
[INFO] [stdout]   --> src/socketio.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn on_connect(socket: SocketRef, Data(data): Data<Value>) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_port_connection` is never used
[INFO] [stdout]   --> src/socketio.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn check_port_connection(socket: SocketRef, loader: Arc<Mutex<loader::SerialLoader>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `register_debugger_handlers` is never used
[INFO] [stdout]   --> src/socketio.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn register_debugger_handlers(socket: &SocketRef, loader: Arc<Mutex<loader::SerialLoader>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.12s
[INFO] running `Command { std: "docker" "inspect" "b9c843a83c1ae7393803c4f4110d6fe890aa15c47a01d3d710b6582ad713f070", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9c843a83c1ae7393803c4f4110d6fe890aa15c47a01d3d710b6582ad713f070", kill_on_drop: false }`
[INFO] [stdout] b9c843a83c1ae7393803c4f4110d6fe890aa15c47a01d3d710b6582ad713f070
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 70b6730a2851b473286967128fffc5a534a8b2dbe953f8de7f3006f6478613c6
[INFO] running `Command { std: "docker" "start" "-a" "70b6730a2851b473286967128fffc5a534a8b2dbe953f8de7f3006f6478613c6", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `tracing::info`
[INFO] [stderr]  --> src/models.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use tracing::info;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `axum::http::version`
[INFO] [stderr]  --> src/msp_target.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use axum::http::version;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `goblin::archive::MAGIC`
[INFO] [stderr]  --> src/msp_target.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use goblin::archive::MAGIC;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `bit`
[INFO] [stderr]     --> src/msp_target.rs:1042:14
[INFO] [stderr]      |
[INFO] [stderr] 1042 | macro_rules! bit {
[INFO] [stderr]      |              ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `*` and `Crc`
[INFO] [stderr]  --> src/protocol.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crc::{Crc, *};
[INFO] [stderr]   |           ^^^  ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::result`
[INFO] [stderr]  --> src/protocol.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::result;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SocketIo`
[INFO] [stderr]  --> src/socketio.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     SocketIo,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Instant`
[INFO] [stderr]   --> src/main.rs:14:28
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::time::{ Duration, Instant };
[INFO] [stderr]    |                            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]   --> src/main.rs:15:38
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tracing::{ error as einfo, info, warn };
[INFO] [stderr]    |                                      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/msp_target.rs:940:9
[INFO] [stderr]     |
[INFO] [stderr] 940 |     let mut mspm0_finf = MSPM0_FAMILIES;
[INFO] [stderr]     |         ----^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `minfo_idx` is assigned to, but never used
[INFO] [stderr]    --> src/msp_target.rs:941:9
[INFO] [stderr]     |
[INFO] [stderr] 941 |     let mut minfo_idx = 0xff;
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_minfo_idx` instead
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `minfo_idx` is never read
[INFO] [stderr]    --> src/msp_target.rs:947:13
[INFO] [stderr]     |
[INFO] [stderr] 947 |             minfo_idx = fidx;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sysctl_sec_status`
[INFO] [stderr]     --> src/msp_target.rs:1067:9
[INFO] [stderr]      |
[INFO] [stderr] 1067 |     let mut sysctl_sec_status: u32;
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sysctl_sec_status`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `exec_upper_bank`
[INFO] [stderr]     --> src/msp_target.rs:1068:9
[INFO] [stderr]      |
[INFO] [stderr] 1068 |     let exec_upper_bank: u32;
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exec_upper_bank`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/msp_target.rs:1158:9
[INFO] [stderr]      |
[INFO] [stderr] 1158 |     let mut start_ms: i64;
[INFO] [stderr]      |         ----^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/msp_target.rs:1514:9
[INFO] [stderr]      |
[INFO] [stderr] 1514 |     let mut padding: Vec<i32> = Vec::new();
[INFO] [stderr]      |         ----^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `padding`
[INFO] [stderr]     --> src/msp_target.rs:1514:9
[INFO] [stderr]      |
[INFO] [stderr] 1514 |     let mut padding: Vec<i32> = Vec::new();
[INFO] [stderr]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padding`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `minimal_write_gap`
[INFO] [stderr]     --> src/msp_target.rs:1554:13
[INFO] [stderr]      |
[INFO] [stderr] 1554 |         let minimal_write_gap: u32 = 0xffffffff;
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_minimal_write_gap`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `diff`
[INFO] [stderr]     --> src/msp_target.rs:1627:17
[INFO] [stderr]      |
[INFO] [stderr] 1627 |             let diff = (section as isize) - 0; // sections is just an index, not a pointer difference
[INFO] [stderr]      |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_diff`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `section_last` is never read
[INFO] [stderr]     --> src/msp_target.rs:1538:37
[INFO] [stderr]      |
[INFO] [stderr] 1538 |         let mut section_last: u32 = 0;
[INFO] [stderr]      |                                     ^
[INFO] [stderr]      |
[INFO] [stderr]      = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `pad_bytes` is never read
[INFO] [stderr]     --> src/msp_target.rs:1541:34
[INFO] [stderr]      |
[INFO] [stderr] 1541 |         let mut pad_bytes: i32 = 0;
[INFO] [stderr]      |                                  ^
[INFO] [stderr]      |
[INFO] [stderr]      = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `size_read` is never read
[INFO] [stderr]     --> src/msp_target.rs:1622:40
[INFO] [stderr]      |
[INFO] [stderr] 1622 |             let mut size_read: usize = 0;
[INFO] [stderr]      |                                        ^
[INFO] [stderr]      |
[INFO] [stderr]      = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ack`
[INFO] [stderr]    --> src/socketio.rs:165:51
[INFO] [stderr]     |
[INFO] [stderr] 165 |     socket.on("write-word", |Data::<Value>(data), ack: AckSender| {
[INFO] [stderr]     |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ack`
[INFO] [stderr]   --> src/socketio.rs:76:48
[INFO] [stderr]    |
[INFO] [stderr] 76 |     socket.on("connect", |Data::<Value>(data), ack: AckSender| {
[INFO] [stderr]    |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_ack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/socketio.rs:76:41
[INFO] [stderr]    |
[INFO] [stderr] 76 |     socket.on("connect", |Data::<Value>(data), ack: AckSender| {
[INFO] [stderr]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: type `image_reader::ImageType` is more private than the item `image_reader::Image::image_type`
[INFO] [stderr]   --> src/image_reader.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub image_type: ImageType,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ field `image_reader::Image::image_type` is reachable at visibility `pub(crate)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `image_reader::ImageType` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/image_reader.rs:9:1
[INFO] [stderr]    |
[INFO] [stderr]  9 | enum ImageType {
[INFO] [stderr]    | ^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `IMAGE_MAX_ERROR_STRING` is never used
[INFO] [stderr]  --> src/image_reader.rs:4:7
[INFO] [stderr]   |
[INFO] [stderr] 4 | const IMAGE_MAX_ERROR_STRING: usize = 256;
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `IMAGE_MAX_SECTIONS` is never used
[INFO] [stderr]  --> src/image_reader.rs:5:7
[INFO] [stderr]   |
[INFO] [stderr] 5 | const IMAGE_MAX_SECTIONS: usize = 512;
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `IMAGE_MEMORY_CACHE_SIZE` is never used
[INFO] [stderr]  --> src/image_reader.rs:6:7
[INFO] [stderr]   |
[INFO] [stderr] 6 | const IMAGE_MEMORY_CACHE_SIZE: usize = 2048;
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Memory`, `SRecord`, and `Builder` are never constructed
[INFO] [stderr]   --> src/image_reader.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | enum ImageType {
[INFO] [stderr]    |      --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 12 |     Memory,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 13 |     Elf,
[INFO] [stderr] 14 |     SRecord,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 15 |     Builder,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ImageType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `base_address`, `flags`, and `data` are never read
[INFO] [stderr]   --> src/image_reader.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct ImageSection {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] 21 |     pub base_address: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 22 |     pub size: u32,
[INFO] [stderr] 23 |     pub flags: u64,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 24 |     pub data: Vec<u8>,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ImageSection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `MemoryMap` is never used
[INFO] [stderr]   --> src/image_reader.rs:28:6
[INFO] [stderr]    |
[INFO] [stderr] 28 | type MemoryMap = HashMap<u32, Vec<u8>>;
[INFO] [stderr]    |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `type_private`, `sections`, `base_address_set`, `base_address`, `start_address_set`, and `start_address` are never read
[INFO] [stderr]   --> src/image_reader.rs:33:9
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct Image {
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] 32 |     pub image_type: ImageType,
[INFO] [stderr] 33 |     pub type_private: Option<Box<dyn std::any::Any>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 34 |     pub num_sections: u32,
[INFO] [stderr] 35 |     pub sections: Vec<ImageSection>,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 36 |     pub base_address_set: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 37 |     pub base_address: i64,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 38 |     pub start_address_set: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 39 |     pub start_address: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Image` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_image_sections` is never used
[INFO] [stderr]    --> src/image_reader.rs:208:8
[INFO] [stderr]     |
[INFO] [stderr] 208 | pub fn get_image_sections(image: &Image) -> &[ImageSection] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_start_address` is never used
[INFO] [stderr]    --> src/image_reader.rs:212:8
[INFO] [stderr]     |
[INFO] [stderr] 212 | pub fn get_start_address(image: &Image) -> Option<u32> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_base_address` is never used
[INFO] [stderr]    --> src/image_reader.rs:220:8
[INFO] [stderr]     |
[INFO] [stderr] 220 | pub fn get_base_address(image: &Image) -> Option<i64> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_device_connected` is never used
[INFO] [stderr]   --> src/loader.rs:25:8
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub fn is_device_connected(pid: u16) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `close`, `reconnect`, `single_step`, `software_crc`, and `check_crc` are never used
[INFO] [stderr]    --> src/loader.rs:114:12
[INFO] [stderr]     |
[INFO] [stderr]  55 | impl SerialLoader {
[INFO] [stderr]     | ----------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 114 |     pub fn close(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 123 |     pub fn reconnect(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 222 |     pub fn single_step(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 933 |     fn software_crc(data: &[u8], length: usize) -> [u8; 4] {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 955 |     pub fn check_crc(frame: &[u8]) -> Result<bool, String> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FLASH_WRITE_ALIGN_SECTOR` is never used
[INFO] [stderr]  --> src/models.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub const FLASH_WRITE_ALIGN_SECTOR: u32 = u32::MAX;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `CortexMImplPart` is never used
[INFO] [stderr]    --> src/models.rs:252:10
[INFO] [stderr]     |
[INFO] [stderr] 252 | pub enum CortexMImplPart {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ArmArch` is never used
[INFO] [stderr]    --> src/models.rs:273:10
[INFO] [stderr]     |
[INFO] [stderr] 273 | pub enum ArmArch {
[INFO] [stderr]     |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CortexMPartInfo` is never constructed
[INFO] [stderr]    --> src/models.rs:281:12
[INFO] [stderr]     |
[INFO] [stderr] 281 | pub struct CortexMPartInfo {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CommandResponse` is never constructed
[INFO] [stderr]    --> src/models.rs:289:12
[INFO] [stderr]     |
[INFO] [stderr] 289 | pub struct CommandResponse {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FLASH_BASE_NONMAIN` is never used
[INFO] [stderr]  --> src/models.rs:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 |     pub const FLASH_BASE_NONMAIN: u32 = 0x41c00000;
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FLASH_END_NONMAIN` is never used
[INFO] [stderr]  --> src/models.rs:9:15
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub const FLASH_END_NONMAIN: u32 = 0x41c00400;
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FLASH_BASE_DATA` is never used
[INFO] [stderr]   --> src/models.rs:11:15
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub const FLASH_BASE_DATA: u32 = 0x41d00000;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `REG_CMDWEPROTNM` is never used
[INFO] [stderr]   --> src/models.rs:34:15
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub const REG_CMDWEPROTNM: u32 = FLASH_CONTROL_BASE + 0x1210;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SYSCTL_BASE` is never used
[INFO] [stderr]   --> src/models.rs:57:15
[INFO] [stderr]    |
[INFO] [stderr] 57 |     pub const SYSCTL_BASE: u32 = 0x400af000;
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SECCFG_SECSTATUS` is never used
[INFO] [stderr]   --> src/models.rs:58:15
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub const SECCFG_SECSTATUS: u32 = SYSCTL_BASE + 0x00003048;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ERR_STRING_MAX` is never used
[INFO] [stderr]   --> src/models.rs:65:15
[INFO] [stderr]    |
[INFO] [stderr] 65 |     pub const ERR_STRING_MAX: u32 = 255;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `COMMON_MAGIC` is never used
[INFO] [stderr]   --> src/models.rs:97:15
[INFO] [stderr]    |
[INFO] [stderr] 97 |     pub const COMMON_MAGIC: u32 = 0x1a451a45;
[INFO] [stderr]    |               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SYSTEM_CONTROL_BASE` is never used
[INFO] [stderr]   --> src/models.rs:98:15
[INFO] [stderr]    |
[INFO] [stderr] 98 |     pub const SYSTEM_CONTROL_BASE: u32 = 0x400fe000;
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ITM_TER0` is never used
[INFO] [stderr]    --> src/models.rs:101:15
[INFO] [stderr]     |
[INFO] [stderr] 101 |     pub const ITM_TER0: u32 = 0xe0000e00;
[INFO] [stderr]     |               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ITM_TPR` is never used
[INFO] [stderr]    --> src/models.rs:102:15
[INFO] [stderr]     |
[INFO] [stderr] 102 |     pub const ITM_TPR: u32 = 0xe0000e40;
[INFO] [stderr]     |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ITM_TCR` is never used
[INFO] [stderr]    --> src/models.rs:103:15
[INFO] [stderr]     |
[INFO] [stderr] 103 |     pub const ITM_TCR: u32 = 0xe0000e80;
[INFO] [stderr]     |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ITM_TCR_ITMENA_BIT` is never used
[INFO] [stderr]    --> src/models.rs:104:15
[INFO] [stderr]     |
[INFO] [stderr] 104 |     pub const ITM_TCR_ITMENA_BIT: u32 = 1 << 0;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ITM_TCR_BUSY_BIT` is never used
[INFO] [stderr]    --> src/models.rs:105:15
[INFO] [stderr]     |
[INFO] [stderr] 105 |     pub const ITM_TCR_BUSY_BIT: u32 = 1 << 23;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ITM_LAR` is never used
[INFO] [stderr]    --> src/models.rs:106:15
[INFO] [stderr]     |
[INFO] [stderr] 106 |     pub const ITM_LAR: u32 = 0xe0000fb0;
[INFO] [stderr]     |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ITM_LAR_KEY` is never used
[INFO] [stderr]    --> src/models.rs:107:15
[INFO] [stderr]     |
[INFO] [stderr] 107 |     pub const ITM_LAR_KEY: u32 = 0xc5acce55;
[INFO] [stderr]     |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CPUID` is never used
[INFO] [stderr]    --> src/models.rs:110:15
[INFO] [stderr]     |
[INFO] [stderr] 110 |     pub const CPUID: u32 = 0xe000ed00;
[INFO] [stderr]     |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ARM_CPUID_IMPLEMENTER_POS` is never used
[INFO] [stderr]    --> src/models.rs:111:15
[INFO] [stderr]     |
[INFO] [stderr] 111 |     pub const ARM_CPUID_IMPLEMENTER_POS: u32 = 24;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ARM_CPUID_IMPLEMENTER_MASK` is never used
[INFO] [stderr]    --> src/models.rs:112:15
[INFO] [stderr]     |
[INFO] [stderr] 112 |     pub const ARM_CPUID_IMPLEMENTER_MASK: u32 = 0xff << ARM_CPUID_IMPLEMENTER_POS;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ARM_CPUID_PARTNO_POS` is never used
[INFO] [stderr]    --> src/models.rs:113:15
[INFO] [stderr]     |
[INFO] [stderr] 113 |     pub const ARM_CPUID_PARTNO_POS: u32 = 4;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ARM_CPUID_PARTNO_MASK` is never used
[INFO] [stderr]    --> src/models.rs:114:15
[INFO] [stderr]     |
[INFO] [stderr] 114 |     pub const ARM_CPUID_PARTNO_MASK: u32 = 0xfff << ARM_CPUID_PARTNO_POS;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ARM_IMPLEMENTER_ARM` is never used
[INFO] [stderr]    --> src/models.rs:117:15
[INFO] [stderr]     |
[INFO] [stderr] 117 |     pub const ARM_IMPLEMENTER_ARM: u32 = 0x41;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ARM_IMPLEMENTER_ARM_CHINA` is never used
[INFO] [stderr]    --> src/models.rs:118:15
[INFO] [stderr]     |
[INFO] [stderr] 118 |     pub const ARM_IMPLEMENTER_ARM_CHINA: u32 = 0x48;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ARM_IMPLEMENTER_INFINEON` is never used
[INFO] [stderr]    --> src/models.rs:119:15
[INFO] [stderr]     |
[INFO] [stderr] 119 |     pub const ARM_IMPLEMENTER_INFINEON: u32 = 0x49;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ARM_IMPLEMENTER_REALTEK` is never used
[INFO] [stderr]    --> src/models.rs:120:15
[INFO] [stderr]     |
[INFO] [stderr] 120 |     pub const ARM_IMPLEMENTER_REALTEK: u32 = 0x56;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CORTEX_M_F_HAS_FPV4` is never used
[INFO] [stderr]    --> src/models.rs:123:15
[INFO] [stderr]     |
[INFO] [stderr] 123 |     pub const CORTEX_M_F_HAS_FPV4: u32 = 1 << 0;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CORTEX_M_F_HAS_FPV5` is never used
[INFO] [stderr]    --> src/models.rs:124:15
[INFO] [stderr]     |
[INFO] [stderr] 124 |     pub const CORTEX_M_F_HAS_FPV5: u32 = 1 << 1;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CORTEX_M_F_TAR_AUTOINCR_BLOCK_4K` is never used
[INFO] [stderr]    --> src/models.rs:125:15
[INFO] [stderr]     |
[INFO] [stderr] 125 |     pub const CORTEX_M_F_TAR_AUTOINCR_BLOCK_4K: u32 = 1 << 2;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DCB_DEMCR` is never used
[INFO] [stderr]    --> src/models.rs:131:15
[INFO] [stderr]     |
[INFO] [stderr] 131 |     pub const DCB_DEMCR: u32 = 0xe000edfc;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DCB_DSCSR` is never used
[INFO] [stderr]    --> src/models.rs:132:15
[INFO] [stderr]     |
[INFO] [stderr] 132 |     pub const DCB_DSCSR: u32 = 0xe000ee08;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DAUTHSTATUS` is never used
[INFO] [stderr]    --> src/models.rs:134:15
[INFO] [stderr]     |
[INFO] [stderr] 134 |     pub const DAUTHSTATUS: u32 = 0xe000efb8;
[INFO] [stderr]     |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DAUTHSTATUS_SID_MASK` is never used
[INFO] [stderr]    --> src/models.rs:135:15
[INFO] [stderr]     |
[INFO] [stderr] 135 |     pub const DAUTHSTATUS_SID_MASK: u32 = 0x00000030;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DWT_CTRL` is never used
[INFO] [stderr]    --> src/models.rs:140:15
[INFO] [stderr]     |
[INFO] [stderr] 140 |     pub const DWT_CTRL: u32 = 0xe0001000;
[INFO] [stderr]     |               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DWT_CYCCNT` is never used
[INFO] [stderr]    --> src/models.rs:141:15
[INFO] [stderr]     |
[INFO] [stderr] 141 |     pub const DWT_CYCCNT: u32 = 0xe0001004;
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DWT_PCSR` is never used
[INFO] [stderr]    --> src/models.rs:142:15
[INFO] [stderr]     |
[INFO] [stderr] 142 |     pub const DWT_PCSR: u32 = 0xe000101c;
[INFO] [stderr]     |               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DWT_COMP0` is never used
[INFO] [stderr]    --> src/models.rs:143:15
[INFO] [stderr]     |
[INFO] [stderr] 143 |     pub const DWT_COMP0: u32 = 0xe0001020;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DWT_MASK0` is never used
[INFO] [stderr]    --> src/models.rs:144:15
[INFO] [stderr]     |
[INFO] [stderr] 144 |     pub const DWT_MASK0: u32 = 0xe0001024;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DWT_FUNCTION0` is never used
[INFO] [stderr]    --> src/models.rs:145:15
[INFO] [stderr]     |
[INFO] [stderr] 145 |     pub const DWT_FUNCTION0: u32 = 0xe0001028;
[INFO] [stderr]     |               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DWT_DEVARCH` is never used
[INFO] [stderr]    --> src/models.rs:146:15
[INFO] [stderr]     |
[INFO] [stderr] 146 |     pub const DWT_DEVARCH: u32 = 0xe0001fbc;
[INFO] [stderr]     |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DWT_DEVARCH_ARMV8M_V2_0` is never used
[INFO] [stderr]    --> src/models.rs:148:15
[INFO] [stderr]     |
[INFO] [stderr] 148 |     pub const DWT_DEVARCH_ARMV8M_V2_0: u32 = 0x101a02;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DWT_DEVARCH_ARMV8M_V2_1` is never used
[INFO] [stderr]    --> src/models.rs:149:15
[INFO] [stderr]     |
[INFO] [stderr] 149 |     pub const DWT_DEVARCH_ARMV8M_V2_1: u32 = 0x111a02;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FP_REMAP` is never used
[INFO] [stderr]    --> src/models.rs:153:15
[INFO] [stderr]     |
[INFO] [stderr] 153 |     pub const FP_REMAP: u32 = 0xe0002004;
[INFO] [stderr]     |               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FPU_CPACR` is never used
[INFO] [stderr]    --> src/models.rs:164:15
[INFO] [stderr]     |
[INFO] [stderr] 164 |     pub const FPU_CPACR: u32 = 0xe000ed88;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FPU_FPCCR` is never used
[INFO] [stderr]    --> src/models.rs:165:15
[INFO] [stderr]     |
[INFO] [stderr] 165 |     pub const FPU_FPCCR: u32 = 0xe000ef34;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FPU_FPCAR` is never used
[INFO] [stderr]    --> src/models.rs:166:15
[INFO] [stderr]     |
[INFO] [stderr] 166 |     pub const FPU_FPCAR: u32 = 0xe000ef38;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FPU_FPDSCR` is never used
[INFO] [stderr]    --> src/models.rs:167:15
[INFO] [stderr]     |
[INFO] [stderr] 167 |     pub const FPU_FPDSCR: u32 = 0xe000ef3c;
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TPIU_SSPSR` is never used
[INFO] [stderr]    --> src/models.rs:170:15
[INFO] [stderr]     |
[INFO] [stderr] 170 |     pub const TPIU_SSPSR: u32 = 0xe0040000;
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TPIU_CSPSR` is never used
[INFO] [stderr]    --> src/models.rs:171:15
[INFO] [stderr]     |
[INFO] [stderr] 171 |     pub const TPIU_CSPSR: u32 = 0xe0040004;
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TPIU_ACPR` is never used
[INFO] [stderr]    --> src/models.rs:172:15
[INFO] [stderr]     |
[INFO] [stderr] 172 |     pub const TPIU_ACPR: u32 = 0xe0040010;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TPIU_SPPR` is never used
[INFO] [stderr]    --> src/models.rs:173:15
[INFO] [stderr]     |
[INFO] [stderr] 173 |     pub const TPIU_SPPR: u32 = 0xe00400f0;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TPIU_FFSR` is never used
[INFO] [stderr]    --> src/models.rs:174:15
[INFO] [stderr]     |
[INFO] [stderr] 174 |     pub const TPIU_FFSR: u32 = 0xe0040300;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TPIU_FFCR` is never used
[INFO] [stderr]    --> src/models.rs:175:15
[INFO] [stderr]     |
[INFO] [stderr] 175 |     pub const TPIU_FFCR: u32 = 0xe0040304;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TPIU_FSCR` is never used
[INFO] [stderr]    --> src/models.rs:176:15
[INFO] [stderr]     |
[INFO] [stderr] 176 |     pub const TPIU_FSCR: u32 = 0xe0040308;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TPIU_ACPR_MAX_SWOSCALER` is never used
[INFO] [stderr]    --> src/models.rs:178:15
[INFO] [stderr]     |
[INFO] [stderr] 178 |     pub const TPIU_ACPR_MAX_SWOSCALER: u32 = 0x1fff;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `S_REGRDY` is never used
[INFO] [stderr]    --> src/models.rs:186:15
[INFO] [stderr]     |
[INFO] [stderr] 186 |     pub const S_REGRDY: u32 = 1 << 16;
[INFO] [stderr]     |               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `S_SLEEP` is never used
[INFO] [stderr]    --> src/models.rs:188:15
[INFO] [stderr]     |
[INFO] [stderr] 188 |     pub const S_SLEEP: u32 = 1 << 18;
[INFO] [stderr]     |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `S_LOCKUP` is never used
[INFO] [stderr]    --> src/models.rs:189:15
[INFO] [stderr]     |
[INFO] [stderr] 189 |     pub const S_LOCKUP: u32 = 1 << 19;
[INFO] [stderr]     |               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `S_RETIRE_ST` is never used
[INFO] [stderr]    --> src/models.rs:190:15
[INFO] [stderr]     |
[INFO] [stderr] 190 |     pub const S_RETIRE_ST: u32 = 1 << 24;
[INFO] [stderr]     |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `S_RESET_ST` is never used
[INFO] [stderr]    --> src/models.rs:191:15
[INFO] [stderr]     |
[INFO] [stderr] 191 |     pub const S_RESET_ST: u32 = 1 << 25;
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TRCENA` is never used
[INFO] [stderr]    --> src/models.rs:194:15
[INFO] [stderr]     |
[INFO] [stderr] 194 |     pub const TRCENA: u32 = 1 << 24;
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VC_HARDERR` is never used
[INFO] [stderr]    --> src/models.rs:195:15
[INFO] [stderr]     |
[INFO] [stderr] 195 |     pub const VC_HARDERR: u32 = 1 << 10;
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VC_INTERR` is never used
[INFO] [stderr]    --> src/models.rs:196:15
[INFO] [stderr]     |
[INFO] [stderr] 196 |     pub const VC_INTERR: u32 = 1 << 9;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VC_BUSERR` is never used
[INFO] [stderr]    --> src/models.rs:197:15
[INFO] [stderr]     |
[INFO] [stderr] 197 |     pub const VC_BUSERR: u32 = 1 << 8;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VC_STATERR` is never used
[INFO] [stderr]    --> src/models.rs:198:15
[INFO] [stderr]     |
[INFO] [stderr] 198 |     pub const VC_STATERR: u32 = 1 << 7;
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VC_CHKERR` is never used
[INFO] [stderr]    --> src/models.rs:199:15
[INFO] [stderr]     |
[INFO] [stderr] 199 |     pub const VC_CHKERR: u32 = 1 << 6;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VC_NOCPERR` is never used
[INFO] [stderr]    --> src/models.rs:200:15
[INFO] [stderr]     |
[INFO] [stderr] 200 |     pub const VC_NOCPERR: u32 = 1 << 5;
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VC_MMERR` is never used
[INFO] [stderr]    --> src/models.rs:201:15
[INFO] [stderr]     |
[INFO] [stderr] 201 |     pub const VC_MMERR: u32 = 1 << 4;
[INFO] [stderr]     |               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VC_CORERESET` is never used
[INFO] [stderr]    --> src/models.rs:202:15
[INFO] [stderr]     |
[INFO] [stderr] 202 |     pub const VC_CORERESET: u32 = 1 << 0;
[INFO] [stderr]     |               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DSCSR_CDSKEY` is never used
[INFO] [stderr]    --> src/models.rs:205:15
[INFO] [stderr]     |
[INFO] [stderr] 205 |     pub const DSCSR_CDSKEY: u32 = 1 << 17;
[INFO] [stderr]     |               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DSCSR_CDS` is never used
[INFO] [stderr]    --> src/models.rs:206:15
[INFO] [stderr]     |
[INFO] [stderr] 206 |     pub const DSCSR_CDS: u32 = 1 << 16;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_ICTR` is never used
[INFO] [stderr]    --> src/models.rs:209:15
[INFO] [stderr]     |
[INFO] [stderr] 209 |     pub const NVIC_ICTR: u32 = 0xe000e004;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_ISE0` is never used
[INFO] [stderr]    --> src/models.rs:210:15
[INFO] [stderr]     |
[INFO] [stderr] 210 |     pub const NVIC_ISE0: u32 = 0xe000e100;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_ICSR` is never used
[INFO] [stderr]    --> src/models.rs:211:15
[INFO] [stderr]     |
[INFO] [stderr] 211 |     pub const NVIC_ICSR: u32 = 0xe000ed04;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_AIRCR` is never used
[INFO] [stderr]    --> src/models.rs:212:15
[INFO] [stderr]     |
[INFO] [stderr] 212 |     pub const NVIC_AIRCR: u32 = 0xe000ed0c;
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_SHCSR` is never used
[INFO] [stderr]    --> src/models.rs:213:15
[INFO] [stderr]     |
[INFO] [stderr] 213 |     pub const NVIC_SHCSR: u32 = 0xe000ed24;
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_CFSR` is never used
[INFO] [stderr]    --> src/models.rs:214:15
[INFO] [stderr]     |
[INFO] [stderr] 214 |     pub const NVIC_CFSR: u32 = 0xe000ed28;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_MMFSRB` is never used
[INFO] [stderr]    --> src/models.rs:215:15
[INFO] [stderr]     |
[INFO] [stderr] 215 |     pub const NVIC_MMFSRB: u32 = 0xe000ed28;
[INFO] [stderr]     |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_BFSRB` is never used
[INFO] [stderr]    --> src/models.rs:216:15
[INFO] [stderr]     |
[INFO] [stderr] 216 |     pub const NVIC_BFSRB: u32 = 0xe000ed29;
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_USFSRH` is never used
[INFO] [stderr]    --> src/models.rs:217:15
[INFO] [stderr]     |
[INFO] [stderr] 217 |     pub const NVIC_USFSRH: u32 = 0xe000ed2a;
[INFO] [stderr]     |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_HFSR` is never used
[INFO] [stderr]    --> src/models.rs:218:15
[INFO] [stderr]     |
[INFO] [stderr] 218 |     pub const NVIC_HFSR: u32 = 0xe000ed2c;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_MMFAR` is never used
[INFO] [stderr]    --> src/models.rs:220:15
[INFO] [stderr]     |
[INFO] [stderr] 220 |     pub const NVIC_MMFAR: u32 = 0xe000ed34;
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_BFAR` is never used
[INFO] [stderr]    --> src/models.rs:221:15
[INFO] [stderr]     |
[INFO] [stderr] 221 |     pub const NVIC_BFAR: u32 = 0xe000ed38;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_SFSR` is never used
[INFO] [stderr]    --> src/models.rs:222:15
[INFO] [stderr]     |
[INFO] [stderr] 222 |     pub const NVIC_SFSR: u32 = 0xe000ede4;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NVIC_SFAR` is never used
[INFO] [stderr]    --> src/models.rs:223:15
[INFO] [stderr]     |
[INFO] [stderr] 223 |     pub const NVIC_SFAR: u32 = 0xe000ede8;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AIRCR_VECTKEY` is never used
[INFO] [stderr]    --> src/models.rs:226:15
[INFO] [stderr]     |
[INFO] [stderr] 226 |     pub const AIRCR_VECTKEY: u32 = 0x5fa << 16;
[INFO] [stderr]     |               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AIRCR_SYSRESETREQ` is never used
[INFO] [stderr]    --> src/models.rs:227:15
[INFO] [stderr]     |
[INFO] [stderr] 227 |     pub const AIRCR_SYSRESETREQ: u32 = 1 << 2;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AIRCR_VECTCLRACTIVE` is never used
[INFO] [stderr]    --> src/models.rs:228:15
[INFO] [stderr]     |
[INFO] [stderr] 228 |     pub const AIRCR_VECTCLRACTIVE: u32 = 1 << 1;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `AIRCR_VECTRESET` is never used
[INFO] [stderr]    --> src/models.rs:229:15
[INFO] [stderr]     |
[INFO] [stderr] 229 |     pub const AIRCR_VECTRESET: u32 = 1 << 0;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SHCSR_BUSFAULTENA` is never used
[INFO] [stderr]    --> src/models.rs:232:15
[INFO] [stderr]     |
[INFO] [stderr] 232 |     pub const SHCSR_BUSFAULTENA: u32 = 1 << 17;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FPCR_CODE` is never used
[INFO] [stderr]    --> src/models.rs:242:15
[INFO] [stderr]     |
[INFO] [stderr] 242 |     pub const FPCR_CODE: u32 = 0;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FPCR_LITERAL` is never used
[INFO] [stderr]    --> src/models.rs:243:15
[INFO] [stderr]     |
[INFO] [stderr] 243 |     pub const FPCR_LITERAL: u32 = 1;
[INFO] [stderr]     |               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FPCR_REPLACE_REMAP` is never used
[INFO] [stderr]    --> src/models.rs:244:15
[INFO] [stderr]     |
[INFO] [stderr] 244 |     pub const FPCR_REPLACE_REMAP: u32 = 0 << 30;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FPCR_REPLACE_BKPT_BOTH` is never used
[INFO] [stderr]    --> src/models.rs:247:15
[INFO] [stderr]     |
[INFO] [stderr] 247 |     pub const FPCR_REPLACE_BKPT_BOTH: u32 = 3 << 30;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `part_count` is never read
[INFO] [stderr]   --> src/msp_target.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct Mspm0FamilyInfo {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 19 |     pub part_count: usize,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Mspm0FamilyInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: static `MSPM0_FCTL_FAIL_DECODE_STRINGS` is never used
[INFO] [stderr]    --> src/msp_target.rs:890:8
[INFO] [stderr]     |
[INFO] [stderr] 890 | static MSPM0_FCTL_FAIL_DECODE_STRINGS: &[(u8, &str)] = &[
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `mspm0_address_check` is never used
[INFO] [stderr]    --> src/msp_target.rs:903:8
[INFO] [stderr]     |
[INFO] [stderr] 903 | pub fn mspm0_address_check() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Halt` and `Resume` are never constructed
[INFO] [stderr]  --> src/protocol.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum SWDCommand {
[INFO] [stderr]   |          ---------- variants in this enum
[INFO] [stderr] 6 |     Halt,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 7 |     Resume,
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `connect_to_device` is never used
[INFO] [stderr]   --> src/serial.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn connect_to_device() -> Result<Box<dyn SerialPort>, Box<dyn std::error::Error>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_to_device` is never used
[INFO] [stderr]   --> src/serial.rs:66:8
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub fn write_to_device(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_from_device` is never used
[INFO] [stderr]   --> src/serial.rs:79:8
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub fn read_from_device(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_and_read` is never used
[INFO] [stderr]    --> src/serial.rs:117:8
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub fn write_and_read(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_device_connected` is never used
[INFO] [stderr]    --> src/serial.rs:133:8
[INFO] [stderr]     |
[INFO] [stderr] 133 | pub fn is_device_connected(target_pid: u16) -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_target_device_connected` is never used
[INFO] [stderr]    --> src/serial.rs:153:8
[INFO] [stderr]     |
[INFO] [stderr] 153 | pub fn check_target_device_connected() -> Result<bool, Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `send_debug_sequence` is never used
[INFO] [stderr]    --> src/serial.rs:158:8
[INFO] [stderr]     |
[INFO] [stderr] 158 | pub fn send_debug_sequence(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `send_debug_sequence_and_read` is never used
[INFO] [stderr]    --> src/serial.rs:166:8
[INFO] [stderr]     |
[INFO] [stderr] 166 | pub fn send_debug_sequence_and_read(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `on_connect` is never used
[INFO] [stderr]   --> src/socketio.rs:11:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn on_connect(socket: SocketRef, Data(data): Data<Value>) {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_port_connection` is never used
[INFO] [stderr]   --> src/socketio.rs:30:4
[INFO] [stderr]    |
[INFO] [stderr] 30 | fn check_port_connection(socket: SocketRef, loader: Arc<Mutex<loader::SerialLoader>>) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `register_debugger_handlers` is never used
[INFO] [stderr]   --> src/socketio.rs:75:4
[INFO] [stderr]    |
[INFO] [stderr] 75 | fn register_debugger_handlers(socket: &SocketRef, loader: Arc<Mutex<loader::SerialLoader>>) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `msp_dap_link_via_serial` (bin "msp_dap_link_via_serial" test) generated 151 warnings (run `cargo fix --bin "msp_dap_link_via_serial" -p msp_dap_link_via_serial --tests` to apply 19 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/msp_dap_link_via_serial-ccc721b757333f57)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test image::tests::test_crc32 ... ok
[INFO] [stdout] test image_reader::tests::test_intel_hex_parsing ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- image_reader::tests::test_intel_hex_parsing stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'image_reader::tests::test_intel_hex_parsing' (26) panicked at src/image_reader.rs:244:9:
[INFO] [stdout] assertion failed: result.is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b2893ff5852 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b2893ff5852 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b2893ff5852 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b2893ff5852 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b289400b8da - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b289400b8da - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5b2893ffa656 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b2893ffa656 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b2893fd3a1f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b2893fd3a1f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b2893fed569 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b2893f6fabe - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5b2893f6fabe - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b2893fed722 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5b2893fed722 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b2893fd3b0a - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5b2893fc8ba9 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b2893fd492d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b289400c04c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b289400c012 - core[27de1724e4349be2]::panicking::panic
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5b2893f59293 - msp_dap_link_via_serial[46fb05f51b381074]::image_reader::tests::test_intel_hex_parsing
[INFO] [stdout]                                at /opt/rustwide/workdir/src/image_reader.rs:244:9
[INFO] [stdout]   21:     0x5b2893f52777 - msp_dap_link_via_serial[46fb05f51b381074]::image_reader::tests::test_intel_hex_parsing::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/image_reader.rs:235:32
[INFO] [stdout]   22:     0x5b2893f5e086 - <msp_dap_link_via_serial[46fb05f51b381074]::image_reader::tests::test_intel_hex_parsing::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5b2893f63e6b - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5b2893f63e6b - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5b2893f706ca - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5b2893f706ca - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x5b2893f706ca - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5b2893f706ca - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5b2893f706ca - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5b2893f706ca - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5b2893f706ca - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5b2893f6bc74 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5b2893f6bc74 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5b2893f731c2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5b2893f731c2 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x5b2893f731c2 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5b2893f731c2 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5b2893f731c2 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5b2893f731c2 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5b2893f731c2 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5b2893ff4d2f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x5b2893ff4d2f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   43:     0x7efb36e14aa4 - <unknown>
[INFO] [stdout]   44:     0x7efb36ea1a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     image_reader::tests::test_intel_hex_parsing
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin msp_dap_link_via_serial`
[INFO] running `Command { std: "docker" "inspect" "70b6730a2851b473286967128fffc5a534a8b2dbe953f8de7f3006f6478613c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "70b6730a2851b473286967128fffc5a534a8b2dbe953f8de7f3006f6478613c6", kill_on_drop: false }`
[INFO] [stdout] 70b6730a2851b473286967128fffc5a534a8b2dbe953f8de7f3006f6478613c6
