[INFO] fetching crate cappy3ds 0.0.1...
[INFO] testing cappy3ds-0.0.1 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate cappy3ds 0.0.1 into /workspace/builds/worker-0-tc1/source
[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-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate cappy3ds 0.0.1 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded simple-error v0.3.0
[INFO] [stderr]   Downloaded rust-embed-impl v8.0.0
[INFO] [stderr]   Downloaded rust-embed-utils v8.0.0
[INFO] [stderr]   Downloaded rusb v0.9.3
[INFO] [stderr]   Downloaded cpufeatures v0.2.10
[INFO] [stderr]   Downloaded half v2.2.1
[INFO] [stderr]   Downloaded libc v0.2.149
[INFO] [stderr]   Downloaded libusb1-sys v0.6.4
[INFO] [stderr]   Downloaded flume v0.11.0
[INFO] [stderr]   Downloaded exr v1.71.0
[INFO] [stderr]   Downloaded rust-embed v8.0.0
[INFO] [stderr]   Downloaded jpeg-decoder v0.3.0
[INFO] [stderr]   Downloaded tiff v0.9.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 56835e1354949a521193e0fc2a1ca0dfb20123246d317fc9282517d7e8299475
[INFO] running `Command { std: "docker" "start" "-a" "56835e1354949a521193e0fc2a1ca0dfb20123246d317fc9282517d7e8299475", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "56835e1354949a521193e0fc2a1ca0dfb20123246d317fc9282517d7e8299475", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56835e1354949a521193e0fc2a1ca0dfb20123246d317fc9282517d7e8299475", kill_on_drop: false }`
[INFO] [stdout] 56835e1354949a521193e0fc2a1ca0dfb20123246d317fc9282517d7e8299475
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e86eb5a70d8c9cb9311472c1b8bb352fadf3bd89e8479e7aabe29aaeedaff7a1
[INFO] running `Command { std: "docker" "start" "-a" "e86eb5a70d8c9cb9311472c1b8bb352fadf3bd89e8479e7aabe29aaeedaff7a1", kill_on_drop: false }`
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling cpufeatures v0.2.10
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling weezl v0.1.7
[INFO] [stderr]    Compiling half v2.2.1
[INFO] [stderr]    Compiling lebe v0.5.2
[INFO] [stderr]    Compiling bit_field v0.10.2
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]    Compiling smallvec v1.11.1
[INFO] [stderr]    Compiling rusb v0.9.3
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling bytemuck v1.14.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling fdeflate v0.3.0
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling flume v0.11.0
[INFO] [stderr]    Compiling gif v0.12.0
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling simple-error v0.3.0
[INFO] [stderr]    Compiling rayon v1.8.0
[INFO] [stderr]    Compiling rust-embed-utils v8.0.0
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling flate2 v1.0.28
[INFO] [stderr]    Compiling exr v1.71.0
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling png v0.17.10
[INFO] [stderr]    Compiling rust-embed-impl v8.0.0
[INFO] [stderr]    Compiling rust-embed v8.0.0
[INFO] [stderr]    Compiling libusb1-sys v0.6.4
[INFO] [stderr]    Compiling jpeg-decoder v0.3.0
[INFO] [stderr]    Compiling tiff v0.9.0
[INFO] [stderr]    Compiling image v0.24.7
[INFO] [stderr]    Compiling 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] ...   |
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[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)]` (part of `#[warn(unused)]`) 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:15
[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:15
[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: 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: `ten_millis`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:308:13
[INFO] [stdout]     |
[INFO] [stdout] 308 |         let ten_millis = time::Duration::from_millis(10);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ten_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |             Err(e) => println!("Thread Err {:?}", e),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handler`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let handler = &capture_handler.lock().unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let mut image = Vec::<u8>::new();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:328:13
[INFO] [stdout]     |
[INFO] [stdout] 328 |         for buffer in &handler.buffers {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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] ...   |
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[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)]` (part of `#[warn(unused)]`) 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:15
[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:15
[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: 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: `ten_millis`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:308:13
[INFO] [stdout]     |
[INFO] [stdout] 308 |         let ten_millis = time::Duration::from_millis(10);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ten_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |             Err(e) => println!("Thread Err {:?}", e),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handler`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let handler = &capture_handler.lock().unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let mut image = Vec::<u8>::new();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:328:13
[INFO] [stdout]     |
[INFO] [stdout] 328 |         for buffer in &handler.buffers {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Katsukity` is never constructed
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Katsukity;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `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] 
[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] 
[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)]` (part of `#[warn(unused)]`) 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.83s
[INFO] running `Command { std: "docker" "inspect" "e86eb5a70d8c9cb9311472c1b8bb352fadf3bd89e8479e7aabe29aaeedaff7a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e86eb5a70d8c9cb9311472c1b8bb352fadf3bd89e8479e7aabe29aaeedaff7a1", kill_on_drop: false }`
[INFO] [stdout] e86eb5a70d8c9cb9311472c1b8bb352fadf3bd89e8479e7aabe29aaeedaff7a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 14842222b6ced4092063888dce6de9b60a03b70105d858095e99f264913b428b
[INFO] running `Command { std: "docker" "start" "-a" "14842222b6ced4092063888dce6de9b60a03b70105d858095e99f264913b428b", kill_on_drop: false }`
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | /         loop {
[INFO] [stdout] ...   |
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default
[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)]` (part of `#[warn(unused)]`) 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:15
[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:15
[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: 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: `ten_millis`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:308:13
[INFO] [stdout]     |
[INFO] [stdout] 308 |         let ten_millis = time::Duration::from_millis(10);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ten_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |             Err(e) => println!("Thread Err {:?}", e),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handler`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let handler = &capture_handler.lock().unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let mut image = Vec::<u8>::new();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:328:13
[INFO] [stdout]     |
[INFO] [stdout] 328 |         for buffer in &handler.buffers {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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] [stderr]    Compiling cappy3ds v0.0.1 (/opt/rustwide/workdir)
[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] ...   |
[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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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] ...   |
[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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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:15
[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:15
[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: 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)]` (part of `#[warn(unused)]`) on by default
[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: `ten_millis`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:308:13
[INFO] [stdout]     |
[INFO] [stdout] 308 |         let ten_millis = time::Duration::from_millis(10);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ten_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |             Err(e) => println!("Thread Err {:?}", e),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handler`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let handler = &capture_handler.lock().unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let mut image = Vec::<u8>::new();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:328:13
[INFO] [stdout]     |
[INFO] [stdout] 328 |         for buffer in &handler.buffers {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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:15
[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:15
[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: 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)]` (part of `#[warn(unused)]`) 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: `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: `ten_millis`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:308:13
[INFO] [stdout]     |
[INFO] [stdout] 308 |         let ten_millis = time::Duration::from_millis(10);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ten_millis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |             Err(e) => println!("Thread Err {:?}", e),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handler`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let handler = &capture_handler.lock().unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `image`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let mut image = Vec::<u8>::new();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]    --> src/capture/katsukitty/mod.rs:328:13
[INFO] [stdout]     |
[INFO] [stdout] 328 |         for buffer in &handler.buffers {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Katsukity` is never constructed
[INFO] [stdout]   --> src/capture/katsukitty/mod.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Katsukity;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `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] 
[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] 
[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)]` (part of `#[warn(unused)]`) 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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.05s
[INFO] running `Command { std: "docker" "inspect" "14842222b6ced4092063888dce6de9b60a03b70105d858095e99f264913b428b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14842222b6ced4092063888dce6de9b60a03b70105d858095e99f264913b428b", kill_on_drop: false }`
[INFO] [stdout] 14842222b6ced4092063888dce6de9b60a03b70105d858095e99f264913b428b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b8f563d3d58fa5435c8626dfa721e14a33f9eb366f33680761bfab00d93ea6e7
[INFO] running `Command { std: "docker" "start" "-a" "b8f563d3d58fa5435c8626dfa721e14a33f9eb366f33680761bfab00d93ea6e7", kill_on_drop: false }`
[INFO] [stderr] warning: unreachable statement
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:300:9
[INFO] [stderr]     |
[INFO] [stderr] 291 | /         loop {
[INFO] [stderr] ...   |
[INFO] [stderr] 298 | |         }
[INFO] [stderr]     | |_________- any code following this expression is unreachable
[INFO] [stderr] 299 |
[INFO] [stderr] 300 |           println!("Stopping Capture");
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `len`
[INFO] [stderr]   --> src/capture/katsukitty/fpga.rs:23:16
[INFO] [stderr]    |
[INFO] [stderr] 23 |             Ok(len) => {
[INFO] [stderr]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/capture/katsukitty/mod.rs:32:15
[INFO] [stderr]    |
[INFO] [stderr] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stderr]    |               ----^^^^^^
[INFO] [stderr]    |               |
[INFO] [stderr]    |               help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/capture/katsukitty/mod.rs:50:15
[INFO] [stderr]    |
[INFO] [stderr] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stderr]    |               ----^^^^^^
[INFO] [stderr]    |               |
[INFO] [stderr]    |               help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `device`
[INFO] [stderr]   --> src/capture/katsukitty/mod.rs:32:15
[INFO] [stderr]    |
[INFO] [stderr] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stderr]    |               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `device_desc`
[INFO] [stderr]   --> src/capture/katsukitty/mod.rs:32:27
[INFO] [stderr]    |
[INFO] [stderr] 32 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stderr]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `device`
[INFO] [stderr]   --> src/capture/katsukitty/mod.rs:50:15
[INFO] [stderr]    |
[INFO] [stderr] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stderr]    |               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `device_desc`
[INFO] [stderr]   --> src/capture/katsukitty/mod.rs:50:27
[INFO] [stderr]    |
[INFO] [stderr] 50 |         Some((mut device, device_desc, mut handle)) => {
[INFO] [stderr]    |                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_desc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:217:13
[INFO] [stderr]     |
[INFO] [stderr] 217 |         for i in 0..NUM_BUFFERS {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `thread_join_handle`
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:248:13
[INFO] [stderr]     |
[INFO] [stderr] 248 |         let thread_join_handle = s.spawn(|| loop {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_join_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ten_millis`
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:308:13
[INFO] [stderr]     |
[INFO] [stderr] 308 |         let ten_millis = time::Duration::from_millis(10);
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ten_millis`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:319:17
[INFO] [stderr]     |
[INFO] [stderr] 319 |             Err(e) => println!("Thread Err {:?}", e),
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `handler`
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:324:13
[INFO] [stderr]     |
[INFO] [stderr] 324 |         let handler = &capture_handler.lock().unwrap();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `image`
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:326:13
[INFO] [stderr]     |
[INFO] [stderr] 326 |         let mut image = Vec::<u8>::new();
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_image`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buffer`
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:328:13
[INFO] [stderr]     |
[INFO] [stderr] 328 |         for buffer in &handler.buffers {
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stderr] 
[INFO] [stderr] warning: field `new_frame` is never read
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:193:5
[INFO] [stderr]     |
[INFO] [stderr] 190 | struct CaptureHandler<F> {
[INFO] [stderr]     |        -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 193 |     new_frame: bool,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CaptureHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `check_fpga_programmed` is never used
[INFO] [stderr]    --> src/capture/katsukitty/fpga.rs:102:8
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub fn check_fpga_programmed<T: UsbContext>(handle: &mut DeviceHandle<T>) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `fifo_stop` is never used
[INFO] [stderr]    --> src/capture/katsukitty/fpga.rs:130:8
[INFO] [stderr]     |
[INFO] [stderr] 130 | pub fn fifo_stop<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/capture/katsukitty/fpga.rs:69:9
[INFO] [stderr]    |
[INFO] [stderr] 69 |         handle.write_bulk(1, &buf, timeout);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 69 |         let _ = handle.write_bulk(1, &buf, timeout);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/capture/katsukitty/fpga.rs:89:9
[INFO] [stderr]    |
[INFO] [stderr] 89 |         handle.write_bulk(1, &data, timeout);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let _ = handle.write_bulk(1, &data, timeout);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/capture/katsukitty/fpga.rs:98:5
[INFO] [stderr]    |
[INFO] [stderr] 98 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 98 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/capture/katsukitty/fpga.rs:106:5
[INFO] [stderr]     |
[INFO] [stderr] 106 |     handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 106 |     let _ = handle.read_bulk(0x81, &mut buf, timeout);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/capture/katsukitty/fpga.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 120 |     handle.write_bulk(1, &[0x65], timeout);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 120 |     let _ = handle.write_bulk(1, &[0x65], timeout);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/capture/katsukitty/fpga.rs:126:5
[INFO] [stderr]     |
[INFO] [stderr] 126 |     handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 126 |     let _ = handle.write_bulk(1, &[0x5b, 0x59, 0x03], timeout);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/capture/katsukitty/fpga.rs:127:5
[INFO] [stderr]     |
[INFO] [stderr] 127 |     handle.write_bulk(1, &[0x40], timeout);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 127 |     let _ = handle.write_bulk(1, &[0x40], timeout);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/capture/katsukitty/fpga.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 133 |     handle.write_bulk(1, &[0x41], timeout);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 133 |     let _ = handle.write_bulk(1, &[0x41], timeout);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/capture/katsukitty/fx2.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     handle.set_active_configuration(1);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 11 |     let _ = handle.set_active_configuration(1);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/capture/katsukitty/fx2.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     handle.claim_interface(0);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let _ = handle.claim_interface(0);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/capture/katsukitty/image.rs:29:13
[INFO] [stderr]    |
[INFO] [stderr] 29 |             image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 29 |             let _ = image.save(format!("./img_out/lower_{}.png", found_frames));
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/capture/katsukitty/image.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 36 |             let _ = image.save(format!("./img_out/upper_{}.png", found_frames));
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/capture/katsukitty/image.rs:43:13
[INFO] [stderr]    |
[INFO] [stderr] 43 |             image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 43 |             let _ = image.save(format!("./img_out/audio{}.png", found_frames));
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `cappy3ds` (lib) generated 31 warnings (run `cargo fix --lib -p cappy3ds` to apply 14 suggestions)
[INFO] [stderr] warning: `cappy3ds` (lib test) generated 31 warnings (31 duplicates)
[INFO] [stderr] warning: struct `Katsukity` is never constructed
[INFO] [stderr]   --> src/capture/katsukitty/mod.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | struct Katsukity;
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `connect` is never used
[INFO] [stderr]   --> src/capture/katsukitty/mod.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn connect<T: UsbContext>(context: &mut T) -> Result<DeviceHandle<T>, SimpleError> {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `open_device` is never used
[INFO] [stderr]   --> src/capture/katsukitty/mod.rs:76:4
[INFO] [stderr]    |
[INFO] [stderr] 76 | fn open_device<T: UsbContext>(
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `do_capture` is never used
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:103:8
[INFO] [stderr]     |
[INFO] [stderr] 103 | pub fn do_capture<T: UsbContext, F>(handle: &mut DeviceHandle<T>, data_callback: F)
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `transfer_finished` is never used
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:110:20
[INFO] [stderr]     |
[INFO] [stderr] 110 | extern "system" fn transfer_finished<T: UsbContext, F>(transfer_ptr: *mut usbffi::libusb_transfer)
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CaptureHandler` is never constructed
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:190:8
[INFO] [stderr]     |
[INFO] [stderr] 190 | struct CaptureHandler<F> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NUM_BUFFERS` is never used
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:198:7
[INFO] [stderr]     |
[INFO] [stderr] 198 | const NUM_BUFFERS: usize = 20;
[INFO] [stderr]     |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FRAM_BUFFER_SIZE` is never used
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:206:7
[INFO] [stderr]     |
[INFO] [stderr] 206 | const FRAM_BUFFER_SIZE: usize = 720 * 248 * 2;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TRANSFER_SIZE` is never used
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:208:7
[INFO] [stderr]     |
[INFO] [stderr] 208 | const TRANSFER_SIZE: usize = 0x4000;
[INFO] [stderr]     |       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:214:8
[INFO] [stderr]     |
[INFO] [stderr] 210 | / impl<F> CaptureHandler<F>
[INFO] [stderr] 211 | | where
[INFO] [stderr] 212 | |     F: FnMut(&[i16], BytesMut, BytesMut),
[INFO] [stderr]     | |_________________________________________- associated function in this implementation
[INFO] [stderr] 213 |   {
[INFO] [stderr] 214 |       fn new(data_callback: F) -> Self {
[INFO] [stderr]     |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bulk_read` is never used
[INFO] [stderr]    --> src/capture/katsukitty/mod.rs:231:4
[INFO] [stderr]     |
[INFO] [stderr] 231 | fn bulk_read<T: UsbContext, F>(handle: &mut DeviceHandle<T>, data_callback: F)
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_eeprom` is never used
[INFO] [stderr]  --> src/capture/katsukitty/fpga.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn read_eeprom<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stderr]   |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `configure_fpga` is never used
[INFO] [stderr]   --> src/capture/katsukitty/fpga.rs:37:8
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub fn configure_fpga<T: UsbContext>(handle: &mut DeviceHandle<T>, bitstream: Vec<u8>) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `configure_port` is never used
[INFO] [stderr]    --> src/capture/katsukitty/fpga.rs:117:8
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub fn configure_port<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `fifo_start` is never used
[INFO] [stderr]    --> src/capture/katsukitty/fpga.rs:123:8
[INFO] [stderr]     |
[INFO] [stderr] 123 | pub fn fifo_start<T: UsbContext>(handle: &mut DeviceHandle<T>) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `send_firmware` is never used
[INFO] [stderr]  --> src/capture/katsukitty/fx2.rs:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub(crate) fn send_firmware<T: UsbContext>(handle: &mut DeviceHandle<T>, firmware: Vec<u8>) {
[INFO] [stderr]   |               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_image_data` is never used
[INFO] [stderr]   --> src/capture/katsukitty/image.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn parse_image_data(data: &Vec<u8>) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `split_capture_buffer` is never used
[INFO] [stderr]   --> src/capture/katsukitty/parse.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn split_capture_buffer(data: &BytesMut) -> (BytesMut, BytesMut, BytesMut) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rgb565_to_rgb` is never used
[INFO] [stderr]   --> src/capture/katsukitty/parse.rs:44:8
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub fn rgb565_to_rgb(data: &BytesMut) -> BytesMut {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rgb565_to_rgba` is never used
[INFO] [stderr]   --> src/capture/katsukitty/parse.rs:67:8
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub fn rgb565_to_rgba(data: &BytesMut) -> BytesMut {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `cappy3ds` (bin "cappy3ds" test) generated 50 warnings (30 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cappy3ds-388ca20e15469570)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/cappy3ds-65826feea7f393b0)
[INFO] [stdout] running 0 tests
[INFO] [stderr]    Doc-tests cappy3ds
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b8f563d3d58fa5435c8626dfa721e14a33f9eb366f33680761bfab00d93ea6e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8f563d3d58fa5435c8626dfa721e14a33f9eb366f33680761bfab00d93ea6e7", kill_on_drop: false }`
[INFO] [stdout] b8f563d3d58fa5435c8626dfa721e14a33f9eb366f33680761bfab00d93ea6e7
