[INFO] cloning repository https://github.com/hack-different/demuxusb-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hack-different/demuxusb-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhack-different%2Fdemuxusb-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhack-different%2Fdemuxusb-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 56bf706912079ff61fe5660d0e1eee9d2a52bd50
[INFO] checking hack-different/demuxusb-rs against try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhack-different%2Fdemuxusb-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hack-different/demuxusb-rs
[INFO] finished tweaking git repo https://github.com/hack-different/demuxusb-rs
[INFO] tweaked toml for git repo https://github.com/hack-different/demuxusb-rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hack-different/demuxusb-rs on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hack-different/demuxusb-rs 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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0e4eb5dcec25a656633b19c63c170e7ba9833e9e3092663e355a52f0edc2cd77
[INFO] running `Command { std: "docker" "start" "-a" "0e4eb5dcec25a656633b19c63c170e7ba9833e9e3092663e355a52f0edc2cd77", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0e4eb5dcec25a656633b19c63c170e7ba9833e9e3092663e355a52f0edc2cd77", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e4eb5dcec25a656633b19c63c170e7ba9833e9e3092663e355a52f0edc2cd77", kill_on_drop: false }`
[INFO] [stdout] 0e4eb5dcec25a656633b19c63c170e7ba9833e9e3092663e355a52f0edc2cd77
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 257239443d142693d1183b23787d6ffbd61a7038136e3fbd301f80f2ed7cec84
[INFO] running `Command { std: "docker" "start" "-a" "257239443d142693d1183b23787d6ffbd61a7038136e3fbd301f80f2ed7cec84", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking clap_lex v1.0.0
[INFO] [stderr]    Compiling zerocopy v0.9.0-alpha.0
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking byteorder_slice v3.0.0
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]     Checking clap_builder v4.5.60
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking uuid v1.21.0
[INFO] [stderr]     Checking clap v4.5.60
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]    Compiling derive-into-owned v0.2.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling display_tree_derive v1.0.3
[INFO] [stderr]     Checking display_tree v1.1.2
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling zerocopy-derive v0.9.0-alpha.0
[INFO] [stderr]     Checking pcap-file v2.0.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling indextree-macros v0.1.3
[INFO] [stderr]     Checking indextree v4.8.1
[INFO] [stderr]     Checking demuxusb-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `USBRequestBlock`
[INFO] [stdout]  --> src/device.rs:5:75
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) use crate::usb_request_block::{USBConfiguration, USBInterface, USBRequestBlock, USBControlRequest, USBControlRequestType};
[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: `USBRequestBlock`
[INFO] [stdout]  --> src/device.rs:5:75
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub(crate) use crate::usb_request_block::{USBConfiguration, USBInterface, USBRequestBlock, USBControlRequest, USBControlRequestType};
[INFO] [stdout]   |                                                                           ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `USBDeviceDescriptor` is more private than the item `USBDescriptor::Device::0`
[INFO] [stdout]    --> src/usb_request_block.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 |     Device(USBDeviceDescriptor),
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Device::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `USBDeviceDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct USBDeviceDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `USBConfigDescriptor` is more private than the item `USBDescriptor::Configuration::0`
[INFO] [stdout]    --> src/usb_request_block.rs:121:19
[INFO] [stdout]     |
[INFO] [stdout] 121 |     Configuration(USBConfigDescriptor),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Configuration::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `USBConfigDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | struct USBConfigDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `InterfaceDescriptor` is more private than the item `USBDescriptor::Interface::0`
[INFO] [stdout]    --> src/usb_request_block.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 |     Interface(InterfaceDescriptor),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Interface::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `InterfaceDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | struct InterfaceDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `EndpointDescriptor` is more private than the item `USBDescriptor::Endpoint::0`
[INFO] [stdout]    --> src/usb_request_block.rs:124:14
[INFO] [stdout]     |
[INFO] [stdout] 124 |     Endpoint(EndpointDescriptor),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Endpoint::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `EndpointDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:341:1
[INFO] [stdout]     |
[INFO] [stdout] 341 | struct EndpointDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `InterfaceAssociationDescriptor` is more private than the item `USBDescriptor::InterfaceAssociation::0`
[INFO] [stdout]    --> src/usb_request_block.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 |     InterfaceAssociation(InterfaceAssociationDescriptor),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::InterfaceAssociation::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `InterfaceAssociationDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:355:1
[INFO] [stdout]     |
[INFO] [stdout] 355 | struct InterfaceAssociationDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BinaryObjectStoreDescriptor` is more private than the item `USBDescriptor::BOS::0`
[INFO] [stdout]    --> src/usb_request_block.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |     BOS(BinaryObjectStoreDescriptor),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::BOS::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BinaryObjectStoreDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:425:1
[INFO] [stdout]     |
[INFO] [stdout] 425 | struct BinaryObjectStoreDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BosDevCapabilityDescriptor` is more private than the item `USBDescriptor::DeviceCapability::0`
[INFO] [stdout]    --> src/usb_request_block.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |     DeviceCapability(BosDevCapabilityDescriptor),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::DeviceCapability::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BosDevCapabilityDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | struct BosDevCapabilityDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `csv_path` and `bin_path` are never read
[INFO] [stdout]    --> src/total_phase_parser.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct TotalPhaseReader {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 137 |     csv_path: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 138 |     bin_path: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_field` is never used
[INFO] [stdout]    --> src/total_phase_parser.rs:728:4
[INFO] [stdout]     |
[INFO] [stdout] 728 | fn record_field<'a>(row: &'a HashMap<String, String>, key: &str) -> &'a str {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `USBSetAddress` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct USBSetAddress {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]     = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `USBGetDeviceDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:226:12
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct USBGetDeviceDescriptor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `USBDevice` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct USBDevice {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `USBConfiguration` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub struct USBConfiguration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `USBInterface` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct USBInterface {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `USBEndpoint` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:278:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub struct USBEndpoint {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LibusbBtWirelessUsbDeviceCapability`, `LibusbBtUsb20Extension`, `LibusbBtSsUsbDeviceCapability`, and `LibusbBtContainerId` are never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | enum USBBinaryObjectStoreType {
[INFO] [stdout]     |      ------------------------ variants in this enum
[INFO] [stdout] 134 |     LibusbBtWirelessUsbDeviceCapability = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 135 |     LibusbBtUsb20Extension = 2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 136 |     LibusbBtSsUsbDeviceCapability = 3,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 |     LibusbBtContainerId = 4,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBBinaryObjectStoreType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEVICE_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:140:7
[INFO] [stdout]     |
[INFO] [stdout] 140 | const DEVICE_SIZE: u8 = 18;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONFIG_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:141:7
[INFO] [stdout]     |
[INFO] [stdout] 141 | const CONFIG_SIZE: u8 = 9;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERFACE_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:142:7
[INFO] [stdout]     |
[INFO] [stdout] 142 | const INTERFACE_SIZE: u8 = 9;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:143:7
[INFO] [stdout]     |
[INFO] [stdout] 143 | const ENDPOINT_SIZE: u8 = 7;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT_AUDIO_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:144:7
[INFO] [stdout]     |
[INFO] [stdout] 144 | const ENDPOINT_AUDIO_SIZE: u8 = 9;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HUB_NONVAR_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:145:7
[INFO] [stdout]     |
[INFO] [stdout] 145 | const HUB_NONVAR_SIZE: u8 = 7;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SS_ENDPOINT_COMPANION_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:146:7
[INFO] [stdout]     |
[INFO] [stdout] 146 | const SS_ENDPOINT_COMPANION_SIZE: u8 = 6;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOS_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:147:7
[INFO] [stdout]     |
[INFO] [stdout] 147 | const BOS_SIZE: u8 = 5;
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEVICE_CAPABILITY_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:148:7
[INFO] [stdout]     |
[INFO] [stdout] 148 | const DEVICE_CAPABILITY_SIZE: u8 = 3;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERFACE_ASSOCIATION_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:149:7
[INFO] [stdout]     |
[INFO] [stdout] 149 | const INTERFACE_ASSOCIATION_SIZE: u8 = 8;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BT_USB_2_0_EXTENSION_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 152 | const BT_USB_2_0_EXTENSION_SIZE: u8 = 7;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BT_SS_USB_DEVICE_CAPABILITY_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:153:7
[INFO] [stdout]     |
[INFO] [stdout] 153 | const BT_SS_USB_DEVICE_CAPABILITY_SIZE: u8 = 10;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BT_SSPLUS_USB_DEVICE_CAPABILITY_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:154:7
[INFO] [stdout]     |
[INFO] [stdout] 154 | const BT_SSPLUS_USB_DEVICE_CAPABILITY_SIZE: u8 = 12;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BT_CONTAINER_ID_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:155:7
[INFO] [stdout]     |
[INFO] [stdout] 155 | const BT_CONTAINER_ID_SIZE: u8 = 20;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BT_PLATFORM_DESCRIPTOR_MIN_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:156:7
[INFO] [stdout]     |
[INFO] [stdout] 156 | const BT_PLATFORM_DESCRIPTOR_MIN_SIZE: u8 = 20;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT_ADDRESS_MASK` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:158:7
[INFO] [stdout]     |
[INFO] [stdout] 158 | const ENDPOINT_ADDRESS_MASK: u8 = 0x0f;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT_DIR_MASK` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:159:7
[INFO] [stdout]     |
[INFO] [stdout] 159 | const ENDPOINT_DIR_MASK: u8 = 0x80;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USB_ENDPOINT_IN_MASK` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:170:7
[INFO] [stdout]     |
[INFO] [stdout] 170 | const USB_ENDPOINT_IN_MASK: u8 = 0x80;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USB_ENDPOINT_OUT_MASK` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:171:7
[INFO] [stdout]     |
[INFO] [stdout] 171 | const USB_ENDPOINT_OUT_MASK: u8 = 0x80;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USB_ENDPOINT_ID` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:172:7
[INFO] [stdout]     |
[INFO] [stdout] 172 | const USB_ENDPOINT_ID: u8 = 0x7F;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPLE_VID` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:174:7
[INFO] [stdout]     |
[INFO] [stdout] 174 | const APPLE_VID: u16 = 0x05ac;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USB_CLASS_APPLICATION_SPECIFIC` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:175:7
[INFO] [stdout]     |
[INFO] [stdout] 175 | const USB_CLASS_APPLICATION_SPECIFIC: u8 = 0xFF;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USB_SUBCLASS_DFU` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:176:7
[INFO] [stdout]     |
[INFO] [stdout] 176 | const USB_SUBCLASS_DFU: u8 = 0x01;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPLE_SUBCLASS_USBMUX` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:177:7
[INFO] [stdout]     |
[INFO] [stdout] 177 | const APPLE_SUBCLASS_USBMUX: u8 = 0xFE;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPLE_PROTOCOL_USBMUX2` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:178:7
[INFO] [stdout]     |
[INFO] [stdout] 178 | const APPLE_PROTOCOL_USBMUX2: u8 = 0x02;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSFER_TYPE_MASK` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:180:7
[INFO] [stdout]     |
[INFO] [stdout] 180 | const TRANSFER_TYPE_MASK: u8 = 0x03;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `URBRecordType` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:182:6
[INFO] [stdout]     |
[INFO] [stdout] 182 | enum URBRecordType {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppleUSBDeviceID` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:194:6
[INFO] [stdout]     |
[INFO] [stdout] 194 | enum AppleUSBDeviceID {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device_id` is never read
[INFO] [stdout]    --> src/usb_request_block.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct USBSetAddress {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 223 |     device_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device_id` and `index` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct USBGetDeviceDescriptor {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 227 |     device_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 228 |     index: u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `global_id`, `local_device_id`, `configurations`, and `endpoints` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct USBDevice {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 262 |     global_id: Uuid,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 263 |     local_device_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 264 |     configurations: Map<u8, USBConfiguration>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 265 |     endpoints: Map<u8, USBEndpoint>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interfaces` is never read
[INFO] [stdout]    --> src/usb_request_block.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub struct USBConfiguration {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 269 |     interfaces: Map<u8, USBInterface>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `configuration_id`, `input_id`, and `output_id` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:273:5
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct USBInterface {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 273 |     configuration_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 274 |     input_id: u8,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 275 |     output_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `endpoint_id`, `direction`, and `urbs` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub struct USBEndpoint {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 279 |     endpoint_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 280 |     direction: USBDirection,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 281 |     urbs: Vec<USBRequestBlock>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/usb_request_block.rs:324:5
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct USBDeviceDescriptor {
[INFO] [stdout]     |        ------------------- fields in this struct
[INFO] [stdout] 324 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 325 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 326 |     bcd_usb: u16,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 327 |     device_class: USBClassCode,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 328 |     device_sub_class: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 329 |     device_protocol: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 330 |     max_packet_size: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 331 |     vendor_id: u16,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 332 |     product_id: u16,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 333 |     bcd_device: u16,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 334 |     index_manufacturer: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 335 |     index_product: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 336 |     index_serial_number: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 337 |     configuration_count: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBDeviceDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/usb_request_block.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 341 | struct EndpointDescriptor {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 342 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 343 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 344 |     endpoint_address: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 345 |     attributes: USBAttributes,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 346 |     max_packet_size: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 347 |     polling_interval: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 348 |     refresh: u8,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 349 |     synch_address: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 350 |     extra: *const u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 351 |     extra_length: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EndpointDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/usb_request_block.rs:356:5
[INFO] [stdout]     |
[INFO] [stdout] 355 | struct InterfaceAssociationDescriptor {
[INFO] [stdout]     |        ------------------------------ fields in this struct
[INFO] [stdout] 356 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 357 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 358 |     first_interface: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 359 |     interface_count: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 360 |     function_class: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 361 |     function_sub_class: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 362 |     function_protocol: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 363 |     function_index: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InterfaceAssociationDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InterfaceAssociationDescriptorArray` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:366:8
[INFO] [stdout]     |
[INFO] [stdout] 366 | struct InterfaceAssociationDescriptorArray {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/usb_request_block.rs:373:5
[INFO] [stdout]     |
[INFO] [stdout] 372 | struct InterfaceDescriptor {
[INFO] [stdout]     |        ------------------- fields in this struct
[INFO] [stdout] 373 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 374 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 375 |     interface_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 376 |     interface_alternative: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 377 |     endpoint_count: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 378 |     interface_class: USBClassCode,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 379 |     interface_sub_class: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 380 |     interface_protocol: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 381 |     interface_index: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 382 |     endpoint: EndpointDescriptor,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 383 |     extra: *const u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 384 |     extra_length: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InterfaceDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `altsetting` and `alternate_setting_count` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:389:5
[INFO] [stdout]     |
[INFO] [stdout] 388 | struct USBInterfaceDescriptor {
[INFO] [stdout]     |        ---------------------- fields in this struct
[INFO] [stdout] 389 |     altsetting: InterfaceDescriptor,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 390 |     alternate_setting_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBInterfaceDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/usb_request_block.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 394 | struct USBConfigDescriptor {
[INFO] [stdout]     |        ------------------- fields in this struct
[INFO] [stdout] 395 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 396 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 397 |     total_length: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 398 |     interface_count: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 399 |     configuration_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 400 |     configuration_index: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 401 |     attributes: USBAttributes,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 402 |     max_power: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 403 |     interface: USBInterfaceDescriptor,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 404 |     extra: *const u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 405 |     extra_length: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBConfigDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SsEndpointCompanionDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:408:8
[INFO] [stdout]     |
[INFO] [stdout] 408 | struct SsEndpointCompanionDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length`, `descriptor_type`, `compatability_type`, and `dev_capability_data` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:418:5
[INFO] [stdout]     |
[INFO] [stdout] 417 | struct BosDevCapabilityDescriptor {
[INFO] [stdout]     |        -------------------------- fields in this struct
[INFO] [stdout] 418 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 419 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 420 |     compatability_type: USBBinaryObjectStoreType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 421 |     dev_capability_data: *const u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BosDevCapabilityDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length`, `descriptor_type`, `total_length`, `device_capability_count`, and `dev_capability` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:426:5
[INFO] [stdout]     |
[INFO] [stdout] 425 | struct BinaryObjectStoreDescriptor {
[INFO] [stdout]     |        --------------------------- fields in this struct
[INFO] [stdout] 426 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 427 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 428 |     total_length: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 429 |     device_capability_count: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 430 |     dev_capability: Vec<BosDevCapabilityDescriptor>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinaryObjectStoreDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibusbUsb20ExtensionDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:433:8
[INFO] [stdout]     |
[INFO] [stdout] 433 | struct LibusbUsb20ExtensionDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SsUsbDeviceCapabilityDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:440:8
[INFO] [stdout]     |
[INFO] [stdout] 440 | struct SsUsbDeviceCapabilityDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SuperSpeedPlusSublinkAttributeSublinkType` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:451:6
[INFO] [stdout]     |
[INFO] [stdout] 451 | enum SuperSpeedPlusSublinkAttributeSublinkType {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SuperspeedplusSublinkAttributeSublinkDirection` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:456:6
[INFO] [stdout]     |
[INFO] [stdout] 456 | enum SuperspeedplusSublinkAttributeSublinkDirection {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SuperspeedplusSublinkAttributeExponent` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:461:6
[INFO] [stdout]     |
[INFO] [stdout] 461 | enum SuperspeedplusSublinkAttributeExponent {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SuperspeedplusSublinkAttributeLinkProtocol` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:468:6
[INFO] [stdout]     |
[INFO] [stdout] 468 | enum SuperspeedplusSublinkAttributeLinkProtocol {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LibusbSuperspeedplusSublinkAttributeExponent` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:473:6
[INFO] [stdout]     |
[INFO] [stdout] 473 | enum LibusbSuperspeedplusSublinkAttributeExponent { LibusbSsplusAttrExpBps = 0, LibusbSsplusAttrExpKbs = 1, LibusbSsplusAttrExpMbs ...
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LibusbSuperspeedplusSublinkAttributeSublinkType` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:475:6
[INFO] [stdout]     |
[INFO] [stdout] 475 | enum LibusbSuperspeedplusSublinkAttributeSublinkType {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibusbSsplusSublinkAttribute` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:479:8
[INFO] [stdout]     |
[INFO] [stdout] 479 | struct LibusbSsplusSublinkAttribute {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SsplusUsbDeviceCapabilityDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 488 | struct SsplusUsbDeviceCapabilityDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContainerIdDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:497:8
[INFO] [stdout]     |
[INFO] [stdout] 497 | struct ContainerIdDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `USBPlatformDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:505:8
[INFO] [stdout]     |
[INFO] [stdout] 505 | struct USBPlatformDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Packet` is never constructed
[INFO] [stdout]  --> src/device.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Packet {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `InterfaceExpert` is never used
[INFO] [stdout]   --> src/device.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | trait InterfaceExpert {}
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Endpoint` is never constructed
[INFO] [stdout]   --> src/device.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Endpoint {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Interface` is never constructed
[INFO] [stdout]   --> src/device.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Interface {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Configuration` is never constructed
[INFO] [stdout]   --> src/device.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Configuration {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Device` is never constructed
[INFO] [stdout]   --> src/device.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Device {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_devices` is never used
[INFO] [stdout]   --> src/device.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn parse_devices(packets: Vec<EnhancedPacketBlock>) -> HashMap<u8, Vec<Device>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/total_phase_parser.rs:512:17
[INFO] [stdout]     |
[INFO] [stdout] 512 |     pub fn read(&mut self) -> Result<Vec<USBPacket>, Box<dyn Error>> {
[INFO] [stdout]     |                 ^^^^^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 512 |     pub fn read(&mut self) -> Result<Vec<USBPacket<'_>>, Box<dyn Error>> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/total_phase_parser.rs:527:22
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn read_tree(&mut self, interesting_only: bool) -> Result<Arena<USBPacket>, Box<dyn Error>> {
[INFO] [stdout]     |                      ^^^^^^^^^ the lifetime is elided here              ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn read_tree(&mut self, interesting_only: bool) -> Result<Arena<USBPacket<'_>>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `demuxusb-rs` (lib test) due to 6 previous errors; 76 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: type `USBDeviceDescriptor` is more private than the item `USBDescriptor::Device::0`
[INFO] [stdout]    --> src/usb_request_block.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 |     Device(USBDeviceDescriptor),
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Device::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `USBDeviceDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct USBDeviceDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `USBConfigDescriptor` is more private than the item `USBDescriptor::Configuration::0`
[INFO] [stdout]    --> src/usb_request_block.rs:121:19
[INFO] [stdout]     |
[INFO] [stdout] 121 |     Configuration(USBConfigDescriptor),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Configuration::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `USBConfigDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | struct USBConfigDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `InterfaceDescriptor` is more private than the item `USBDescriptor::Interface::0`
[INFO] [stdout]    --> src/usb_request_block.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 |     Interface(InterfaceDescriptor),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Interface::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `InterfaceDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | struct InterfaceDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `EndpointDescriptor` is more private than the item `USBDescriptor::Endpoint::0`
[INFO] [stdout]    --> src/usb_request_block.rs:124:14
[INFO] [stdout]     |
[INFO] [stdout] 124 |     Endpoint(EndpointDescriptor),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Endpoint::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `EndpointDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:341:1
[INFO] [stdout]     |
[INFO] [stdout] 341 | struct EndpointDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `InterfaceAssociationDescriptor` is more private than the item `USBDescriptor::InterfaceAssociation::0`
[INFO] [stdout]    --> src/usb_request_block.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 |     InterfaceAssociation(InterfaceAssociationDescriptor),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::InterfaceAssociation::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `InterfaceAssociationDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:355:1
[INFO] [stdout]     |
[INFO] [stdout] 355 | struct InterfaceAssociationDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BinaryObjectStoreDescriptor` is more private than the item `USBDescriptor::BOS::0`
[INFO] [stdout]    --> src/usb_request_block.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |     BOS(BinaryObjectStoreDescriptor),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::BOS::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BinaryObjectStoreDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:425:1
[INFO] [stdout]     |
[INFO] [stdout] 425 | struct BinaryObjectStoreDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BosDevCapabilityDescriptor` is more private than the item `USBDescriptor::DeviceCapability::0`
[INFO] [stdout]    --> src/usb_request_block.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |     DeviceCapability(BosDevCapabilityDescriptor),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::DeviceCapability::0` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `BosDevCapabilityDescriptor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/usb_request_block.rs:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | struct BosDevCapabilityDescriptor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `csv_path` and `bin_path` are never read
[INFO] [stdout]    --> src/total_phase_parser.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct TotalPhaseReader {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 137 |     csv_path: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 138 |     bin_path: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_field` is never used
[INFO] [stdout]    --> src/total_phase_parser.rs:728:4
[INFO] [stdout]     |
[INFO] [stdout] 728 | fn record_field<'a>(row: &'a HashMap<String, String>, key: &str) -> &'a str {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `USBSetAddress` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct USBSetAddress {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]     = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `USBGetDeviceDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:226:12
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct USBGetDeviceDescriptor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `USBDevice` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct USBDevice {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `USBConfiguration` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub struct USBConfiguration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `USBInterface` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct USBInterface {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `USBEndpoint` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:278:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub struct USBEndpoint {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LibusbBtWirelessUsbDeviceCapability`, `LibusbBtUsb20Extension`, `LibusbBtSsUsbDeviceCapability`, and `LibusbBtContainerId` are never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | enum USBBinaryObjectStoreType {
[INFO] [stdout]     |      ------------------------ variants in this enum
[INFO] [stdout] 134 |     LibusbBtWirelessUsbDeviceCapability = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 135 |     LibusbBtUsb20Extension = 2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 136 |     LibusbBtSsUsbDeviceCapability = 3,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 |     LibusbBtContainerId = 4,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBBinaryObjectStoreType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEVICE_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:140:7
[INFO] [stdout]     |
[INFO] [stdout] 140 | const DEVICE_SIZE: u8 = 18;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONFIG_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:141:7
[INFO] [stdout]     |
[INFO] [stdout] 141 | const CONFIG_SIZE: u8 = 9;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERFACE_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:142:7
[INFO] [stdout]     |
[INFO] [stdout] 142 | const INTERFACE_SIZE: u8 = 9;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:143:7
[INFO] [stdout]     |
[INFO] [stdout] 143 | const ENDPOINT_SIZE: u8 = 7;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT_AUDIO_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:144:7
[INFO] [stdout]     |
[INFO] [stdout] 144 | const ENDPOINT_AUDIO_SIZE: u8 = 9;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HUB_NONVAR_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:145:7
[INFO] [stdout]     |
[INFO] [stdout] 145 | const HUB_NONVAR_SIZE: u8 = 7;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SS_ENDPOINT_COMPANION_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:146:7
[INFO] [stdout]     |
[INFO] [stdout] 146 | const SS_ENDPOINT_COMPANION_SIZE: u8 = 6;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOS_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:147:7
[INFO] [stdout]     |
[INFO] [stdout] 147 | const BOS_SIZE: u8 = 5;
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEVICE_CAPABILITY_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:148:7
[INFO] [stdout]     |
[INFO] [stdout] 148 | const DEVICE_CAPABILITY_SIZE: u8 = 3;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERFACE_ASSOCIATION_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:149:7
[INFO] [stdout]     |
[INFO] [stdout] 149 | const INTERFACE_ASSOCIATION_SIZE: u8 = 8;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BT_USB_2_0_EXTENSION_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 152 | const BT_USB_2_0_EXTENSION_SIZE: u8 = 7;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BT_SS_USB_DEVICE_CAPABILITY_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:153:7
[INFO] [stdout]     |
[INFO] [stdout] 153 | const BT_SS_USB_DEVICE_CAPABILITY_SIZE: u8 = 10;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BT_SSPLUS_USB_DEVICE_CAPABILITY_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:154:7
[INFO] [stdout]     |
[INFO] [stdout] 154 | const BT_SSPLUS_USB_DEVICE_CAPABILITY_SIZE: u8 = 12;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BT_CONTAINER_ID_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:155:7
[INFO] [stdout]     |
[INFO] [stdout] 155 | const BT_CONTAINER_ID_SIZE: u8 = 20;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BT_PLATFORM_DESCRIPTOR_MIN_SIZE` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:156:7
[INFO] [stdout]     |
[INFO] [stdout] 156 | const BT_PLATFORM_DESCRIPTOR_MIN_SIZE: u8 = 20;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT_ADDRESS_MASK` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:158:7
[INFO] [stdout]     |
[INFO] [stdout] 158 | const ENDPOINT_ADDRESS_MASK: u8 = 0x0f;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENDPOINT_DIR_MASK` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:159:7
[INFO] [stdout]     |
[INFO] [stdout] 159 | const ENDPOINT_DIR_MASK: u8 = 0x80;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USB_ENDPOINT_IN_MASK` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:170:7
[INFO] [stdout]     |
[INFO] [stdout] 170 | const USB_ENDPOINT_IN_MASK: u8 = 0x80;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USB_ENDPOINT_OUT_MASK` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:171:7
[INFO] [stdout]     |
[INFO] [stdout] 171 | const USB_ENDPOINT_OUT_MASK: u8 = 0x80;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USB_ENDPOINT_ID` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:172:7
[INFO] [stdout]     |
[INFO] [stdout] 172 | const USB_ENDPOINT_ID: u8 = 0x7F;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPLE_VID` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:174:7
[INFO] [stdout]     |
[INFO] [stdout] 174 | const APPLE_VID: u16 = 0x05ac;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USB_CLASS_APPLICATION_SPECIFIC` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:175:7
[INFO] [stdout]     |
[INFO] [stdout] 175 | const USB_CLASS_APPLICATION_SPECIFIC: u8 = 0xFF;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USB_SUBCLASS_DFU` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:176:7
[INFO] [stdout]     |
[INFO] [stdout] 176 | const USB_SUBCLASS_DFU: u8 = 0x01;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPLE_SUBCLASS_USBMUX` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:177:7
[INFO] [stdout]     |
[INFO] [stdout] 177 | const APPLE_SUBCLASS_USBMUX: u8 = 0xFE;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPLE_PROTOCOL_USBMUX2` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:178:7
[INFO] [stdout]     |
[INFO] [stdout] 178 | const APPLE_PROTOCOL_USBMUX2: u8 = 0x02;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSFER_TYPE_MASK` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:180:7
[INFO] [stdout]     |
[INFO] [stdout] 180 | const TRANSFER_TYPE_MASK: u8 = 0x03;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `URBRecordType` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:182:6
[INFO] [stdout]     |
[INFO] [stdout] 182 | enum URBRecordType {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AppleUSBDeviceID` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:194:6
[INFO] [stdout]     |
[INFO] [stdout] 194 | enum AppleUSBDeviceID {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device_id` is never read
[INFO] [stdout]    --> src/usb_request_block.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct USBSetAddress {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 223 |     device_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device_id` and `index` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct USBGetDeviceDescriptor {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 227 |     device_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 228 |     index: u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `global_id`, `local_device_id`, `configurations`, and `endpoints` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct USBDevice {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 262 |     global_id: Uuid,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 263 |     local_device_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 264 |     configurations: Map<u8, USBConfiguration>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 265 |     endpoints: Map<u8, USBEndpoint>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interfaces` is never read
[INFO] [stdout]    --> src/usb_request_block.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub struct USBConfiguration {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 269 |     interfaces: Map<u8, USBInterface>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `configuration_id`, `input_id`, and `output_id` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:273:5
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct USBInterface {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 273 |     configuration_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 274 |     input_id: u8,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 275 |     output_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `endpoint_id`, `direction`, and `urbs` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub struct USBEndpoint {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 279 |     endpoint_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 280 |     direction: USBDirection,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 281 |     urbs: Vec<USBRequestBlock>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/usb_request_block.rs:324:5
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct USBDeviceDescriptor {
[INFO] [stdout]     |        ------------------- fields in this struct
[INFO] [stdout] 324 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 325 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 326 |     bcd_usb: u16,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 327 |     device_class: USBClassCode,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 328 |     device_sub_class: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 329 |     device_protocol: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 330 |     max_packet_size: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 331 |     vendor_id: u16,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 332 |     product_id: u16,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 333 |     bcd_device: u16,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 334 |     index_manufacturer: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 335 |     index_product: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 336 |     index_serial_number: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 337 |     configuration_count: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBDeviceDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/usb_request_block.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 341 | struct EndpointDescriptor {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 342 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 343 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 344 |     endpoint_address: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 345 |     attributes: USBAttributes,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 346 |     max_packet_size: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 347 |     polling_interval: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 348 |     refresh: u8,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 349 |     synch_address: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 350 |     extra: *const u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 351 |     extra_length: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EndpointDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/usb_request_block.rs:356:5
[INFO] [stdout]     |
[INFO] [stdout] 355 | struct InterfaceAssociationDescriptor {
[INFO] [stdout]     |        ------------------------------ fields in this struct
[INFO] [stdout] 356 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 357 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 358 |     first_interface: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 359 |     interface_count: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 360 |     function_class: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 361 |     function_sub_class: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 362 |     function_protocol: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 363 |     function_index: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InterfaceAssociationDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InterfaceAssociationDescriptorArray` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:366:8
[INFO] [stdout]     |
[INFO] [stdout] 366 | struct InterfaceAssociationDescriptorArray {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/usb_request_block.rs:373:5
[INFO] [stdout]     |
[INFO] [stdout] 372 | struct InterfaceDescriptor {
[INFO] [stdout]     |        ------------------- fields in this struct
[INFO] [stdout] 373 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 374 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 375 |     interface_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 376 |     interface_alternative: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 377 |     endpoint_count: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 378 |     interface_class: USBClassCode,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 379 |     interface_sub_class: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 380 |     interface_protocol: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 381 |     interface_index: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 382 |     endpoint: EndpointDescriptor,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 383 |     extra: *const u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 384 |     extra_length: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InterfaceDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `altsetting` and `alternate_setting_count` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:389:5
[INFO] [stdout]     |
[INFO] [stdout] 388 | struct USBInterfaceDescriptor {
[INFO] [stdout]     |        ---------------------- fields in this struct
[INFO] [stdout] 389 |     altsetting: InterfaceDescriptor,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 390 |     alternate_setting_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBInterfaceDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/usb_request_block.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 394 | struct USBConfigDescriptor {
[INFO] [stdout]     |        ------------------- fields in this struct
[INFO] [stdout] 395 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 396 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 397 |     total_length: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 398 |     interface_count: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 399 |     configuration_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 400 |     configuration_index: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 401 |     attributes: USBAttributes,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 402 |     max_power: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 403 |     interface: USBInterfaceDescriptor,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 404 |     extra: *const u8,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 405 |     extra_length: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBConfigDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SsEndpointCompanionDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:408:8
[INFO] [stdout]     |
[INFO] [stdout] 408 | struct SsEndpointCompanionDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length`, `descriptor_type`, `compatability_type`, and `dev_capability_data` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:418:5
[INFO] [stdout]     |
[INFO] [stdout] 417 | struct BosDevCapabilityDescriptor {
[INFO] [stdout]     |        -------------------------- fields in this struct
[INFO] [stdout] 418 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 419 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 420 |     compatability_type: USBBinaryObjectStoreType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 421 |     dev_capability_data: *const u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BosDevCapabilityDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length`, `descriptor_type`, `total_length`, `device_capability_count`, and `dev_capability` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:426:5
[INFO] [stdout]     |
[INFO] [stdout] 425 | struct BinaryObjectStoreDescriptor {
[INFO] [stdout]     |        --------------------------- fields in this struct
[INFO] [stdout] 426 |     length: u8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 427 |     descriptor_type: USBDescriptorType,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 428 |     total_length: u16,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 429 |     device_capability_count: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 430 |     dev_capability: Vec<BosDevCapabilityDescriptor>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinaryObjectStoreDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibusbUsb20ExtensionDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:433:8
[INFO] [stdout]     |
[INFO] [stdout] 433 | struct LibusbUsb20ExtensionDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SsUsbDeviceCapabilityDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:440:8
[INFO] [stdout]     |
[INFO] [stdout] 440 | struct SsUsbDeviceCapabilityDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SuperSpeedPlusSublinkAttributeSublinkType` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:451:6
[INFO] [stdout]     |
[INFO] [stdout] 451 | enum SuperSpeedPlusSublinkAttributeSublinkType {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SuperspeedplusSublinkAttributeSublinkDirection` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:456:6
[INFO] [stdout]     |
[INFO] [stdout] 456 | enum SuperspeedplusSublinkAttributeSublinkDirection {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SuperspeedplusSublinkAttributeExponent` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:461:6
[INFO] [stdout]     |
[INFO] [stdout] 461 | enum SuperspeedplusSublinkAttributeExponent {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SuperspeedplusSublinkAttributeLinkProtocol` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:468:6
[INFO] [stdout]     |
[INFO] [stdout] 468 | enum SuperspeedplusSublinkAttributeLinkProtocol {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LibusbSuperspeedplusSublinkAttributeExponent` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:473:6
[INFO] [stdout]     |
[INFO] [stdout] 473 | enum LibusbSuperspeedplusSublinkAttributeExponent { LibusbSsplusAttrExpBps = 0, LibusbSsplusAttrExpKbs = 1, LibusbSsplusAttrExpMbs ...
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LibusbSuperspeedplusSublinkAttributeSublinkType` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:475:6
[INFO] [stdout]     |
[INFO] [stdout] 475 | enum LibusbSuperspeedplusSublinkAttributeSublinkType {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibusbSsplusSublinkAttribute` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:479:8
[INFO] [stdout]     |
[INFO] [stdout] 479 | struct LibusbSsplusSublinkAttribute {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SsplusUsbDeviceCapabilityDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:488:8
[INFO] [stdout]     |
[INFO] [stdout] 488 | struct SsplusUsbDeviceCapabilityDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContainerIdDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:497:8
[INFO] [stdout]     |
[INFO] [stdout] 497 | struct ContainerIdDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `USBPlatformDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:505:8
[INFO] [stdout]     |
[INFO] [stdout] 505 | struct USBPlatformDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Packet` is never constructed
[INFO] [stdout]  --> src/device.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Packet {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `InterfaceExpert` is never used
[INFO] [stdout]   --> src/device.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | trait InterfaceExpert {}
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Endpoint` is never constructed
[INFO] [stdout]   --> src/device.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Endpoint {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Interface` is never constructed
[INFO] [stdout]   --> src/device.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Interface {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Configuration` is never constructed
[INFO] [stdout]   --> src/device.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Configuration {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Device` is never constructed
[INFO] [stdout]   --> src/device.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Device {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_devices` is never used
[INFO] [stdout]   --> src/device.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn parse_devices(packets: Vec<EnhancedPacketBlock>) -> HashMap<u8, Vec<Device>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/total_phase_parser.rs:512:17
[INFO] [stdout]     |
[INFO] [stdout] 512 |     pub fn read(&mut self) -> Result<Vec<USBPacket>, Box<dyn Error>> {
[INFO] [stdout]     |                 ^^^^^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 512 |     pub fn read(&mut self) -> Result<Vec<USBPacket<'_>>, Box<dyn Error>> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/total_phase_parser.rs:527:22
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn read_tree(&mut self, interesting_only: bool) -> Result<Arena<USBPacket>, Box<dyn Error>> {
[INFO] [stdout]     |                      ^^^^^^^^^ the lifetime is elided here              ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn read_tree(&mut self, interesting_only: bool) -> Result<Arena<USBPacket<'_>>, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `demuxusb-rs` (lib) due to 6 previous errors; 76 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "257239443d142693d1183b23787d6ffbd61a7038136e3fbd301f80f2ed7cec84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "257239443d142693d1183b23787d6ffbd61a7038136e3fbd301f80f2ed7cec84", kill_on_drop: false }`
[INFO] [stdout] 257239443d142693d1183b23787d6ffbd61a7038136e3fbd301f80f2ed7cec84
