[INFO] fetching crate cappy3ds 0.0.1...
[INFO] checking cappy3ds-0.0.1 against master#80399064afa4a2cd153f30d02c25f7ea0383ed65 for opaque-soundness-fix
[INFO] extracting crate cappy3ds 0.0.1 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate cappy3ds 0.0.1 on toolchain 80399064afa4a2cd153f30d02c25f7ea0383ed65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cappy3ds 0.0.1
[INFO] finished tweaking crates.io crate cappy3ds 0.0.1
[INFO] tweaked toml for crates.io crate cappy3ds 0.0.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate crates.io crate cappy3ds 0.0.1 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" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rust-embed-impl v8.0.0
[INFO] [stderr]   Downloaded cpufeatures v0.2.10
[INFO] [stderr]   Downloaded rusb v0.9.3
[INFO] [stderr]   Downloaded rust-embed-utils v8.0.0
[INFO] [stderr]   Downloaded simple-error v0.3.0
[INFO] [stderr]   Downloaded exr v1.71.0
[INFO] [stderr]   Downloaded libusb1-sys v0.6.4
[INFO] [stderr]   Downloaded rust-embed v8.0.0
[INFO] [stderr]   Downloaded tiff v0.9.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 485e407a60e2459aa1a0ccdabec646a7eb21bdf73940d9382ad0d1b56a6fc5df
[INFO] running `Command { std: "docker" "start" "-a" "485e407a60e2459aa1a0ccdabec646a7eb21bdf73940d9382ad0d1b56a6fc5df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "485e407a60e2459aa1a0ccdabec646a7eb21bdf73940d9382ad0d1b56a6fc5df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "485e407a60e2459aa1a0ccdabec646a7eb21bdf73940d9382ad0d1b56a6fc5df", kill_on_drop: false }`
[INFO] [stdout] 485e407a60e2459aa1a0ccdabec646a7eb21bdf73940d9382ad0d1b56a6fc5df
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+80399064afa4a2cd153f30d02c25f7ea0383ed65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f23d7d83b7c09312895446fed23ba941979d95a7a418a58959a867bd09d21b36
[INFO] running `Command { std: "docker" "start" "-a" "f23d7d83b7c09312895446fed23ba941979d95a7a418a58959a867bd09d21b36", kill_on_drop: false }`
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling cpufeatures v0.2.10
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking rayon v1.8.0
[INFO] [stderr]     Checking weezl v0.1.7
[INFO] [stderr]    Compiling rust-embed-utils v8.0.0
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.0
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking bytemuck v1.14.0
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]    Compiling rusb v0.9.3
[INFO] [stderr]     Checking half v2.2.1
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking png v0.17.10
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]     Checking exr v1.71.0
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking simple-error v0.3.0
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]    Compiling libusb1-sys v0.6.4
[INFO] [stderr]     Checking jpeg-decoder v0.3.0
[INFO] [stderr]    Compiling rust-embed-impl v8.0.0
[INFO] [stderr]     Checking tiff v0.9.0
[INFO] [stderr]     Checking rust-embed v8.0.0
[INFO] [stderr]     Checking image v0.24.7
[INFO] [stderr]     Checking cappy3ds v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | /         loop {
[INFO] [stdout] 292 | |             //let current_buffer = capture_handler.lock().unwrap().current_buffer;
[INFO] [stdout] 293 | |             //if current_buffer >= NUM_BUFFERS - 10 {
[INFO] [stdout] 294 | |             //break;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |             //thread::sleep(ten_millis);
[INFO] [stdout] 298 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 299 |
[INFO] [stdout] 300 |           println!("Stopping Capture");
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |             Ok(len) => {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | /         loop {
[INFO] [stdout] 292 | |             //let current_buffer = capture_handler.lock().unwrap().current_buffer;
[INFO] [stdout] 293 | |             //if current_buffer >= NUM_BUFFERS - 10 {
[INFO] [stdout] 294 | |             //break;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |             //thread::sleep(ten_millis);
[INFO] [stdout] 298 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 299 |
[INFO] [stdout] 300 |           println!("Stopping Capture");
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |             Ok(len) => {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         for i in 0..NUM_BUFFERS {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_join_handle`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let thread_join_handle = s.spawn(|| loop {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_join_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         for i in 0..NUM_BUFFERS {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_join_handle`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let thread_join_handle = s.spawn(|| loop {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_join_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `new_frame` is never read
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | struct CaptureHandler<F> {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 193 |     new_frame: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaptureHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_fpga_programmed` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn check_fpga_programmed<T: UsbContext>(handle: &mut DeviceHandle<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fifo_stop` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn fifo_stop<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `new_frame` is never read
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | struct CaptureHandler<F> {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 193 |     new_frame: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaptureHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_fpga_programmed` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn check_fpga_programmed<T: UsbContext>(handle: &mut DeviceHandle<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fifo_stop` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn fifo_stop<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let _ = handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let _ = handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let _ = handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let _ = handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let _ = handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let _ = handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let _ = handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     handle.set_active_configuration(1);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let _ = handle.set_active_configuration(1);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     handle.claim_interface(0);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let _ = handle.claim_interface(0);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let _ = handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |             image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let _ = image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let _ = image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let _ = image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     handle.set_active_configuration(1);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let _ = handle.set_active_configuration(1);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     handle.claim_interface(0);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let _ = handle.claim_interface(0);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |             image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let _ = image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let _ = image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let _ = image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | /         loop {
[INFO] [stdout] 292 | |             //let current_buffer = capture_handler.lock().unwrap().current_buffer;
[INFO] [stdout] 293 | |             //if current_buffer >= NUM_BUFFERS - 10 {
[INFO] [stdout] 294 | |             //break;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |             //thread::sleep(ten_millis);
[INFO] [stdout] 298 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 299 |
[INFO] [stdout] 300 |           println!("Stopping Capture");
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |             Ok(len) => {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         for i in 0..NUM_BUFFERS {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_join_handle`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let thread_join_handle = s.spawn(|| loop {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_join_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | /         loop {
[INFO] [stdout] 292 | |             //let current_buffer = capture_handler.lock().unwrap().current_buffer;
[INFO] [stdout] 293 | |             //if current_buffer >= NUM_BUFFERS - 10 {
[INFO] [stdout] 294 | |             //break;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |             //thread::sleep(ten_millis);
[INFO] [stdout] 298 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 299 |
[INFO] [stdout] 300 |           println!("Stopping Capture");
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect` is never used
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn connect<T: UsbContext>(context: &mut T) -> Result<DeviceHandle<T>, SimpleError> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_device` is never used
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn open_device<T: UsbContext>(
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_capture` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn do_capture<T: UsbContext, F>(handle: &mut DeviceHandle<T>, data_callback: F)
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transfer_finished` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:110:20
[INFO] [stdout]     |
[INFO] [stdout] 110 | extern "system" fn transfer_finished<T: UsbContext, F>(transfer_ptr: *mut usbffi::libusb_transfer)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CaptureHandler` is never constructed
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | struct CaptureHandler<F> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaptureHandler` 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 `NUM_BUFFERS` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:198:7
[INFO] [stdout]     |
[INFO] [stdout] 198 | const NUM_BUFFERS: usize = 20;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAM_BUFFER_SIZE` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:206:7
[INFO] [stdout]     |
[INFO] [stdout] 206 | const FRAM_BUFFER_SIZE: usize = 720 * 248 * 2;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSFER_SIZE` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:208:7
[INFO] [stdout]     |
[INFO] [stdout] 208 | const TRANSFER_SIZE: usize = 0x4000;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | / impl<F> CaptureHandler<F>
[INFO] [stdout] 211 | | where
[INFO] [stdout] 212 | |     F: FnMut(&[i16], BytesMut, BytesMut),
[INFO] [stdout]     | |_________________________________________- associated function in this implementation
[INFO] [stdout] 213 |   {
[INFO] [stdout] 214 |       fn new(data_callback: F) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bulk_read` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn bulk_read<T: UsbContext, F>(handle: &mut DeviceHandle<T>, data_callback: F)
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_eeprom` is never used
[INFO] [stdout]  --> src/capture/katsukitty/fpga.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn read_eeprom<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_fpga` is never used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn configure_fpga<T: UsbContext>(handle: &mut DeviceHandle<T>, bitstream: Vec<u8>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_fpga_programmed` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn check_fpga_programmed<T: UsbContext>(handle: &mut DeviceHandle<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_port` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn configure_port<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fifo_start` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn fifo_start<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fifo_stop` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn fifo_stop<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_firmware` is never used
[INFO] [stdout]  --> src/capture/katsukitty/fx2.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) fn send_firmware<T: UsbContext>(handle: &mut DeviceHandle<T>, firmware: Vec<u8>) {
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_image_data` is never used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn parse_image_data(data: &Vec<u8>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_capture_buffer` is never used
[INFO] [stdout]   --> src/capture/katsukitty/parse.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn split_capture_buffer(data: &BytesMut) -> (BytesMut, BytesMut, BytesMut) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb565_to_rgb` is never used
[INFO] [stdout]   --> src/capture/katsukitty/parse.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn rgb565_to_rgb(data: &BytesMut) -> BytesMut {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb565_to_rgba` is never used
[INFO] [stdout]   --> src/capture/katsukitty/parse.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn rgb565_to_rgba(data: &BytesMut) -> BytesMut {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |             Ok(len) => {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let _ = handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let _ = handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let _ = handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let _ = handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     handle.set_active_configuration(1);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let _ = handle.set_active_configuration(1);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     handle.claim_interface(0);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let _ = handle.claim_interface(0);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |             image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let _ = image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let _ = image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let _ = image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         for i in 0..NUM_BUFFERS {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_join_handle`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let thread_join_handle = s.spawn(|| loop {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_join_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect` is never used
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn connect<T: UsbContext>(context: &mut T) -> Result<DeviceHandle<T>, SimpleError> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_device` is never used
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn open_device<T: UsbContext>(
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_capture` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn do_capture<T: UsbContext, F>(handle: &mut DeviceHandle<T>, data_callback: F)
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transfer_finished` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:110:20
[INFO] [stdout]     |
[INFO] [stdout] 110 | extern "system" fn transfer_finished<T: UsbContext, F>(transfer_ptr: *mut usbffi::libusb_transfer)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CaptureHandler` is never constructed
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | struct CaptureHandler<F> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaptureHandler` 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 `NUM_BUFFERS` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:198:7
[INFO] [stdout]     |
[INFO] [stdout] 198 | const NUM_BUFFERS: usize = 20;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAM_BUFFER_SIZE` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:206:7
[INFO] [stdout]     |
[INFO] [stdout] 206 | const FRAM_BUFFER_SIZE: usize = 720 * 248 * 2;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSFER_SIZE` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:208:7
[INFO] [stdout]     |
[INFO] [stdout] 208 | const TRANSFER_SIZE: usize = 0x4000;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | / impl<F> CaptureHandler<F>
[INFO] [stdout] 211 | | where
[INFO] [stdout] 212 | |     F: FnMut(&[i16], BytesMut, BytesMut),
[INFO] [stdout]     | |_________________________________________- associated function in this implementation
[INFO] [stdout] 213 |   {
[INFO] [stdout] 214 |       fn new(data_callback: F) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bulk_read` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn bulk_read<T: UsbContext, F>(handle: &mut DeviceHandle<T>, data_callback: F)
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_eeprom` is never used
[INFO] [stdout]  --> src/capture/katsukitty/fpga.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn read_eeprom<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_fpga` is never used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn configure_fpga<T: UsbContext>(handle: &mut DeviceHandle<T>, bitstream: Vec<u8>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_fpga_programmed` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn check_fpga_programmed<T: UsbContext>(handle: &mut DeviceHandle<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_port` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn configure_port<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fifo_start` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn fifo_start<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fifo_stop` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn fifo_stop<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_firmware` is never used
[INFO] [stdout]  --> src/capture/katsukitty/fx2.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) fn send_firmware<T: UsbContext>(handle: &mut DeviceHandle<T>, firmware: Vec<u8>) {
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_image_data` is never used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn parse_image_data(data: &Vec<u8>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_capture_buffer` is never used
[INFO] [stdout]   --> src/capture/katsukitty/parse.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn split_capture_buffer(data: &BytesMut) -> (BytesMut, BytesMut, BytesMut) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb565_to_rgb` is never used
[INFO] [stdout]   --> src/capture/katsukitty/parse.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn rgb565_to_rgb(data: &BytesMut) -> BytesMut {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb565_to_rgba` is never used
[INFO] [stdout]   --> src/capture/katsukitty/parse.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn rgb565_to_rgba(data: &BytesMut) -> BytesMut {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let _ = handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let _ = handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let _ = handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let _ = handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     handle.set_active_configuration(1);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let _ = handle.set_active_configuration(1);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     handle.claim_interface(0);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let _ = handle.claim_interface(0);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |             image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let _ = image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let _ = image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let _ = image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.50s
[INFO] running `Command { std: "docker" "inspect" "f23d7d83b7c09312895446fed23ba941979d95a7a418a58959a867bd09d21b36", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f23d7d83b7c09312895446fed23ba941979d95a7a418a58959a867bd09d21b36", kill_on_drop: false }`
[INFO] [stdout] f23d7d83b7c09312895446fed23ba941979d95a7a418a58959a867bd09d21b36
[INFO] checking cappy3ds-0.0.1 against master#09bc67b9158392361780e779d32997f14cc75c39 for opaque-soundness-fix
[INFO] extracting crate cappy3ds 0.0.1 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate cappy3ds 0.0.1 on toolchain 09bc67b9158392361780e779d32997f14cc75c39
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cappy3ds 0.0.1
[INFO] finished tweaking crates.io crate cappy3ds 0.0.1
[INFO] tweaked toml for crates.io crate cappy3ds 0.0.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] crate crates.io crate cappy3ds 0.0.1 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" "+09bc67b9158392361780e779d32997f14cc75c39" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f830bd6289da3b87ec3e8c4aff482cd42a42173a96ddda6d400acd433b970bfd
[INFO] running `Command { std: "docker" "start" "-a" "f830bd6289da3b87ec3e8c4aff482cd42a42173a96ddda6d400acd433b970bfd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f830bd6289da3b87ec3e8c4aff482cd42a42173a96ddda6d400acd433b970bfd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f830bd6289da3b87ec3e8c4aff482cd42a42173a96ddda6d400acd433b970bfd", kill_on_drop: false }`
[INFO] [stdout] f830bd6289da3b87ec3e8c4aff482cd42a42173a96ddda6d400acd433b970bfd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+09bc67b9158392361780e779d32997f14cc75c39" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] adc13f01f19219a66f25a64753571435ae5a1478c049fd6f73bb2b3d8998f2ce
[INFO] running `Command { std: "docker" "start" "-a" "adc13f01f19219a66f25a64753571435ae5a1478c049fd6f73bb2b3d8998f2ce", kill_on_drop: false }`
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling cpufeatures v0.2.10
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking rayon v1.8.0
[INFO] [stderr]     Checking weezl v0.1.7
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling rust-embed-utils v8.0.0
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking fdeflate v0.3.0
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]    Compiling rusb v0.9.3
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking bytemuck v1.14.0
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking half v2.2.1
[INFO] [stderr]     Checking gif v0.12.0
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking png v0.17.10
[INFO] [stderr]     Checking exr v1.71.0
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking simple-error v0.3.0
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]    Compiling libusb1-sys v0.6.4
[INFO] [stderr]     Checking jpeg-decoder v0.3.0
[INFO] [stderr]    Compiling rust-embed-impl v8.0.0
[INFO] [stderr]     Checking tiff v0.9.0
[INFO] [stderr]     Checking rust-embed v8.0.0
[INFO] [stderr]     Checking image v0.24.7
[INFO] [stderr]     Checking cappy3ds v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | /         loop {
[INFO] [stdout] 292 | |             //let current_buffer = capture_handler.lock().unwrap().current_buffer;
[INFO] [stdout] 293 | |             //if current_buffer >= NUM_BUFFERS - 10 {
[INFO] [stdout] 294 | |             //break;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |             //thread::sleep(ten_millis);
[INFO] [stdout] 298 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 299 |
[INFO] [stdout] 300 |           println!("Stopping Capture");
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |             Ok(len) => {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         for i in 0..NUM_BUFFERS {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_join_handle`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let thread_join_handle = s.spawn(|| loop {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_join_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `new_frame` is never read
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | struct CaptureHandler<F> {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 193 |     new_frame: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaptureHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_fpga_programmed` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn check_fpga_programmed<T: UsbContext>(handle: &mut DeviceHandle<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fifo_stop` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn fifo_stop<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let _ = handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let _ = handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let _ = handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let _ = handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     handle.set_active_configuration(1);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let _ = handle.set_active_configuration(1);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     handle.claim_interface(0);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let _ = handle.claim_interface(0);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |             image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let _ = image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let _ = image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let _ = image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | /         loop {
[INFO] [stdout] 292 | |             //let current_buffer = capture_handler.lock().unwrap().current_buffer;
[INFO] [stdout] 293 | |             //if current_buffer >= NUM_BUFFERS - 10 {
[INFO] [stdout] 294 | |             //break;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |             //thread::sleep(ten_millis);
[INFO] [stdout] 298 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 299 |
[INFO] [stdout] 300 |           println!("Stopping Capture");
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |             Ok(len) => {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         for i in 0..NUM_BUFFERS {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_join_handle`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let thread_join_handle = s.spawn(|| loop {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_join_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `new_frame` is never read
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | struct CaptureHandler<F> {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 193 |     new_frame: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaptureHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_fpga_programmed` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn check_fpga_programmed<T: UsbContext>(handle: &mut DeviceHandle<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fifo_stop` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn fifo_stop<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let _ = handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let _ = handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let _ = handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let _ = handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     handle.set_active_configuration(1);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let _ = handle.set_active_configuration(1);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     handle.claim_interface(0);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let _ = handle.claim_interface(0);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |             image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let _ = image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let _ = image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let _ = image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | /         loop {
[INFO] [stdout] 292 | |             //let current_buffer = capture_handler.lock().unwrap().current_buffer;
[INFO] [stdout] 293 | |             //if current_buffer >= NUM_BUFFERS - 10 {
[INFO] [stdout] 294 | |             //break;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |             //thread::sleep(ten_millis);
[INFO] [stdout] 298 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 299 |
[INFO] [stdout] 300 |           println!("Stopping Capture");
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |             Ok(len) => {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         for i in 0..NUM_BUFFERS {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_join_handle`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let thread_join_handle = s.spawn(|| loop {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_join_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect` is never used
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn connect<T: UsbContext>(context: &mut T) -> Result<DeviceHandle<T>, SimpleError> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_device` is never used
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn open_device<T: UsbContext>(
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_capture` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn do_capture<T: UsbContext, F>(handle: &mut DeviceHandle<T>, data_callback: F)
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transfer_finished` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:110:20
[INFO] [stdout]     |
[INFO] [stdout] 110 | extern "system" fn transfer_finished<T: UsbContext, F>(transfer_ptr: *mut usbffi::libusb_transfer)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CaptureHandler` is never constructed
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | struct CaptureHandler<F> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaptureHandler` 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 `NUM_BUFFERS` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:198:7
[INFO] [stdout]     |
[INFO] [stdout] 198 | const NUM_BUFFERS: usize = 20;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAM_BUFFER_SIZE` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:206:7
[INFO] [stdout]     |
[INFO] [stdout] 206 | const FRAM_BUFFER_SIZE: usize = 720 * 248 * 2;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSFER_SIZE` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:208:7
[INFO] [stdout]     |
[INFO] [stdout] 208 | const TRANSFER_SIZE: usize = 0x4000;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | / impl<F> CaptureHandler<F>
[INFO] [stdout] 211 | | where
[INFO] [stdout] 212 | |     F: FnMut(&[i16], BytesMut, BytesMut),
[INFO] [stdout]     | |_________________________________________- associated function in this implementation
[INFO] [stdout] 213 |   {
[INFO] [stdout] 214 |       fn new(data_callback: F) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bulk_read` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn bulk_read<T: UsbContext, F>(handle: &mut DeviceHandle<T>, data_callback: F)
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_eeprom` is never used
[INFO] [stdout]  --> src/capture/katsukitty/fpga.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn read_eeprom<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_fpga` is never used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn configure_fpga<T: UsbContext>(handle: &mut DeviceHandle<T>, bitstream: Vec<u8>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_fpga_programmed` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn check_fpga_programmed<T: UsbContext>(handle: &mut DeviceHandle<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_port` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn configure_port<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fifo_start` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn fifo_start<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fifo_stop` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn fifo_stop<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_firmware` is never used
[INFO] [stdout]  --> src/capture/katsukitty/fx2.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) fn send_firmware<T: UsbContext>(handle: &mut DeviceHandle<T>, firmware: Vec<u8>) {
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_image_data` is never used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn parse_image_data(data: &Vec<u8>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_capture_buffer` is never used
[INFO] [stdout]   --> src/capture/katsukitty/parse.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn split_capture_buffer(data: &BytesMut) -> (BytesMut, BytesMut, BytesMut) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb565_to_rgb` is never used
[INFO] [stdout]   --> src/capture/katsukitty/parse.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn rgb565_to_rgb(data: &BytesMut) -> BytesMut {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb565_to_rgba` is never used
[INFO] [stdout]   --> src/capture/katsukitty/parse.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn rgb565_to_rgba(data: &BytesMut) -> BytesMut {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let _ = handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let _ = handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let _ = handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let _ = handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     handle.set_active_configuration(1);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let _ = handle.set_active_configuration(1);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     handle.claim_interface(0);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let _ = handle.claim_interface(0);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |             image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let _ = image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let _ = image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let _ = image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | /         loop {
[INFO] [stdout] 292 | |             //let current_buffer = capture_handler.lock().unwrap().current_buffer;
[INFO] [stdout] 293 | |             //if current_buffer >= NUM_BUFFERS - 10 {
[INFO] [stdout] 294 | |             //break;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |             //thread::sleep(ten_millis);
[INFO] [stdout] 298 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 299 |
[INFO] [stdout] 300 |           println!("Stopping Capture");
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |             Ok(len) => {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_desc`
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stdout]    |               ----^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         for i in 0..NUM_BUFFERS {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_join_handle`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let thread_join_handle = s.spawn(|| loop {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_join_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect` is never used
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn connect<T: UsbContext>(context: &mut T) -> Result<DeviceHandle<T>, SimpleError> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_device` is never used
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn open_device<T: UsbContext>(
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_capture` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn do_capture<T: UsbContext, F>(handle: &mut DeviceHandle<T>, data_callback: F)
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transfer_finished` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:110:20
[INFO] [stdout]     |
[INFO] [stdout] 110 | extern "system" fn transfer_finished<T: UsbContext, F>(transfer_ptr: *mut usbffi::libusb_transfer)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CaptureHandler` is never constructed
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | struct CaptureHandler<F> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CaptureHandler` 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 `NUM_BUFFERS` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:198:7
[INFO] [stdout]     |
[INFO] [stdout] 198 | const NUM_BUFFERS: usize = 20;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAM_BUFFER_SIZE` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:206:7
[INFO] [stdout]     |
[INFO] [stdout] 206 | const FRAM_BUFFER_SIZE: usize = 720 * 248 * 2;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSFER_SIZE` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:208:7
[INFO] [stdout]     |
[INFO] [stdout] 208 | const TRANSFER_SIZE: usize = 0x4000;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | / impl<F> CaptureHandler<F>
[INFO] [stdout] 211 | | where
[INFO] [stdout] 212 | |     F: FnMut(&[i16], BytesMut, BytesMut),
[INFO] [stdout]     | |_________________________________________- associated function in this implementation
[INFO] [stdout] 213 |   {
[INFO] [stdout] 214 |       fn new(data_callback: F) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bulk_read` is never used
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn bulk_read<T: UsbContext, F>(handle: &mut DeviceHandle<T>, data_callback: F)
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_eeprom` is never used
[INFO] [stdout]  --> src/capture/katsukitty/fpga.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn read_eeprom<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_fpga` is never used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn configure_fpga<T: UsbContext>(handle: &mut DeviceHandle<T>, bitstream: Vec<u8>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_fpga_programmed` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn check_fpga_programmed<T: UsbContext>(handle: &mut DeviceHandle<T>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_port` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn configure_port<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fifo_start` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn fifo_start<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fifo_stop` is never used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub fn fifo_stop<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_firmware` is never used
[INFO] [stdout]  --> src/capture/katsukitty/fx2.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) fn send_firmware<T: UsbContext>(handle: &mut DeviceHandle<T>, firmware: Vec<u8>) {
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_image_data` is never used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn parse_image_data(data: &Vec<u8>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_capture_buffer` is never used
[INFO] [stdout]   --> src/capture/katsukitty/parse.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn split_capture_buffer(data: &BytesMut) -> (BytesMut, BytesMut, BytesMut) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb565_to_rgb` is never used
[INFO] [stdout]   --> src/capture/katsukitty/parse.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn rgb565_to_rgb(data: &BytesMut) -> BytesMut {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rgb565_to_rgba` is never used
[INFO] [stdout]   --> src/capture/katsukitty/parse.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn rgb565_to_rgba(data: &BytesMut) -> BytesMut {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = handle.write_bulk(1, &buf, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let _ = handle.write_bulk(1, &data, timeout);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fpga.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let _ = handle.write_bulk(1, &[0x65], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let _ = handle.write_bulk(1, &[0x40], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/capture/katsukitty/fpga.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let _ = handle.write_bulk(1, &[0x41], timeout);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.82s
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     handle.set_active_configuration(1);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let _ = handle.set_active_configuration(1);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/fx2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     handle.claim_interface(0);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let _ = handle.claim_interface(0);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |             image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let _ = image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let _ = image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/capture/katsukitty/image.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |             let _ = image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "adc13f01f19219a66f25a64753571435ae5a1478c049fd6f73bb2b3d8998f2ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "adc13f01f19219a66f25a64753571435ae5a1478c049fd6f73bb2b3d8998f2ce", kill_on_drop: false }`
[INFO] [stdout] adc13f01f19219a66f25a64753571435ae5a1478c049fd6f73bb2b3d8998f2ce
