[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] testing hack-different/demuxusb-rs against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhack-different%2Fdemuxusb-rs" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/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-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hack-different/demuxusb-rs on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded derive-into-owned v0.2.0
[INFO] [stderr]   Downloaded byteorder_slice v3.0.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.9.0-alpha.0
[INFO] [stderr]   Downloaded pcap-file v2.0.0
[INFO] [stderr]   Downloaded indextree-macros v0.1.3
[INFO] [stderr]   Downloaded display_tree v1.1.2
[INFO] [stderr]   Downloaded display_tree_derive v1.0.3
[INFO] [stderr]   Downloaded indextree v4.8.1
[INFO] [stderr]   Downloaded zerocopy v0.9.0-alpha.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7ca2c9e09b131b2c9a3f3e3feae150965bdee657eab68b2cf67459473655619f
[INFO] running `Command { std: "docker" "start" "-a" "7ca2c9e09b131b2c9a3f3e3feae150965bdee657eab68b2cf67459473655619f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7ca2c9e09b131b2c9a3f3e3feae150965bdee657eab68b2cf67459473655619f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ca2c9e09b131b2c9a3f3e3feae150965bdee657eab68b2cf67459473655619f", kill_on_drop: false }`
[INFO] [stdout] 7ca2c9e09b131b2c9a3f3e3feae150965bdee657eab68b2cf67459473655619f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d93b71afc2755fb1d4fb89f1519eda2329a6ff6de53995ab46cd610d47dc16c2
[INFO] running `Command { std: "docker" "start" "-a" "d93b71afc2755fb1d4fb89f1519eda2329a6ff6de53995ab46cd610d47dc16c2", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling zerocopy v0.9.0-alpha.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling byteorder_slice v3.0.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[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]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling display_tree v1.1.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerocopy-derive v0.9.0-alpha.0
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling pcap-file v2.0.0
[INFO] [stderr]    Compiling indextree-macros v0.1.3
[INFO] [stderr]    Compiling indextree v4.8.1
[INFO] [stderr]    Compiling 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: 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] 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] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error;
[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] 
[INFO] [stdout] warning: unused import: `ArgMatches`
[INFO] [stdout]  --> src/main.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use clap::{arg, ArgMatches, Command};
[INFO] [stdout]   |                 ^^^^^^^^^^
[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(crate)`
[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(crate)`
[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(crate)`
[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(crate)`
[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(crate)`
[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(crate)`
[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(crate)`
[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: variant `DirectionNone` is never constructed
[INFO] [stdout]  --> src/usb_request_block.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum USBDirection {
[INFO] [stdout]   |          ------------ variant in this enum
[INFO] [stdout] 8 |     DirectionNone,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `USBDirection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Isochronous` and `Interrupt` are never constructed
[INFO] [stdout]   --> src/usb_request_block.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum USBTransferType {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Isochronous,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 18 |     Interrupt,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `USBTransferType` 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: multiple variants are never constructed
[INFO] [stdout]   --> src/usb_request_block.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum USBFunction {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 24 |     UsbDefaultMaxPacket = 64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     SelectConfiguration = 0x0000,
[INFO] [stdout] 26 |     SelectInterface = 0x0001,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     AbortPipe = 0x0002,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 28 |     TakeFrameLengthControl = 0x0003,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     ReleaseFrameLengthControl = 0x0004,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     GetFrameLength = 0x0005,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     SetFrameLength = 0x0006,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     GetCurrentFrameNumber = 0x0007,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     IsochTransfer = 0x000A,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     GetDescriptorFromDevice = 0x000B,
[INFO] [stdout] 38 |     SetDescriptorToDevice = 0x000C,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     SetFeatureToDevice = 0x000D,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     SetFeatureToInterface = 0x000E,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     SetFeatureToEndpoint = 0x000F,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     ClearFeatureToDevice = 0x0010,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     ClearFeatureToInterface = 0x0011,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     ClearFeatureToEndpoint = 0x0012,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     GetStatusFromDevice = 0x0013,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     GetStatusFromInterface = 0x0014,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     GetStatusFromEndpoint = 0x0015,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 48 |     VendorDevice = 0x0017,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 49 |     VendorInterface = 0x0018,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     VendorEndpoint = 0x0019,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     ClassDevice = 0x001A,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 52 |     ClassInterface = 0x001B,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     ClassEndpoint = 0x001C,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 54 |     SyncResetPipeAndClearStall = 0x001E,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 55 |     ClassOther = 0x001F,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 56 |     VendorOther = 0x0020,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 57 |     GetStatusFromOther = 0x0021,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 58 |     ClearFeatureToOther = 0x0022,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |     UrbFunctionSetFeatureToOther = 0x0023,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     GetDescriptorFromEndpoint = 0x0024,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     SetDescriptorToEndpoint = 0x0025,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 62 |     GetConfiguration = 0x0026,
[INFO] [stdout] 63 |     GetInterface = 0x0027,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 64 |     GetDescriptorFromInterface = 0x0028,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 65 |     SetDescriptorToInterface = 0x0029,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `USBFunction` 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: variants `Status` and `Complete` are never constructed
[INFO] [stdout]   --> src/usb_request_block.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub enum USBControlStage {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 73 |     Status,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 74 |     Complete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `USBControlStage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USBClassCode` is never used
[INFO] [stdout]   --> src/usb_request_block.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub enum USBClassCode {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USBDescriptorType` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub enum USBDescriptorType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USBDescriptor` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub enum USBDescriptor {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USBBinaryObjectStoreType` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:133:6
[INFO] [stdout]     |
[INFO] [stdout] 133 | enum USBBinaryObjectStoreType {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[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: 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] 
[INFO] [stdout] warning: 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] 
[INFO] [stdout] warning: fields `speed` and `duration_ns` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub struct USBRequestBlock {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 233 |     pub direction: USBDirection,
[INFO] [stdout] 234 |     pub speed: USBSpeed,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub duration_ns: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBRequestBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_unconfigured`, `is_control`, and `is_default` are never used
[INFO] [stdout]    --> src/usb_request_block.rs:247:12
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl USBRequestBlock {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 247 |     pub fn is_unconfigured(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn is_control(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn is_default(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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] 
[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: 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] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:287:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub enum USBControlRequestType {
[INFO] [stdout]     |          --------------------- variants in this enum
[INFO] [stdout] 287 | UsbReqGetStatus =   0x00,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 288 | UsbReqClearFeature =      0x01,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 289 | UsbReqSetFeature =    0x03,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 290 | UsbReqSetAddress =   0x05,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 291 | UsbReqGetDescriptor =     0x06,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 292 | UsbReqSetDescriptor =    0x07,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 293 |  UsbReqGetConfiguration =   0x08,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 294 | UsbReqSetConfiguration =  0x09,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 295 |  UsbReqGetInterface =  0x0A,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 296 | UsbReqSetInterface =      0x0B,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 297 |  UsbReqSynchFrame =   0x0C,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 298 | UsbReqSetSel =  0x30,
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout] 299 | UsbReqSetEncryption =     0x0D,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 300 | UsbReqGetEncryption =    0x0E,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 301 |  UsbReqSetHandshake =   0x0F,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 302 | UsbReqGetHandshake =   0x10,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 303 | UsbReqSetConnection =     0x11,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 304 |  UsbReqSetSecurityData =  0x12,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 305 | UsbReqGetSecurityData = 0x13,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 306 | UsbReqSetWusbData =  0x14,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 307 |  UsbReqLoopbackDataWrite =  0x15,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 308 | UsbReqLoopbackDataRead =  0x16,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 309 |  UsbReqSetInterfaceDs =  0x17,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBControlRequestType` 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: struct `USBDeviceDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:323:8
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct USBDeviceDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EndpointDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | struct EndpointDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InterfaceAssociationDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 355 | struct InterfaceAssociationDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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: struct `InterfaceDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:372:8
[INFO] [stdout]     |
[INFO] [stdout] 372 | struct InterfaceDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `USBInterfaceDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:388:8
[INFO] [stdout]     |
[INFO] [stdout] 388 | struct USBInterfaceDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `USBConfigDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | struct USBConfigDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[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: struct `BosDevCapabilityDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:417:8
[INFO] [stdout]     |
[INFO] [stdout] 417 | struct BosDevCapabilityDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinaryObjectStoreDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 | struct BinaryObjectStoreDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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: variants `ChipK`, `TinyK`, and `TinyJ` are never constructed
[INFO] [stdout]   --> src/total_phase_parser.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub enum USB3Signal {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 53 |     ChipK,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 54 |     TinyK,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 55 |     ChirpK,
[INFO] [stdout] 56 |     TinyJ,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `USB3Signal` 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: field `0` is never read
[INFO] [stdout]    --> src/total_phase_parser.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |     PartialData(Vec<u8>),
[INFO] [stdout]     |     ----------- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 132 -     PartialData(Vec<u8>),
[INFO] [stdout] 132 +     PartialData(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/total_phase_parser.rs:133:10
[INFO] [stdout]     |
[INFO] [stdout] 133 |     Data(Vec<u8>),
[INFO] [stdout]     |     ---- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 133 -     Data(Vec<u8>),
[INFO] [stdout] 133 +     Data(()),
[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] 
[INFO] [stdout] warning: fields `short_data` and `children` are never read
[INFO] [stdout]    --> src/total_phase_parser.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct USBPacket<'a> {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub short_data: DataRecord,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub children: Vec<&'a USBPacket<'a>>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_child` and `dict_data` are never used
[INFO] [stdout]    --> src/total_phase_parser.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl<'a> USBPacket<'a> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn add_child(&mut self, child: &'a USBPacket) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn dict_data(&self) -> HashMap<&str, String> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_data` is never used
[INFO] [stdout]    --> src/total_phase_parser.rs:555:12
[INFO] [stdout]     |
[INFO] [stdout] 488 | impl TotalPhaseReader {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 555 |     pub fn read_data(&mut self, packet: USBPacket) -> Option<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^
[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] warning: field `data` is never read
[INFO] [stdout]  --> src/device.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Packet {
[INFO] [stdout]   |        ------ field in this struct
[INFO] [stdout] 8 |     data: Vec<u8>
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `endpoint_id` and `packets` are never read
[INFO] [stdout]   --> src/device.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Endpoint {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 12 |     endpoint_id: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 13 |     packets: Vec<Packet>
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `descriptor`, `endpoints`, and `expert` are never read
[INFO] [stdout]   --> src/device.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Interface {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 17 |   descriptor:  USBInterface,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout] 18 |     endpoints: HashMap<u8, Endpoint>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     expert: Option<Box<dyn InterfaceExpert>>
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `descriptor`, `expert`, and `interfaces` are never read
[INFO] [stdout]   --> src/device.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Configuration {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 23 |     descriptor: USBConfiguration,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 24 |     expert: Option<Box<dyn InterfaceExpert>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     interfaces: HashMap<u8, Interface>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device_id`, `current_configuration`, `configurations`, and `strings` are never read
[INFO] [stdout]   --> src/device.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Device {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 29 |     device_id: u8,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 30 |     current_configuration: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     configurations: HashMap<u8, Configuration>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     strings: HashMap<u8, HashMap<u8, String>>,
[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]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.26s
[INFO] running `Command { std: "docker" "inspect" "d93b71afc2755fb1d4fb89f1519eda2329a6ff6de53995ab46cd610d47dc16c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d93b71afc2755fb1d4fb89f1519eda2329a6ff6de53995ab46cd610d47dc16c2", kill_on_drop: false }`
[INFO] [stdout] d93b71afc2755fb1d4fb89f1519eda2329a6ff6de53995ab46cd610d47dc16c2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cb4b93d1c820aa40fc02992cb822a02b5ee3ea3e0e0bb7f2d39b2ddad01e24ea
[INFO] running `Command { std: "docker" "start" "-a" "cb4b93d1c820aa40fc02992cb822a02b5ee3ea3e0e0bb7f2d39b2ddad01e24ea", kill_on_drop: false }`
[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] 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]    Compiling demuxusb-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error;
[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] 
[INFO] [stdout] warning: unused import: `ArgMatches`
[INFO] [stdout]  --> src/main.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use clap::{arg, ArgMatches, Command};
[INFO] [stdout]   |                 ^^^^^^^^^^
[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(crate)`
[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(crate)`
[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(crate)`
[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(crate)`
[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(crate)`
[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(crate)`
[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(crate)`
[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: variant `DirectionNone` is never constructed
[INFO] [stdout]  --> src/usb_request_block.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum USBDirection {
[INFO] [stdout]   |          ------------ variant in this enum
[INFO] [stdout] 8 |     DirectionNone,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `USBDirection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Isochronous` and `Interrupt` are never constructed
[INFO] [stdout]   --> src/usb_request_block.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum USBTransferType {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Isochronous,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 18 |     Interrupt,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `USBTransferType` 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: multiple variants are never constructed
[INFO] [stdout]   --> src/usb_request_block.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum USBFunction {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 24 |     UsbDefaultMaxPacket = 64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     SelectConfiguration = 0x0000,
[INFO] [stdout] 26 |     SelectInterface = 0x0001,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     AbortPipe = 0x0002,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 28 |     TakeFrameLengthControl = 0x0003,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     ReleaseFrameLengthControl = 0x0004,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     GetFrameLength = 0x0005,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     SetFrameLength = 0x0006,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     GetCurrentFrameNumber = 0x0007,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     IsochTransfer = 0x000A,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     GetDescriptorFromDevice = 0x000B,
[INFO] [stdout] 38 |     SetDescriptorToDevice = 0x000C,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     SetFeatureToDevice = 0x000D,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     SetFeatureToInterface = 0x000E,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     SetFeatureToEndpoint = 0x000F,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     ClearFeatureToDevice = 0x0010,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     ClearFeatureToInterface = 0x0011,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     ClearFeatureToEndpoint = 0x0012,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     GetStatusFromDevice = 0x0013,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     GetStatusFromInterface = 0x0014,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     GetStatusFromEndpoint = 0x0015,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 48 |     VendorDevice = 0x0017,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 49 |     VendorInterface = 0x0018,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     VendorEndpoint = 0x0019,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     ClassDevice = 0x001A,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 52 |     ClassInterface = 0x001B,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     ClassEndpoint = 0x001C,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 54 |     SyncResetPipeAndClearStall = 0x001E,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 55 |     ClassOther = 0x001F,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 56 |     VendorOther = 0x0020,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 57 |     GetStatusFromOther = 0x0021,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 58 |     ClearFeatureToOther = 0x0022,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |     UrbFunctionSetFeatureToOther = 0x0023,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     GetDescriptorFromEndpoint = 0x0024,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     SetDescriptorToEndpoint = 0x0025,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 62 |     GetConfiguration = 0x0026,
[INFO] [stdout] 63 |     GetInterface = 0x0027,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 64 |     GetDescriptorFromInterface = 0x0028,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 65 |     SetDescriptorToInterface = 0x0029,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `USBFunction` 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: variants `Status` and `Complete` are never constructed
[INFO] [stdout]   --> src/usb_request_block.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub enum USBControlStage {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 73 |     Status,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 74 |     Complete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `USBControlStage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USBClassCode` is never used
[INFO] [stdout]   --> src/usb_request_block.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub enum USBClassCode {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USBDescriptorType` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub enum USBDescriptorType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USBDescriptor` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub enum USBDescriptor {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USBBinaryObjectStoreType` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:133:6
[INFO] [stdout]     |
[INFO] [stdout] 133 | enum USBBinaryObjectStoreType {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[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: 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] 
[INFO] [stdout] warning: 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] 
[INFO] [stdout] warning: fields `speed` and `duration_ns` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub struct USBRequestBlock {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 233 |     pub direction: USBDirection,
[INFO] [stdout] 234 |     pub speed: USBSpeed,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub duration_ns: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBRequestBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_unconfigured`, `is_control`, and `is_default` are never used
[INFO] [stdout]    --> src/usb_request_block.rs:247:12
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl USBRequestBlock {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 247 |     pub fn is_unconfigured(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn is_control(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn is_default(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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] 
[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: 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] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:287:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub enum USBControlRequestType {
[INFO] [stdout]     |          --------------------- variants in this enum
[INFO] [stdout] 287 | UsbReqGetStatus =   0x00,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 288 | UsbReqClearFeature =      0x01,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 289 | UsbReqSetFeature =    0x03,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 290 | UsbReqSetAddress =   0x05,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 291 | UsbReqGetDescriptor =     0x06,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 292 | UsbReqSetDescriptor =    0x07,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 293 |  UsbReqGetConfiguration =   0x08,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 294 | UsbReqSetConfiguration =  0x09,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 295 |  UsbReqGetInterface =  0x0A,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 296 | UsbReqSetInterface =      0x0B,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 297 |  UsbReqSynchFrame =   0x0C,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 298 | UsbReqSetSel =  0x30,
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout] 299 | UsbReqSetEncryption =     0x0D,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 300 | UsbReqGetEncryption =    0x0E,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 301 |  UsbReqSetHandshake =   0x0F,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 302 | UsbReqGetHandshake =   0x10,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 303 | UsbReqSetConnection =     0x11,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 304 |  UsbReqSetSecurityData =  0x12,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 305 | UsbReqGetSecurityData = 0x13,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 306 | UsbReqSetWusbData =  0x14,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 307 |  UsbReqLoopbackDataWrite =  0x15,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 308 | UsbReqLoopbackDataRead =  0x16,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 309 |  UsbReqSetInterfaceDs =  0x17,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBControlRequestType` 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: struct `USBDeviceDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:323:8
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct USBDeviceDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EndpointDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | struct EndpointDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InterfaceAssociationDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 355 | struct InterfaceAssociationDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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: struct `InterfaceDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:372:8
[INFO] [stdout]     |
[INFO] [stdout] 372 | struct InterfaceDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `USBInterfaceDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:388:8
[INFO] [stdout]     |
[INFO] [stdout] 388 | struct USBInterfaceDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `USBConfigDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | struct USBConfigDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[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: struct `BosDevCapabilityDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:417:8
[INFO] [stdout]     |
[INFO] [stdout] 417 | struct BosDevCapabilityDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinaryObjectStoreDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 | struct BinaryObjectStoreDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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: variants `ChipK`, `TinyK`, and `TinyJ` are never constructed
[INFO] [stdout]   --> src/total_phase_parser.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub enum USB3Signal {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 53 |     ChipK,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 54 |     TinyK,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 55 |     ChirpK,
[INFO] [stdout] 56 |     TinyJ,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `USB3Signal` 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: field `0` is never read
[INFO] [stdout]    --> src/total_phase_parser.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |     PartialData(Vec<u8>),
[INFO] [stdout]     |     ----------- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 132 -     PartialData(Vec<u8>),
[INFO] [stdout] 132 +     PartialData(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/total_phase_parser.rs:133:10
[INFO] [stdout]     |
[INFO] [stdout] 133 |     Data(Vec<u8>),
[INFO] [stdout]     |     ---- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 133 -     Data(Vec<u8>),
[INFO] [stdout] 133 +     Data(()),
[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] 
[INFO] [stdout] warning: fields `short_data` and `children` are never read
[INFO] [stdout]    --> src/total_phase_parser.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct USBPacket<'a> {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub short_data: DataRecord,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub children: Vec<&'a USBPacket<'a>>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_child` and `dict_data` are never used
[INFO] [stdout]    --> src/total_phase_parser.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl<'a> USBPacket<'a> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn add_child(&mut self, child: &'a USBPacket) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn dict_data(&self) -> HashMap<&str, String> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_data` is never used
[INFO] [stdout]    --> src/total_phase_parser.rs:555:12
[INFO] [stdout]     |
[INFO] [stdout] 488 | impl TotalPhaseReader {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 555 |     pub fn read_data(&mut self, packet: USBPacket) -> Option<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^
[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] warning: field `data` is never read
[INFO] [stdout]  --> src/device.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Packet {
[INFO] [stdout]   |        ------ field in this struct
[INFO] [stdout] 8 |     data: Vec<u8>
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `endpoint_id` and `packets` are never read
[INFO] [stdout]   --> src/device.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Endpoint {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 12 |     endpoint_id: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 13 |     packets: Vec<Packet>
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `descriptor`, `endpoints`, and `expert` are never read
[INFO] [stdout]   --> src/device.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Interface {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 17 |   descriptor:  USBInterface,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout] 18 |     endpoints: HashMap<u8, Endpoint>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     expert: Option<Box<dyn InterfaceExpert>>
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `descriptor`, `expert`, and `interfaces` are never read
[INFO] [stdout]   --> src/device.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Configuration {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 23 |     descriptor: USBConfiguration,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 24 |     expert: Option<Box<dyn InterfaceExpert>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     interfaces: HashMap<u8, Interface>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device_id`, `current_configuration`, `configurations`, and `strings` are never read
[INFO] [stdout]   --> src/device.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Device {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 29 |     device_id: u8,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 30 |     current_configuration: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     configurations: HashMap<u8, Configuration>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     strings: HashMap<u8, HashMap<u8, String>>,
[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] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error;
[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] 
[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: `ArgMatches`
[INFO] [stdout]  --> src/main.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use clap::{arg, ArgMatches, Command};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packets`
[INFO] [stdout]   --> tests/test_parse.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let packets = reader.read();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_packets`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (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(crate)`
[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(crate)`
[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(crate)`
[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(crate)`
[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(crate)`
[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(crate)`
[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(crate)`
[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: variant `DirectionNone` is never constructed
[INFO] [stdout]  --> src/usb_request_block.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum USBDirection {
[INFO] [stdout]   |          ------------ variant in this enum
[INFO] [stdout] 8 |     DirectionNone,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `USBDirection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Isochronous` and `Interrupt` are never constructed
[INFO] [stdout]   --> src/usb_request_block.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum USBTransferType {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Isochronous,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 18 |     Interrupt,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `USBTransferType` 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: multiple variants are never constructed
[INFO] [stdout]   --> src/usb_request_block.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum USBFunction {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 24 |     UsbDefaultMaxPacket = 64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     SelectConfiguration = 0x0000,
[INFO] [stdout] 26 |     SelectInterface = 0x0001,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     AbortPipe = 0x0002,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 28 |     TakeFrameLengthControl = 0x0003,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     ReleaseFrameLengthControl = 0x0004,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     GetFrameLength = 0x0005,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     SetFrameLength = 0x0006,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     GetCurrentFrameNumber = 0x0007,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     IsochTransfer = 0x000A,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     GetDescriptorFromDevice = 0x000B,
[INFO] [stdout] 38 |     SetDescriptorToDevice = 0x000C,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     SetFeatureToDevice = 0x000D,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     SetFeatureToInterface = 0x000E,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     SetFeatureToEndpoint = 0x000F,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     ClearFeatureToDevice = 0x0010,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     ClearFeatureToInterface = 0x0011,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     ClearFeatureToEndpoint = 0x0012,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     GetStatusFromDevice = 0x0013,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     GetStatusFromInterface = 0x0014,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     GetStatusFromEndpoint = 0x0015,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 48 |     VendorDevice = 0x0017,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 49 |     VendorInterface = 0x0018,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     VendorEndpoint = 0x0019,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     ClassDevice = 0x001A,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 52 |     ClassInterface = 0x001B,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     ClassEndpoint = 0x001C,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 54 |     SyncResetPipeAndClearStall = 0x001E,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 55 |     ClassOther = 0x001F,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 56 |     VendorOther = 0x0020,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 57 |     GetStatusFromOther = 0x0021,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 58 |     ClearFeatureToOther = 0x0022,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |     UrbFunctionSetFeatureToOther = 0x0023,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     GetDescriptorFromEndpoint = 0x0024,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     SetDescriptorToEndpoint = 0x0025,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 62 |     GetConfiguration = 0x0026,
[INFO] [stdout] 63 |     GetInterface = 0x0027,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 64 |     GetDescriptorFromInterface = 0x0028,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 65 |     SetDescriptorToInterface = 0x0029,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `USBFunction` 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: variants `Status` and `Complete` are never constructed
[INFO] [stdout]   --> src/usb_request_block.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub enum USBControlStage {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 73 |     Status,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 74 |     Complete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `USBControlStage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USBClassCode` is never used
[INFO] [stdout]   --> src/usb_request_block.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub enum USBClassCode {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USBDescriptorType` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub enum USBDescriptorType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USBDescriptor` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub enum USBDescriptor {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USBBinaryObjectStoreType` is never used
[INFO] [stdout]    --> src/usb_request_block.rs:133:6
[INFO] [stdout]     |
[INFO] [stdout] 133 | enum USBBinaryObjectStoreType {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[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: 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] 
[INFO] [stdout] warning: 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] 
[INFO] [stdout] warning: fields `speed` and `duration_ns` are never read
[INFO] [stdout]    --> src/usb_request_block.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub struct USBRequestBlock {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 233 |     pub direction: USBDirection,
[INFO] [stdout] 234 |     pub speed: USBSpeed,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub duration_ns: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBRequestBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_unconfigured`, `is_control`, and `is_default` are never used
[INFO] [stdout]    --> src/usb_request_block.rs:247:12
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl USBRequestBlock {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 247 |     pub fn is_unconfigured(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn is_control(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn is_default(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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] 
[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: 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] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:287:1
[INFO] [stdout]     |
[INFO] [stdout] 286 | pub enum USBControlRequestType {
[INFO] [stdout]     |          --------------------- variants in this enum
[INFO] [stdout] 287 | UsbReqGetStatus =   0x00,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 288 | UsbReqClearFeature =      0x01,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 289 | UsbReqSetFeature =    0x03,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 290 | UsbReqSetAddress =   0x05,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 291 | UsbReqGetDescriptor =     0x06,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 292 | UsbReqSetDescriptor =    0x07,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 293 |  UsbReqGetConfiguration =   0x08,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 294 | UsbReqSetConfiguration =  0x09,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 295 |  UsbReqGetInterface =  0x0A,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 296 | UsbReqSetInterface =      0x0B,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 297 |  UsbReqSynchFrame =   0x0C,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 298 | UsbReqSetSel =  0x30,
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout] 299 | UsbReqSetEncryption =     0x0D,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 300 | UsbReqGetEncryption =    0x0E,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 301 |  UsbReqSetHandshake =   0x0F,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 302 | UsbReqGetHandshake =   0x10,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 303 | UsbReqSetConnection =     0x11,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 304 |  UsbReqSetSecurityData =  0x12,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 305 | UsbReqGetSecurityData = 0x13,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 306 | UsbReqSetWusbData =  0x14,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 307 |  UsbReqLoopbackDataWrite =  0x15,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 308 | UsbReqLoopbackDataRead =  0x16,
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 309 |  UsbReqSetInterfaceDs =  0x17,
[INFO] [stdout]     |  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `USBControlRequestType` 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: struct `USBDeviceDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:323:8
[INFO] [stdout]     |
[INFO] [stdout] 323 | struct USBDeviceDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EndpointDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | struct EndpointDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InterfaceAssociationDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 355 | struct InterfaceAssociationDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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: struct `InterfaceDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:372:8
[INFO] [stdout]     |
[INFO] [stdout] 372 | struct InterfaceDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `USBInterfaceDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:388:8
[INFO] [stdout]     |
[INFO] [stdout] 388 | struct USBInterfaceDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `USBConfigDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | struct USBConfigDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[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: struct `BosDevCapabilityDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:417:8
[INFO] [stdout]     |
[INFO] [stdout] 417 | struct BosDevCapabilityDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinaryObjectStoreDescriptor` is never constructed
[INFO] [stdout]    --> src/usb_request_block.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 | struct BinaryObjectStoreDescriptor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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: variants `ChipK`, `TinyK`, and `TinyJ` are never constructed
[INFO] [stdout]   --> src/total_phase_parser.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub enum USB3Signal {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 53 |     ChipK,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 54 |     TinyK,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 55 |     ChirpK,
[INFO] [stdout] 56 |     TinyJ,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `USB3Signal` 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: field `0` is never read
[INFO] [stdout]    --> src/total_phase_parser.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |     PartialData(Vec<u8>),
[INFO] [stdout]     |     ----------- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 132 -     PartialData(Vec<u8>),
[INFO] [stdout] 132 +     PartialData(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/total_phase_parser.rs:133:10
[INFO] [stdout]     |
[INFO] [stdout] 133 |     Data(Vec<u8>),
[INFO] [stdout]     |     ---- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 133 -     Data(Vec<u8>),
[INFO] [stdout] 133 +     Data(()),
[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] 
[INFO] [stdout] warning: fields `short_data` and `children` are never read
[INFO] [stdout]    --> src/total_phase_parser.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct USBPacket<'a> {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub short_data: DataRecord,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub children: Vec<&'a USBPacket<'a>>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_child` and `dict_data` are never used
[INFO] [stdout]    --> src/total_phase_parser.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl<'a> USBPacket<'a> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn add_child(&mut self, child: &'a USBPacket) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn dict_data(&self) -> HashMap<&str, String> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_data` is never used
[INFO] [stdout]    --> src/total_phase_parser.rs:555:12
[INFO] [stdout]     |
[INFO] [stdout] 488 | impl TotalPhaseReader {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 555 |     pub fn read_data(&mut self, packet: USBPacket) -> Option<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^
[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] warning: field `data` is never read
[INFO] [stdout]  --> src/device.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Packet {
[INFO] [stdout]   |        ------ field in this struct
[INFO] [stdout] 8 |     data: Vec<u8>
[INFO] [stdout]   |     ^^^^
[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: fields `endpoint_id` and `packets` are never read
[INFO] [stdout]   --> src/device.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Endpoint {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 12 |     endpoint_id: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 13 |     packets: Vec<Packet>
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `descriptor`, `endpoints`, and `expert` are never read
[INFO] [stdout]   --> src/device.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Interface {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 17 |   descriptor:  USBInterface,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout] 18 |     endpoints: HashMap<u8, Endpoint>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     expert: Option<Box<dyn InterfaceExpert>>
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `descriptor`, `expert`, and `interfaces` are never read
[INFO] [stdout]   --> src/device.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Configuration {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 23 |     descriptor: USBConfiguration,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 24 |     expert: Option<Box<dyn InterfaceExpert>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     interfaces: HashMap<u8, Interface>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device_id`, `current_configuration`, `configurations`, and `strings` are never read
[INFO] [stdout]   --> src/device.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Device {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 29 |     device_id: u8,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 30 |     current_configuration: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     configurations: HashMap<u8, Configuration>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     strings: HashMap<u8, HashMap<u8, String>>,
[INFO] [stdout]    |     ^^^^^^^
[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: 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: 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: 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] [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] 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]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.98s
[INFO] running `Command { std: "docker" "inspect" "cb4b93d1c820aa40fc02992cb822a02b5ee3ea3e0e0bb7f2d39b2ddad01e24ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb4b93d1c820aa40fc02992cb822a02b5ee3ea3e0e0bb7f2d39b2ddad01e24ea", kill_on_drop: false }`
[INFO] [stdout] cb4b93d1c820aa40fc02992cb822a02b5ee3ea3e0e0bb7f2d39b2ddad01e24ea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 69ec1bce5e4e6df7454196097a0a4e62ee274a0d5128de107d58f91e29ae529a
[INFO] running `Command { std: "docker" "start" "-a" "69ec1bce5e4e6df7454196097a0a4e62ee274a0d5128de107d58f91e29ae529a", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `USBRequestBlock`
[INFO] [stderr]  --> src/device.rs:5:75
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub(crate) use crate::usb_request_block::{USBConfiguration, USBInterface, USBRequestBlock, USBControlRequest, USBControlRequestType};
[INFO] [stderr]   |                                                                           ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `USBDeviceDescriptor` is more private than the item `USBDescriptor::Device::0`
[INFO] [stderr]    --> src/usb_request_block.rs:120:12
[INFO] [stderr]     |
[INFO] [stderr] 120 |     Device(USBDeviceDescriptor),
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Device::0` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `USBDeviceDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:323:1
[INFO] [stderr]     |
[INFO] [stderr] 323 | struct USBDeviceDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `USBConfigDescriptor` is more private than the item `USBDescriptor::Configuration::0`
[INFO] [stderr]    --> src/usb_request_block.rs:121:19
[INFO] [stderr]     |
[INFO] [stderr] 121 |     Configuration(USBConfigDescriptor),
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Configuration::0` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `USBConfigDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:394:1
[INFO] [stderr]     |
[INFO] [stderr] 394 | struct USBConfigDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `InterfaceDescriptor` is more private than the item `USBDescriptor::Interface::0`
[INFO] [stderr]    --> src/usb_request_block.rs:123:15
[INFO] [stderr]     |
[INFO] [stderr] 123 |     Interface(InterfaceDescriptor),
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Interface::0` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `InterfaceDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:372:1
[INFO] [stderr]     |
[INFO] [stderr] 372 | struct InterfaceDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `EndpointDescriptor` is more private than the item `USBDescriptor::Endpoint::0`
[INFO] [stderr]    --> src/usb_request_block.rs:124:14
[INFO] [stderr]     |
[INFO] [stderr] 124 |     Endpoint(EndpointDescriptor),
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Endpoint::0` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `EndpointDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:341:1
[INFO] [stderr]     |
[INFO] [stderr] 341 | struct EndpointDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `InterfaceAssociationDescriptor` is more private than the item `USBDescriptor::InterfaceAssociation::0`
[INFO] [stderr]    --> src/usb_request_block.rs:125:26
[INFO] [stderr]     |
[INFO] [stderr] 125 |     InterfaceAssociation(InterfaceAssociationDescriptor),
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::InterfaceAssociation::0` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `InterfaceAssociationDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:355:1
[INFO] [stderr]     |
[INFO] [stderr] 355 | struct InterfaceAssociationDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `BinaryObjectStoreDescriptor` is more private than the item `USBDescriptor::BOS::0`
[INFO] [stderr]    --> src/usb_request_block.rs:126:9
[INFO] [stderr]     |
[INFO] [stderr] 126 |     BOS(BinaryObjectStoreDescriptor),
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::BOS::0` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `BinaryObjectStoreDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:425:1
[INFO] [stderr]     |
[INFO] [stderr] 425 | struct BinaryObjectStoreDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `BosDevCapabilityDescriptor` is more private than the item `USBDescriptor::DeviceCapability::0`
[INFO] [stderr]    --> src/usb_request_block.rs:127:22
[INFO] [stderr]     |
[INFO] [stderr] 127 |     DeviceCapability(BosDevCapabilityDescriptor),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::DeviceCapability::0` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `BosDevCapabilityDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:417:1
[INFO] [stderr]     |
[INFO] [stderr] 417 | struct BosDevCapabilityDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `csv_path` and `bin_path` are never read
[INFO] [stderr]    --> src/total_phase_parser.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 136 | pub struct TotalPhaseReader {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] 137 |     csv_path: String,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 138 |     bin_path: String,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `record_field` is never used
[INFO] [stderr]    --> src/total_phase_parser.rs:728:4
[INFO] [stderr]     |
[INFO] [stderr] 728 | fn record_field<'a>(row: &'a HashMap<String, String>, key: &str) -> &'a str {
[INFO] [stderr]     |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `LibusbBtWirelessUsbDeviceCapability`, `LibusbBtUsb20Extension`, `LibusbBtSsUsbDeviceCapability`, and `LibusbBtContainerId` are never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:134:5
[INFO] [stderr]     |
[INFO] [stderr] 133 | enum USBBinaryObjectStoreType {
[INFO] [stderr]     |      ------------------------ variants in this enum
[INFO] [stderr] 134 |     LibusbBtWirelessUsbDeviceCapability = 1,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 135 |     LibusbBtUsb20Extension = 2,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 136 |     LibusbBtSsUsbDeviceCapability = 3,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 137 |     LibusbBtContainerId = 4,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `USBBinaryObjectStoreType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEVICE_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:140:7
[INFO] [stderr]     |
[INFO] [stderr] 140 | const DEVICE_SIZE: u8 = 18;
[INFO] [stderr]     |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CONFIG_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:141:7
[INFO] [stderr]     |
[INFO] [stderr] 141 | const CONFIG_SIZE: u8 = 9;
[INFO] [stderr]     |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `INTERFACE_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:142:7
[INFO] [stderr]     |
[INFO] [stderr] 142 | const INTERFACE_SIZE: u8 = 9;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ENDPOINT_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:143:7
[INFO] [stderr]     |
[INFO] [stderr] 143 | const ENDPOINT_SIZE: u8 = 7;
[INFO] [stderr]     |       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ENDPOINT_AUDIO_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:144:7
[INFO] [stderr]     |
[INFO] [stderr] 144 | const ENDPOINT_AUDIO_SIZE: u8 = 9;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HUB_NONVAR_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:145:7
[INFO] [stderr]     |
[INFO] [stderr] 145 | const HUB_NONVAR_SIZE: u8 = 7;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SS_ENDPOINT_COMPANION_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:146:7
[INFO] [stderr]     |
[INFO] [stderr] 146 | const SS_ENDPOINT_COMPANION_SIZE: u8 = 6;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BOS_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:147:7
[INFO] [stderr]     |
[INFO] [stderr] 147 | const BOS_SIZE: u8 = 5;
[INFO] [stderr]     |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEVICE_CAPABILITY_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:148:7
[INFO] [stderr]     |
[INFO] [stderr] 148 | const DEVICE_CAPABILITY_SIZE: u8 = 3;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `INTERFACE_ASSOCIATION_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:149:7
[INFO] [stderr]     |
[INFO] [stderr] 149 | const INTERFACE_ASSOCIATION_SIZE: u8 = 8;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BT_USB_2_0_EXTENSION_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:152:7
[INFO] [stderr]     |
[INFO] [stderr] 152 | const BT_USB_2_0_EXTENSION_SIZE: u8 = 7;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BT_SS_USB_DEVICE_CAPABILITY_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:153:7
[INFO] [stderr]     |
[INFO] [stderr] 153 | const BT_SS_USB_DEVICE_CAPABILITY_SIZE: u8 = 10;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BT_SSPLUS_USB_DEVICE_CAPABILITY_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:154:7
[INFO] [stderr]     |
[INFO] [stderr] 154 | const BT_SSPLUS_USB_DEVICE_CAPABILITY_SIZE: u8 = 12;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BT_CONTAINER_ID_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:155:7
[INFO] [stderr]     |
[INFO] [stderr] 155 | const BT_CONTAINER_ID_SIZE: u8 = 20;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BT_PLATFORM_DESCRIPTOR_MIN_SIZE` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:156:7
[INFO] [stderr]     |
[INFO] [stderr] 156 | const BT_PLATFORM_DESCRIPTOR_MIN_SIZE: u8 = 20;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ENDPOINT_ADDRESS_MASK` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:158:7
[INFO] [stderr]     |
[INFO] [stderr] 158 | const ENDPOINT_ADDRESS_MASK: u8 = 0x0f;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ENDPOINT_DIR_MASK` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:159:7
[INFO] [stderr]     |
[INFO] [stderr] 159 | const ENDPOINT_DIR_MASK: u8 = 0x80;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `USB_ENDPOINT_IN_MASK` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:170:7
[INFO] [stderr]     |
[INFO] [stderr] 170 | const USB_ENDPOINT_IN_MASK: u8 = 0x80;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `USB_ENDPOINT_OUT_MASK` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:171:7
[INFO] [stderr]     |
[INFO] [stderr] 171 | const USB_ENDPOINT_OUT_MASK: u8 = 0x80;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `USB_ENDPOINT_ID` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:172:7
[INFO] [stderr]     |
[INFO] [stderr] 172 | const USB_ENDPOINT_ID: u8 = 0x7F;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `APPLE_VID` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:174:7
[INFO] [stderr]     |
[INFO] [stderr] 174 | const APPLE_VID: u16 = 0x05ac;
[INFO] [stderr]     |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `USB_CLASS_APPLICATION_SPECIFIC` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:175:7
[INFO] [stderr]     |
[INFO] [stderr] 175 | const USB_CLASS_APPLICATION_SPECIFIC: u8 = 0xFF;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `USB_SUBCLASS_DFU` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:176:7
[INFO] [stderr]     |
[INFO] [stderr] 176 | const USB_SUBCLASS_DFU: u8 = 0x01;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `APPLE_SUBCLASS_USBMUX` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:177:7
[INFO] [stderr]     |
[INFO] [stderr] 177 | const APPLE_SUBCLASS_USBMUX: u8 = 0xFE;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `APPLE_PROTOCOL_USBMUX2` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:178:7
[INFO] [stderr]     |
[INFO] [stderr] 178 | const APPLE_PROTOCOL_USBMUX2: u8 = 0x02;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TRANSFER_TYPE_MASK` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:180:7
[INFO] [stderr]     |
[INFO] [stderr] 180 | const TRANSFER_TYPE_MASK: u8 = 0x03;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `URBRecordType` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:182:6
[INFO] [stderr]     |
[INFO] [stderr] 182 | enum URBRecordType {
[INFO] [stderr]     |      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `AppleUSBDeviceID` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:194:6
[INFO] [stderr]     |
[INFO] [stderr] 194 | enum AppleUSBDeviceID {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `device_id` is never read
[INFO] [stderr]    --> src/usb_request_block.rs:223:5
[INFO] [stderr]     |
[INFO] [stderr] 222 | pub struct USBSetAddress {
[INFO] [stderr]     |            ------------- field in this struct
[INFO] [stderr] 223 |     device_id: u8,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `device_id` and `index` are never read
[INFO] [stderr]    --> src/usb_request_block.rs:227:5
[INFO] [stderr]     |
[INFO] [stderr] 226 | pub struct USBGetDeviceDescriptor {
[INFO] [stderr]     |            ---------------------- fields in this struct
[INFO] [stderr] 227 |     device_id: u8,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 228 |     index: u8,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `global_id`, `local_device_id`, `configurations`, and `endpoints` are never read
[INFO] [stderr]    --> src/usb_request_block.rs:262:5
[INFO] [stderr]     |
[INFO] [stderr] 261 | pub struct USBDevice {
[INFO] [stderr]     |            --------- fields in this struct
[INFO] [stderr] 262 |     global_id: Uuid,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 263 |     local_device_id: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 264 |     configurations: Map<u8, USBConfiguration>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 265 |     endpoints: Map<u8, USBEndpoint>,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `interfaces` is never read
[INFO] [stderr]    --> src/usb_request_block.rs:269:5
[INFO] [stderr]     |
[INFO] [stderr] 268 | pub struct USBConfiguration {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] 269 |     interfaces: Map<u8, USBInterface>,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `configuration_id`, `input_id`, and `output_id` are never read
[INFO] [stderr]    --> src/usb_request_block.rs:273:5
[INFO] [stderr]     |
[INFO] [stderr] 272 | pub struct USBInterface {
[INFO] [stderr]     |            ------------ fields in this struct
[INFO] [stderr] 273 |     configuration_id: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 274 |     input_id: u8,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 275 |     output_id: u8,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `endpoint_id`, `direction`, and `urbs` are never read
[INFO] [stderr]    --> src/usb_request_block.rs:279:5
[INFO] [stderr]     |
[INFO] [stderr] 278 | pub struct USBEndpoint {
[INFO] [stderr]     |            ----------- fields in this struct
[INFO] [stderr] 279 |     endpoint_id: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 280 |     direction: USBDirection,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 281 |     urbs: Vec<USBRequestBlock>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/usb_request_block.rs:324:5
[INFO] [stderr]     |
[INFO] [stderr] 323 | struct USBDeviceDescriptor {
[INFO] [stderr]     |        ------------------- fields in this struct
[INFO] [stderr] 324 |     length: u8,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 325 |     descriptor_type: USBDescriptorType,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 326 |     bcd_usb: u16,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 327 |     device_class: USBClassCode,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 328 |     device_sub_class: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 329 |     device_protocol: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 330 |     max_packet_size: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 331 |     vendor_id: u16,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 332 |     product_id: u16,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 333 |     bcd_device: u16,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 334 |     index_manufacturer: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 335 |     index_product: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 336 |     index_serial_number: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 337 |     configuration_count: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `USBDeviceDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/usb_request_block.rs:342:5
[INFO] [stderr]     |
[INFO] [stderr] 341 | struct EndpointDescriptor {
[INFO] [stderr]     |        ------------------ fields in this struct
[INFO] [stderr] 342 |     length: u8,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 343 |     descriptor_type: USBDescriptorType,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 344 |     endpoint_address: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 345 |     attributes: USBAttributes,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 346 |     max_packet_size: u16,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 347 |     polling_interval: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 348 |     refresh: u8,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 349 |     synch_address: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 350 |     extra: *const u8,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 351 |     extra_length: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `EndpointDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/usb_request_block.rs:356:5
[INFO] [stderr]     |
[INFO] [stderr] 355 | struct InterfaceAssociationDescriptor {
[INFO] [stderr]     |        ------------------------------ fields in this struct
[INFO] [stderr] 356 |     length: u8,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 357 |     descriptor_type: USBDescriptorType,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 358 |     first_interface: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 359 |     interface_count: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 360 |     function_class: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 361 |     function_sub_class: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 362 |     function_protocol: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 363 |     function_index: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `InterfaceAssociationDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `InterfaceAssociationDescriptorArray` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:366:8
[INFO] [stderr]     |
[INFO] [stderr] 366 | struct InterfaceAssociationDescriptorArray {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/usb_request_block.rs:373:5
[INFO] [stderr]     |
[INFO] [stderr] 372 | struct InterfaceDescriptor {
[INFO] [stderr]     |        ------------------- fields in this struct
[INFO] [stderr] 373 |     length: u8,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 374 |     descriptor_type: USBDescriptorType,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 375 |     interface_id: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 376 |     interface_alternative: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 377 |     endpoint_count: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 378 |     interface_class: USBClassCode,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 379 |     interface_sub_class: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 380 |     interface_protocol: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 381 |     interface_index: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 382 |     endpoint: EndpointDescriptor,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 383 |     extra: *const u8,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 384 |     extra_length: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `InterfaceDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `altsetting` and `alternate_setting_count` are never read
[INFO] [stderr]    --> src/usb_request_block.rs:389:5
[INFO] [stderr]     |
[INFO] [stderr] 388 | struct USBInterfaceDescriptor {
[INFO] [stderr]     |        ---------------------- fields in this struct
[INFO] [stderr] 389 |     altsetting: InterfaceDescriptor,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 390 |     alternate_setting_count: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `USBInterfaceDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]    --> src/usb_request_block.rs:395:5
[INFO] [stderr]     |
[INFO] [stderr] 394 | struct USBConfigDescriptor {
[INFO] [stderr]     |        ------------------- fields in this struct
[INFO] [stderr] 395 |     length: u8,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 396 |     descriptor_type: USBDescriptorType,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 397 |     total_length: u16,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 398 |     interface_count: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 399 |     configuration_id: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 400 |     configuration_index: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 401 |     attributes: USBAttributes,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 402 |     max_power: u8,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 403 |     interface: USBInterfaceDescriptor,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 404 |     extra: *const u8,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 405 |     extra_length: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `USBConfigDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SsEndpointCompanionDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:408:8
[INFO] [stderr]     |
[INFO] [stderr] 408 | struct SsEndpointCompanionDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `length`, `descriptor_type`, `compatability_type`, and `dev_capability_data` are never read
[INFO] [stderr]    --> src/usb_request_block.rs:418:5
[INFO] [stderr]     |
[INFO] [stderr] 417 | struct BosDevCapabilityDescriptor {
[INFO] [stderr]     |        -------------------------- fields in this struct
[INFO] [stderr] 418 |     length: u8,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 419 |     descriptor_type: USBDescriptorType,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 420 |     compatability_type: USBBinaryObjectStoreType,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 421 |     dev_capability_data: *const u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `BosDevCapabilityDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `length`, `descriptor_type`, `total_length`, `device_capability_count`, and `dev_capability` are never read
[INFO] [stderr]    --> src/usb_request_block.rs:426:5
[INFO] [stderr]     |
[INFO] [stderr] 425 | struct BinaryObjectStoreDescriptor {
[INFO] [stderr]     |        --------------------------- fields in this struct
[INFO] [stderr] 426 |     length: u8,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 427 |     descriptor_type: USBDescriptorType,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 428 |     total_length: u16,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 429 |     device_capability_count: u8,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 430 |     dev_capability: Vec<BosDevCapabilityDescriptor>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `BinaryObjectStoreDescriptor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LibusbUsb20ExtensionDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:433:8
[INFO] [stderr]     |
[INFO] [stderr] 433 | struct LibusbUsb20ExtensionDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SsUsbDeviceCapabilityDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:440:8
[INFO] [stderr]     |
[INFO] [stderr] 440 | struct SsUsbDeviceCapabilityDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `SuperSpeedPlusSublinkAttributeSublinkType` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:451:6
[INFO] [stderr]     |
[INFO] [stderr] 451 | enum SuperSpeedPlusSublinkAttributeSublinkType {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `SuperspeedplusSublinkAttributeSublinkDirection` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:456:6
[INFO] [stderr]     |
[INFO] [stderr] 456 | enum SuperspeedplusSublinkAttributeSublinkDirection {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `SuperspeedplusSublinkAttributeExponent` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:461:6
[INFO] [stderr]     |
[INFO] [stderr] 461 | enum SuperspeedplusSublinkAttributeExponent {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `SuperspeedplusSublinkAttributeLinkProtocol` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:468:6
[INFO] [stderr]     |
[INFO] [stderr] 468 | enum SuperspeedplusSublinkAttributeLinkProtocol {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `LibusbSuperspeedplusSublinkAttributeExponent` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:473:6
[INFO] [stderr]     |
[INFO] [stderr] 473 | enum LibusbSuperspeedplusSublinkAttributeExponent { LibusbSsplusAttrExpBps = 0, LibusbSsplusAttrExpKbs = 1, LibusbSsplusAttrExpMbs ...
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `LibusbSuperspeedplusSublinkAttributeSublinkType` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:475:6
[INFO] [stderr]     |
[INFO] [stderr] 475 | enum LibusbSuperspeedplusSublinkAttributeSublinkType {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LibusbSsplusSublinkAttribute` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:479:8
[INFO] [stderr]     |
[INFO] [stderr] 479 | struct LibusbSsplusSublinkAttribute {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SsplusUsbDeviceCapabilityDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:488:8
[INFO] [stderr]     |
[INFO] [stderr] 488 | struct SsplusUsbDeviceCapabilityDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ContainerIdDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:497:8
[INFO] [stderr]     |
[INFO] [stderr] 497 | struct ContainerIdDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `USBPlatformDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:505:8
[INFO] [stderr]     |
[INFO] [stderr] 505 | struct USBPlatformDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Packet` is never constructed
[INFO] [stderr]  --> src/device.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | struct Packet {
[INFO] [stderr]   |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `InterfaceExpert` is never used
[INFO] [stderr]   --> src/device.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | trait InterfaceExpert {}
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Endpoint` is never constructed
[INFO] [stderr]   --> src/device.rs:11:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | struct Endpoint {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Interface` is never constructed
[INFO] [stderr]   --> src/device.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | struct Interface {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Configuration` is never constructed
[INFO] [stderr]   --> src/device.rs:22:8
[INFO] [stderr]    |
[INFO] [stderr] 22 | struct Configuration {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Device` is never constructed
[INFO] [stderr]   --> src/device.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub struct Device {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_devices` is never used
[INFO] [stderr]   --> src/device.rs:35:8
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub fn parse_devices(packets: Vec<EnhancedPacketBlock>) -> HashMap<u8, Vec<Device>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/total_phase_parser.rs:512:17
[INFO] [stderr]     |
[INFO] [stderr] 512 |     pub fn read(&mut self) -> Result<Vec<USBPacket>, Box<dyn Error>> {
[INFO] [stderr]     |                 ^^^^^^^^^                ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 512 |     pub fn read(&mut self) -> Result<Vec<USBPacket<'_>>, Box<dyn Error>> {
[INFO] [stderr]     |                                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/total_phase_parser.rs:527:22
[INFO] [stderr]     |
[INFO] [stderr] 527 |     pub fn read_tree(&mut self, interesting_only: bool) -> Result<Arena<USBPacket>, Box<dyn Error>> {
[INFO] [stderr]     |                      ^^^^^^^^^ the lifetime is elided here              ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 527 |     pub fn read_tree(&mut self, interesting_only: bool) -> Result<Arena<USBPacket<'_>>, Box<dyn Error>> {
[INFO] [stderr]     |                                                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `demuxusb-rs` (lib) generated 76 warnings (run `cargo fix --lib -p demuxusb-rs` to apply 3 suggestions)
[INFO] [stderr] warning: `demuxusb-rs` (lib test) generated 76 warnings (76 duplicates)
[INFO] [stderr] warning: unused import: `std::error::Error`
[INFO] [stderr]  --> src/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::error::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `USBRequestBlock`
[INFO] [stderr]  --> src/device.rs:5:75
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub(crate) use crate::usb_request_block::{USBConfiguration, USBInterface, USBRequestBlock, USBControlRequest, USBControlRequestType};
[INFO] [stderr]   |                                                                           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ArgMatches`
[INFO] [stderr]  --> src/main.rs:9:17
[INFO] [stderr]   |
[INFO] [stderr] 9 | use clap::{arg, ArgMatches, Command};
[INFO] [stderr]   |                 ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `USBDeviceDescriptor` is more private than the item `USBDescriptor::Device::0`
[INFO] [stderr]    --> src/usb_request_block.rs:120:12
[INFO] [stderr]     |
[INFO] [stderr] 120 |     Device(USBDeviceDescriptor),
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Device::0` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `USBDeviceDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:323:1
[INFO] [stderr]     |
[INFO] [stderr] 323 | struct USBDeviceDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `USBConfigDescriptor` is more private than the item `USBDescriptor::Configuration::0`
[INFO] [stderr]    --> src/usb_request_block.rs:121:19
[INFO] [stderr]     |
[INFO] [stderr] 121 |     Configuration(USBConfigDescriptor),
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Configuration::0` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `USBConfigDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:394:1
[INFO] [stderr]     |
[INFO] [stderr] 394 | struct USBConfigDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `InterfaceDescriptor` is more private than the item `USBDescriptor::Interface::0`
[INFO] [stderr]    --> src/usb_request_block.rs:123:15
[INFO] [stderr]     |
[INFO] [stderr] 123 |     Interface(InterfaceDescriptor),
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Interface::0` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `InterfaceDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:372:1
[INFO] [stderr]     |
[INFO] [stderr] 372 | struct InterfaceDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `EndpointDescriptor` is more private than the item `USBDescriptor::Endpoint::0`
[INFO] [stderr]    --> src/usb_request_block.rs:124:14
[INFO] [stderr]     |
[INFO] [stderr] 124 |     Endpoint(EndpointDescriptor),
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^ field `USBDescriptor::Endpoint::0` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `EndpointDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:341:1
[INFO] [stderr]     |
[INFO] [stderr] 341 | struct EndpointDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `InterfaceAssociationDescriptor` is more private than the item `USBDescriptor::InterfaceAssociation::0`
[INFO] [stderr]    --> src/usb_request_block.rs:125:26
[INFO] [stderr]     |
[INFO] [stderr] 125 |     InterfaceAssociation(InterfaceAssociationDescriptor),
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::InterfaceAssociation::0` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `InterfaceAssociationDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:355:1
[INFO] [stderr]     |
[INFO] [stderr] 355 | struct InterfaceAssociationDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `BinaryObjectStoreDescriptor` is more private than the item `USBDescriptor::BOS::0`
[INFO] [stderr]    --> src/usb_request_block.rs:126:9
[INFO] [stderr]     |
[INFO] [stderr] 126 |     BOS(BinaryObjectStoreDescriptor),
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::BOS::0` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `BinaryObjectStoreDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:425:1
[INFO] [stderr]     |
[INFO] [stderr] 425 | struct BinaryObjectStoreDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `BosDevCapabilityDescriptor` is more private than the item `USBDescriptor::DeviceCapability::0`
[INFO] [stderr]    --> src/usb_request_block.rs:127:22
[INFO] [stderr]     |
[INFO] [stderr] 127 |     DeviceCapability(BosDevCapabilityDescriptor),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ field `USBDescriptor::DeviceCapability::0` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `BosDevCapabilityDescriptor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/usb_request_block.rs:417:1
[INFO] [stderr]     |
[INFO] [stderr] 417 | struct BosDevCapabilityDescriptor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `DirectionNone` is never constructed
[INFO] [stderr]  --> src/usb_request_block.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum USBDirection {
[INFO] [stderr]   |          ------------ variant in this enum
[INFO] [stderr] 8 |     DirectionNone,
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `USBDirection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Isochronous` and `Interrupt` are never constructed
[INFO] [stderr]   --> src/usb_request_block.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub enum USBTransferType {
[INFO] [stderr]    |          --------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 17 |     Isochronous,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 18 |     Interrupt,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `USBTransferType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> src/usb_request_block.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub enum USBFunction {
[INFO] [stderr]    |          ----------- variants in this enum
[INFO] [stderr] 24 |     UsbDefaultMaxPacket = 64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 25 |     SelectConfiguration = 0x0000,
[INFO] [stderr] 26 |     SelectInterface = 0x0001,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 27 |     AbortPipe = 0x0002,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 28 |     TakeFrameLengthControl = 0x0003,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 29 |     ReleaseFrameLengthControl = 0x0004,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 30 |     GetFrameLength = 0x0005,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 31 |     SetFrameLength = 0x0006,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 32 |     GetCurrentFrameNumber = 0x0007,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     IsochTransfer = 0x000A,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 37 |     GetDescriptorFromDevice = 0x000B,
[INFO] [stderr] 38 |     SetDescriptorToDevice = 0x000C,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 39 |     SetFeatureToDevice = 0x000D,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 40 |     SetFeatureToInterface = 0x000E,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 41 |     SetFeatureToEndpoint = 0x000F,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 42 |     ClearFeatureToDevice = 0x0010,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 43 |     ClearFeatureToInterface = 0x0011,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 44 |     ClearFeatureToEndpoint = 0x0012,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 45 |     GetStatusFromDevice = 0x0013,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 46 |     GetStatusFromInterface = 0x0014,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 47 |     GetStatusFromEndpoint = 0x0015,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 48 |     VendorDevice = 0x0017,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 49 |     VendorInterface = 0x0018,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 50 |     VendorEndpoint = 0x0019,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 51 |     ClassDevice = 0x001A,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 52 |     ClassInterface = 0x001B,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 53 |     ClassEndpoint = 0x001C,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 54 |     SyncResetPipeAndClearStall = 0x001E,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 55 |     ClassOther = 0x001F,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 56 |     VendorOther = 0x0020,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 57 |     GetStatusFromOther = 0x0021,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 58 |     ClearFeatureToOther = 0x0022,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 59 |     UrbFunctionSetFeatureToOther = 0x0023,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 60 |     GetDescriptorFromEndpoint = 0x0024,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 61 |     SetDescriptorToEndpoint = 0x0025,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 62 |     GetConfiguration = 0x0026,
[INFO] [stderr] 63 |     GetInterface = 0x0027,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 64 |     GetDescriptorFromInterface = 0x0028,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 65 |     SetDescriptorToInterface = 0x0029,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `USBFunction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Status` and `Complete` are never constructed
[INFO] [stderr]   --> src/usb_request_block.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub enum USBControlStage {
[INFO] [stderr]    |          --------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 73 |     Status,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 74 |     Complete,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `USBControlStage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: enum `USBClassCode` is never used
[INFO] [stderr]   --> src/usb_request_block.rs:78:10
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub enum USBClassCode {
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `USBDescriptorType` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:101:10
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub enum USBDescriptorType {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `USBDescriptor` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:119:10
[INFO] [stderr]     |
[INFO] [stderr] 119 | pub enum USBDescriptor {
[INFO] [stderr]     |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `USBBinaryObjectStoreType` is never used
[INFO] [stderr]    --> src/usb_request_block.rs:133:6
[INFO] [stderr]     |
[INFO] [stderr] 133 | enum USBBinaryObjectStoreType {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `USBSetAddress` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:222:12
[INFO] [stderr]     |
[INFO] [stderr] 222 | pub struct USBSetAddress {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `USBGetDeviceDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:226:12
[INFO] [stderr]     |
[INFO] [stderr] 226 | pub struct USBGetDeviceDescriptor {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `speed` and `duration_ns` are never read
[INFO] [stderr]    --> src/usb_request_block.rs:234:9
[INFO] [stderr]     |
[INFO] [stderr] 232 | pub struct USBRequestBlock {
[INFO] [stderr]     |            --------------- fields in this struct
[INFO] [stderr] 233 |     pub direction: USBDirection,
[INFO] [stderr] 234 |     pub speed: USBSpeed,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 239 |     pub duration_ns: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `USBRequestBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_unconfigured`, `is_control`, and `is_default` are never used
[INFO] [stderr]    --> src/usb_request_block.rs:247:12
[INFO] [stderr]     |
[INFO] [stderr] 246 | impl USBRequestBlock {
[INFO] [stderr]     | -------------------- methods in this implementation
[INFO] [stderr] 247 |     pub fn is_unconfigured(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 251 |     pub fn is_control(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 255 |     pub fn is_default(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `USBDevice` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:261:12
[INFO] [stderr]     |
[INFO] [stderr] 261 | pub struct USBDevice {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `USBEndpoint` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:278:12
[INFO] [stderr]     |
[INFO] [stderr] 278 | pub struct USBEndpoint {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:287:1
[INFO] [stderr]     |
[INFO] [stderr] 286 | pub enum USBControlRequestType {
[INFO] [stderr]     |          --------------------- variants in this enum
[INFO] [stderr] 287 | UsbReqGetStatus =   0x00,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^
[INFO] [stderr] 288 | UsbReqClearFeature =      0x01,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 289 | UsbReqSetFeature =    0x03,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 290 | UsbReqSetAddress =   0x05,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 291 | UsbReqGetDescriptor =     0x06,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 292 | UsbReqSetDescriptor =    0x07,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 293 |  UsbReqGetConfiguration =   0x08,
[INFO] [stderr]     |  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 294 | UsbReqSetConfiguration =  0x09,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 295 |  UsbReqGetInterface =  0x0A,
[INFO] [stderr]     |  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 296 | UsbReqSetInterface =      0x0B,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 297 |  UsbReqSynchFrame =   0x0C,
[INFO] [stderr]     |  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 298 | UsbReqSetSel =  0x30,
[INFO] [stderr]     | ^^^^^^^^^^^^
[INFO] [stderr] 299 | UsbReqSetEncryption =     0x0D,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 300 | UsbReqGetEncryption =    0x0E,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 301 |  UsbReqSetHandshake =   0x0F,
[INFO] [stderr]     |  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 302 | UsbReqGetHandshake =   0x10,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 303 | UsbReqSetConnection =     0x11,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 304 |  UsbReqSetSecurityData =  0x12,
[INFO] [stderr]     |  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 305 | UsbReqGetSecurityData = 0x13,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 306 | UsbReqSetWusbData =  0x14,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 307 |  UsbReqLoopbackDataWrite =  0x15,
[INFO] [stderr]     |  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 308 | UsbReqLoopbackDataRead =  0x16,
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 309 |  UsbReqSetInterfaceDs =  0x17,
[INFO] [stderr]     |  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `USBControlRequestType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `USBDeviceDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:323:8
[INFO] [stderr]     |
[INFO] [stderr] 323 | struct USBDeviceDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `EndpointDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:341:8
[INFO] [stderr]     |
[INFO] [stderr] 341 | struct EndpointDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `InterfaceAssociationDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:355:8
[INFO] [stderr]     |
[INFO] [stderr] 355 | struct InterfaceAssociationDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `InterfaceDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:372:8
[INFO] [stderr]     |
[INFO] [stderr] 372 | struct InterfaceDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `USBInterfaceDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:388:8
[INFO] [stderr]     |
[INFO] [stderr] 388 | struct USBInterfaceDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `USBConfigDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:394:8
[INFO] [stderr]     |
[INFO] [stderr] 394 | struct USBConfigDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BosDevCapabilityDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:417:8
[INFO] [stderr]     |
[INFO] [stderr] 417 | struct BosDevCapabilityDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BinaryObjectStoreDescriptor` is never constructed
[INFO] [stderr]    --> src/usb_request_block.rs:425:8
[INFO] [stderr]     |
[INFO] [stderr] 425 | struct BinaryObjectStoreDescriptor {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `ChipK`, `TinyK`, and `TinyJ` are never constructed
[INFO] [stderr]   --> src/total_phase_parser.rs:53:5
[INFO] [stderr]    |
[INFO] [stderr] 52 | pub enum USB3Signal {
[INFO] [stderr]    |          ---------- variants in this enum
[INFO] [stderr] 53 |     ChipK,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 54 |     TinyK,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 55 |     ChirpK,
[INFO] [stderr] 56 |     TinyJ,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `USB3Signal` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/total_phase_parser.rs:132:17
[INFO] [stderr]     |
[INFO] [stderr] 132 |     PartialData(Vec<u8>),
[INFO] [stderr]     |     ----------- ^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DataRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 132 -     PartialData(Vec<u8>),
[INFO] [stderr] 132 +     PartialData(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/total_phase_parser.rs:133:10
[INFO] [stderr]     |
[INFO] [stderr] 133 |     Data(Vec<u8>),
[INFO] [stderr]     |     ---- ^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DataRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 133 -     Data(Vec<u8>),
[INFO] [stderr] 133 +     Data(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `csv_path` and `bin_path` are never read
[INFO] [stderr]    --> src/total_phase_parser.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 136 | pub struct TotalPhaseReader {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] 137 |     csv_path: String,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 138 |     bin_path: String,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `short_data` and `children` are never read
[INFO] [stderr]    --> src/total_phase_parser.rs:164:9
[INFO] [stderr]     |
[INFO] [stderr] 148 | pub struct USBPacket<'a> {
[INFO] [stderr]     |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 164 |     pub short_data: DataRecord,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub children: Vec<&'a USBPacket<'a>>,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `add_child` and `dict_data` are never used
[INFO] [stderr]    --> src/total_phase_parser.rs:297:12
[INFO] [stderr]     |
[INFO] [stderr] 176 | impl<'a> USBPacket<'a> {
[INFO] [stderr]     | ---------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 297 |     pub fn add_child(&mut self, child: &'a USBPacket) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 344 |     pub fn dict_data(&self) -> HashMap<&str, String> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `read_data` is never used
[INFO] [stderr]    --> src/total_phase_parser.rs:555:12
[INFO] [stderr]     |
[INFO] [stderr] 488 | impl TotalPhaseReader {
[INFO] [stderr]     | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 555 |     pub fn read_data(&mut self, packet: USBPacket) -> Option<Vec<u8>> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `data` is never read
[INFO] [stderr]  --> src/device.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | struct Packet {
[INFO] [stderr]   |        ------ field in this struct
[INFO] [stderr] 8 |     data: Vec<u8>
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `endpoint_id` and `packets` are never read
[INFO] [stderr]   --> src/device.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | struct Endpoint {
[INFO] [stderr]    |        -------- fields in this struct
[INFO] [stderr] 12 |     endpoint_id: u8,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 13 |     packets: Vec<Packet>
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `descriptor`, `endpoints`, and `expert` are never read
[INFO] [stderr]   --> src/device.rs:17:3
[INFO] [stderr]    |
[INFO] [stderr] 16 | struct Interface {
[INFO] [stderr]    |        --------- fields in this struct
[INFO] [stderr] 17 |   descriptor:  USBInterface,
[INFO] [stderr]    |   ^^^^^^^^^^
[INFO] [stderr] 18 |     endpoints: HashMap<u8, Endpoint>,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 19 |     expert: Option<Box<dyn InterfaceExpert>>
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `descriptor`, `expert`, and `interfaces` are never read
[INFO] [stderr]   --> src/device.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | struct Configuration {
[INFO] [stderr]    |        ------------- fields in this struct
[INFO] [stderr] 23 |     descriptor: USBConfiguration,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 24 |     expert: Option<Box<dyn InterfaceExpert>>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 25 |     interfaces: HashMap<u8, Interface>,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `device_id`, `current_configuration`, `configurations`, and `strings` are never read
[INFO] [stderr]   --> src/device.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub struct Device {
[INFO] [stderr]    |            ------ fields in this struct
[INFO] [stderr] 29 |     device_id: u8,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 30 |     current_configuration: u8,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 31 |     configurations: HashMap<u8, Configuration>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 32 |     strings: HashMap<u8, HashMap<u8, String>>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `packets`
[INFO] [stderr]   --> tests/test_parse.rs:15:13
[INFO] [stderr]    |
[INFO] [stderr] 15 |         let packets = reader.read();
[INFO] [stderr]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_packets`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `demuxusb-rs` (bin "demuxusb-rs") generated 92 warnings (47 duplicates) (run `cargo fix --bin "demuxusb-rs" -p demuxusb-rs` to apply 3 suggestions)
[INFO] [stderr] warning: `demuxusb-rs` (test "test_parse") generated 1 warning (run `cargo fix --test "test_parse" -p demuxusb-rs` to apply 1 suggestion)
[INFO] [stderr] warning: `demuxusb-rs` (bin "demuxusb-rs" test) generated 92 warnings (92 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/demuxusb_rs-ce1ebe9f608eee80)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/demuxusb_rs-47788f88f2d1813d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_parse.rs (/opt/rustwide/target/debug/deps/test_parse-a937e50a1ccb044c)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test tests::parse_gbu421_u13_pcap ... FAILED
[INFO] [stdout] test tests::parse_gbu421_u13 ... FAILED
[INFO] [stdout] test tests::parse_ft230x_basic_uart_w7 ... FAILED
[INFO] [stdout] test tests::parse_gbu421_u13_total_length ... FAILED
[INFO] [stdout] test tests::parse_nexus_5_u13_pcap ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::parse_gbu421_u13_pcap stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::parse_gbu421_u13_pcap' (22) panicked at tests/test_parse.rs:34:74:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: opening bin file
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <std::io::error::Error as anyhow::context::ext::StdError>::ext_context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: <core::result::Result<std::fs::File, std::io::error::Error> as anyhow::Context<std::fs::File, std::io::error::Error>>::context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/context.rs:54:37
[INFO] [stdout]    2: <demuxusb_rs::total_phase_parser::TotalPhaseReader>::new
[INFO] [stdout]              at ./src/total_phase_parser.rs:493:66
[INFO] [stdout]    3: demuxusb_rs::total_phase_parser::totalphase_reader
[INFO] [stdout]              at ./src/total_phase_parser.rs:733:12
[INFO] [stdout]    4: test_parse::tests::parse_gbu421_u13_pcap
[INFO] [stdout]              at ./tests/test_parse.rs:34:26
[INFO] [stdout]    5: test_parse::tests::parse_gbu421_u13_pcap::{closure#0}
[INFO] [stdout]              at ./tests/test_parse.rs:30:31
[INFO] [stdout]    6: <test_parse::tests::parse_gbu421_u13_pcap::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    7: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    8: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]    9: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   10: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   11: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   12: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   13: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   14: test::run_test_in_process
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   15: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   16: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   18: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   19: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   21: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   22: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   24: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   26: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   27: <unknown>
[INFO] [stdout]   28: clone
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x567ce5415d1a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x567ce5415d1a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x567ce5415d1a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x567ce5415d1a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x567ce542a38a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x567ce542a38a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x567ce541ab32 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x567ce541ab32 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x567ce53f48cf - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x567ce53f48cf - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x567ce540e159 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x567ce534794c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x567ce534794c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x567ce540e312 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x567ce540e312 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x567ce53f4988 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x567ce53e9639 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x567ce53f578d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x567ce542ab1c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x567ce542a892 - core[e929cb53b82a81ca]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x567ce5338e6a - <core[e929cb53b82a81ca]::result::Result<demuxusb_rs[6091605b0cf3f2df]::total_phase_parser::TotalPhaseReader, alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::error::Error>>>::unwrap
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x567ce5338e6a - test_parse[a15c4d04386834c4]::tests::parse_gbu421_u13_pcap
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_parse.rs:34:74
[INFO] [stdout]   22:     0x567ce5338977 - test_parse[a15c4d04386834c4]::tests::parse_gbu421_u13_pcap::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_parse.rs:30:31
[INFO] [stdout]   23:     0x567ce533aac6 - <test_parse[a15c4d04386834c4]::tests::parse_gbu421_u13_pcap::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x567ce533ac2b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x567ce533ac2b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x567ce534841b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x567ce534841b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x567ce534841b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x567ce534841b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x567ce534841b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x567ce534841b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x567ce534841b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x567ce5341b34 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x567ce5341b34 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x567ce534b022 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x567ce534b022 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x567ce534b022 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x567ce534b022 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x567ce534b022 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x567ce534b022 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x567ce534b022 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x567ce541562f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x567ce541562f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7a3837205aa4 - <unknown>
[INFO] [stdout]   45:     0x7a3837292a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::parse_gbu421_u13 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::parse_gbu421_u13' (21) panicked at tests/test_parse.rs:14:74:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: opening bin file
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <std::io::error::Error as anyhow::context::ext::StdError>::ext_context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: <core::result::Result<std::fs::File, std::io::error::Error> as anyhow::Context<std::fs::File, std::io::error::Error>>::context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/context.rs:54:37
[INFO] [stdout]    2: <demuxusb_rs::total_phase_parser::TotalPhaseReader>::new
[INFO] [stdout]              at ./src/total_phase_parser.rs:493:66
[INFO] [stdout]    3: demuxusb_rs::total_phase_parser::totalphase_reader
[INFO] [stdout]              at ./src/total_phase_parser.rs:733:12
[INFO] [stdout]    4: test_parse::tests::parse_gbu421_u13
[INFO] [stdout]              at ./tests/test_parse.rs:14:26
[INFO] [stdout]    5: test_parse::tests::parse_gbu421_u13::{closure#0}
[INFO] [stdout]              at ./tests/test_parse.rs:11:26
[INFO] [stdout]    6: <test_parse::tests::parse_gbu421_u13::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    7: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    8: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]    9: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   10: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   11: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   12: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   13: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   14: test::run_test_in_process
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   15: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   16: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   18: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   19: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   21: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   22: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   24: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   26: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   27: <unknown>
[INFO] [stdout]   28: clone
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x567ce5415d1a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x567ce5415d1a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x567ce5415d1a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x567ce5415d1a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x567ce542a38a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x567ce542a38a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x567ce541ab32 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x567ce541ab32 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x567ce53f48cf - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x567ce53f48cf - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x567ce540e159 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x567ce534794c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x567ce534794c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x567ce540e312 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x567ce540e312 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x567ce53f4988 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x567ce53e9639 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x567ce53f578d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x567ce542ab1c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x567ce542a892 - core[e929cb53b82a81ca]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x567ce5338cc7 - <core[e929cb53b82a81ca]::result::Result<demuxusb_rs[6091605b0cf3f2df]::total_phase_parser::TotalPhaseReader, alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::error::Error>>>::unwrap
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x567ce5338cc7 - test_parse[a15c4d04386834c4]::tests::parse_gbu421_u13
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_parse.rs:14:74
[INFO] [stdout]   22:     0x567ce5338947 - test_parse[a15c4d04386834c4]::tests::parse_gbu421_u13::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_parse.rs:11:26
[INFO] [stdout]   23:     0x567ce533aa86 - <test_parse[a15c4d04386834c4]::tests::parse_gbu421_u13::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x567ce533ac2b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x567ce533ac2b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x567ce534841b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x567ce534841b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x567ce534841b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x567ce534841b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x567ce534841b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x567ce534841b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x567ce534841b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x567ce5341b34 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x567ce5341b34 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stderr] error: test failed, to rerun pass `--test test_parse`
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x567ce534b022 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x567ce534b022 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x567ce534b022 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x567ce534b022 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x567ce534b022 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x567ce534b022 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x567ce534b022 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x567ce541562f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x567ce541562f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7a3837205aa4 - <unknown>
[INFO] [stdout]   45:     0x7a3837292a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::parse_ft230x_basic_uart_w7 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::parse_ft230x_basic_uart_w7' (20) panicked at tests/test_parse.rs:64:74:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: opening bin file
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <std::io::error::Error as anyhow::context::ext::StdError>::ext_context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: <core::result::Result<std::fs::File, std::io::error::Error> as anyhow::Context<std::fs::File, std::io::error::Error>>::context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/context.rs:54:37
[INFO] [stdout]    2: <demuxusb_rs::total_phase_parser::TotalPhaseReader>::new
[INFO] [stdout]              at ./src/total_phase_parser.rs:493:66
[INFO] [stdout]    3: demuxusb_rs::total_phase_parser::totalphase_reader
[INFO] [stdout]              at ./src/total_phase_parser.rs:733:12
[INFO] [stdout]    4: test_parse::tests::parse_ft230x_basic_uart_w7
[INFO] [stdout]              at ./tests/test_parse.rs:64:26
[INFO] [stdout]    5: test_parse::tests::parse_ft230x_basic_uart_w7::{closure#0}
[INFO] [stdout]              at ./tests/test_parse.rs:60:36
[INFO] [stdout]    6: <test_parse::tests::parse_ft230x_basic_uart_w7::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    7: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    8: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]    9: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   10: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   11: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   12: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   13: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   14: test::run_test_in_process
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   15: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   16: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   18: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   19: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   21: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   22: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   24: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   26: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   27: <unknown>
[INFO] [stdout]   28: clone
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x567ce5415d1a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x567ce5415d1a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x567ce5415d1a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x567ce5415d1a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x567ce542a38a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x567ce542a38a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x567ce541ab32 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x567ce541ab32 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x567ce53f48cf - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x567ce53f48cf - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x567ce540e159 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x567ce534794c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x567ce534794c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x567ce540e312 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x567ce540e312 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x567ce53f4988 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x567ce53e9639 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x567ce53f578d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x567ce542ab1c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x567ce542a892 - core[e929cb53b82a81ca]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x567ce5339a2a - <core[e929cb53b82a81ca]::result::Result<demuxusb_rs[6091605b0cf3f2df]::total_phase_parser::TotalPhaseReader, alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::error::Error>>>::unwrap
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x567ce5339a2a - test_parse[a15c4d04386834c4]::tests::parse_ft230x_basic_uart_w7
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_parse.rs:64:74
[INFO] [stdout]   22:     0x567ce53389d7 - test_parse[a15c4d04386834c4]::tests::parse_ft230x_basic_uart_w7::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_parse.rs:60:36
[INFO] [stdout]   23:     0x567ce533ab46 - <test_parse[a15c4d04386834c4]::tests::parse_ft230x_basic_uart_w7::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x567ce533ac2b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x567ce533ac2b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x567ce534841b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x567ce534841b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x567ce534841b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x567ce534841b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x567ce534841b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x567ce534841b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x567ce534841b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x567ce5341b34 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x567ce5341b34 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x567ce534b022 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x567ce534b022 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x567ce534b022 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x567ce534b022 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x567ce534b022 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x567ce534b022 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x567ce534b022 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x567ce541562f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x567ce541562f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7a3837205aa4 - <unknown>
[INFO] [stdout]   45:     0x7a3837292a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::parse_gbu421_u13_total_length stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::parse_gbu421_u13_total_length' (23) panicked at tests/test_parse.rs:22:74:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: opening bin file
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <std::io::error::Error as anyhow::context::ext::StdError>::ext_context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: <core::result::Result<std::fs::File, std::io::error::Error> as anyhow::Context<std::fs::File, std::io::error::Error>>::context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/context.rs:54:37
[INFO] [stdout]    2: <demuxusb_rs::total_phase_parser::TotalPhaseReader>::new
[INFO] [stdout]              at ./src/total_phase_parser.rs:493:66
[INFO] [stdout]    3: demuxusb_rs::total_phase_parser::totalphase_reader
[INFO] [stdout]              at ./src/total_phase_parser.rs:733:12
[INFO] [stdout]    4: test_parse::tests::parse_gbu421_u13_total_length
[INFO] [stdout]              at ./tests/test_parse.rs:22:26
[INFO] [stdout]    5: test_parse::tests::parse_gbu421_u13_total_length::{closure#0}
[INFO] [stdout]              at ./tests/test_parse.rs:19:39
[INFO] [stdout]    6: <test_parse::tests::parse_gbu421_u13_total_length::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    7: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    8: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]    9: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   10: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   11: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   12: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   13: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   14: test::run_test_in_process
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   15: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   16: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   18: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   19: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   21: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   22: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   24: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   26: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   27: <unknown>
[INFO] [stdout]   28: clone
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x567ce5415d1a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x567ce5415d1a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x567ce5415d1a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x567ce5415d1a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x567ce542a38a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x567ce542a38a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x567ce541ab32 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x567ce541ab32 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x567ce53f48cf - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x567ce53f48cf - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x567ce540e159 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x567ce534794c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x567ce534794c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x567ce540e312 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x567ce540e312 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x567ce53f4988 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x567ce53e9639 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x567ce53f578d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x567ce542ab1c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x567ce542a892 - core[e929cb53b82a81ca]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x567ce5339feb - <core[e929cb53b82a81ca]::result::Result<demuxusb_rs[6091605b0cf3f2df]::total_phase_parser::TotalPhaseReader, alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::error::Error>>>::unwrap
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x567ce5339feb - test_parse[a15c4d04386834c4]::tests::parse_gbu421_u13_total_length
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_parse.rs:22:74
[INFO] [stdout]   22:     0x567ce5338a07 - test_parse[a15c4d04386834c4]::tests::parse_gbu421_u13_total_length::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_parse.rs:19:39
[INFO] [stdout]   23:     0x567ce533ab86 - <test_parse[a15c4d04386834c4]::tests::parse_gbu421_u13_total_length::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x567ce533ac2b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x567ce533ac2b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x567ce534841b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x567ce534841b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x567ce534841b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x567ce534841b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x567ce534841b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x567ce534841b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x567ce534841b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x567ce5341b34 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x567ce5341b34 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x567ce534b022 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x567ce534b022 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x567ce534b022 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x567ce534b022 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x567ce534b022 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x567ce534b022 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x567ce534b022 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x567ce541562f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x567ce541562f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7a3837205aa4 - <unknown>
[INFO] [stdout]   45:     0x7a3837292a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::parse_nexus_5_u13_pcap stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::parse_nexus_5_u13_pcap' (24) panicked at tests/test_parse.rs:49:74:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: opening bin file
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <std::io::error::Error as anyhow::context::ext::StdError>::ext_context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: <core::result::Result<std::fs::File, std::io::error::Error> as anyhow::Context<std::fs::File, std::io::error::Error>>::context::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/context.rs:54:37
[INFO] [stdout]    2: <demuxusb_rs::total_phase_parser::TotalPhaseReader>::new
[INFO] [stdout]              at ./src/total_phase_parser.rs:493:66
[INFO] [stdout]    3: demuxusb_rs::total_phase_parser::totalphase_reader
[INFO] [stdout]              at ./src/total_phase_parser.rs:733:12
[INFO] [stdout]    4: test_parse::tests::parse_nexus_5_u13_pcap
[INFO] [stdout]              at ./tests/test_parse.rs:49:26
[INFO] [stdout]    5: test_parse::tests::parse_nexus_5_u13_pcap::{closure#0}
[INFO] [stdout]              at ./tests/test_parse.rs:45:32
[INFO] [stdout]    6: <test_parse::tests::parse_nexus_5_u13_pcap::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    7: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    8: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]    9: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   10: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   11: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   12: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   13: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   14: test::run_test_in_process
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   15: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   16: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   18: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   19: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   21: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   22: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   24: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   26: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   27: <unknown>
[INFO] [stdout]   28: clone
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x567ce5415d1a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x567ce5415d1a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x567ce5415d1a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x567ce5415d1a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x567ce542a38a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x567ce542a38a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x567ce541ab32 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x567ce541ab32 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x567ce53f48cf - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x567ce53f48cf - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x567ce540e159 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x567ce534794c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x567ce534794c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x567ce540e312 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x567ce540e312 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x567ce53f4988 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x567ce53e9639 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x567ce53f578d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x567ce542ab1c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x567ce542a892 - core[e929cb53b82a81ca]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x567ce533944a - <core[e929cb53b82a81ca]::result::Result<demuxusb_rs[6091605b0cf3f2df]::total_phase_parser::TotalPhaseReader, alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::error::Error>>>::unwrap
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x567ce533944a - test_parse[a15c4d04386834c4]::tests::parse_nexus_5_u13_pcap
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_parse.rs:49:74
[INFO] [stdout]   22:     0x567ce53389a7 - test_parse[a15c4d04386834c4]::tests::parse_nexus_5_u13_pcap::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_parse.rs:45:32
[INFO] [stdout]   23:     0x567ce533ab06 - <test_parse[a15c4d04386834c4]::tests::parse_nexus_5_u13_pcap::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x567ce533ac2b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x567ce533ac2b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x567ce534841b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x567ce534841b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x567ce534841b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x567ce534841b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x567ce534841b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x567ce534841b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x567ce534841b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x567ce5341b34 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x567ce5341b34 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x567ce534b022 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x567ce534b022 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x567ce534b022 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x567ce534b022 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x567ce534b022 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x567ce534b022 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x567ce534b022 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x567ce541562f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x567ce541562f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7a3837205aa4 - <unknown>
[INFO] [stdout]   45:     0x7a3837292a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::parse_ft230x_basic_uart_w7
[INFO] [stdout]     tests::parse_gbu421_u13
[INFO] [stdout]     tests::parse_gbu421_u13_pcap
[INFO] [stdout]     tests::parse_gbu421_u13_total_length
[INFO] [stdout]     tests::parse_nexus_5_u13_pcap
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "69ec1bce5e4e6df7454196097a0a4e62ee274a0d5128de107d58f91e29ae529a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69ec1bce5e4e6df7454196097a0a4e62ee274a0d5128de107d58f91e29ae529a", kill_on_drop: false }`
[INFO] [stdout] 69ec1bce5e4e6df7454196097a0a4e62ee274a0d5128de107d58f91e29ae529a
