[INFO] cloning repository https://github.com/weaver57/ASCII-Renderer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/weaver57/ASCII-Renderer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fweaver57%2FASCII-Renderer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fweaver57%2FASCII-Renderer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f3db6b4c5d12f751952e4cc073f750365a2d4569
[INFO] checking weaver57/ASCII-Renderer against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fweaver57%2FASCII-Renderer" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/weaver57/ASCII-Renderer
[INFO] finished tweaking git repo https://github.com/weaver57/ASCII-Renderer
[INFO] tweaked toml for git repo https://github.com/weaver57/ASCII-Renderer written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/weaver57/ASCII-Renderer on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/weaver57/ASCII-Renderer 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" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded supports-color v3.0.2
[INFO] [stderr]   Downloaded is_ci v1.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] aa60bc1e4e0592294084b9d82d17f21c65ad1cc8cafb34edcde504b113a080e0
[INFO] running `Command { std: "docker" "start" "aa60bc1e4e0592294084b9d82d17f21c65ad1cc8cafb34edcde504b113a080e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aa60bc1e4e0592294084b9d82d17f21c65ad1cc8cafb34edcde504b113a080e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "aa60bc1e4e0592294084b9d82d17f21c65ad1cc8cafb34edcde504b113a080e0" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aa60bc1e4e0592294084b9d82d17f21c65ad1cc8cafb34edcde504b113a080e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "aa60bc1e4e0592294084b9d82d17f21c65ad1cc8cafb34edcde504b113a080e0" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]     Checking simd-adler32 v0.3.10
[INFO] [stderr]     Checking bitflags v2.13.1
[INFO] [stderr]    Compiling crc32fast v1.5.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling cfg_aliases v0.2.2
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]     Checking bytemuck v1.25.2
[INFO] [stderr]     Checking miniz_oxide v0.9.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking flate2 v1.1.10
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]     Checking pxfm v0.1.30
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking zune-core v0.5.3
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]     Checking crossbeam-epoch v0.9.20
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.7
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking is_ci v1.2.0
[INFO] [stderr]     Checking windows-link v0.2.1
[INFO] [stderr]     Checking either v1.18.0
[INFO] [stderr]     Checking windows-sys v0.61.2
[INFO] [stderr]     Checking supports-color v3.0.2
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking wide v0.7.33
[INFO] [stderr]     Checking crossbeam-channel v0.5.16
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking ctrlc v3.5.2
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]     Checking clap v4.6.6
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking ascii_renderer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/caps.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::image_loader::cell_source_rect`
[INFO] [stdout]    --> src/render/ascii.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |     use crate::image_loader::cell_source_rect;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdgeCellInfo`
[INFO] [stdout]    --> src/render/ascii.rs:198:31
[INFO] [stdout]     |
[INFO] [stdout] 198 |     use crate::render::edge::{EdgeCellInfo, compute_frame_edges};
[INFO] [stdout]     |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/caps.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `first_pts` is never read
[INFO] [stdout]   --> src/video/decoder.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct FFmpegDecoder {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     first_pts: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LANES` is never used
[INFO] [stdout]   --> src/parallel.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const LANES: usize = 8;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/caps.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::image_loader::cell_source_rect`
[INFO] [stdout]    --> src/render/ascii.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |     use crate::image_loader::cell_source_rect;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdgeCellInfo`
[INFO] [stdout]    --> src/render/ascii.rs:198:31
[INFO] [stdout]     |
[INFO] [stdout] 198 |     use crate::render::edge::{EdgeCellInfo, compute_frame_edges};
[INFO] [stdout]     |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DecodedFrame`
[INFO] [stdout]  --> src/video/mod.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use decoder::{DecodedFrame, FFmpegDecoder, OutputFormat};
[INFO] [stdout]   |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ColorSpace`, `YuvFrame`, `expand_limited_range`, `expand_plane_limited`, and `yuv_to_rgb`
[INFO] [stdout]   --> src/video/mod.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ColorRange, ColorSpace, YuvFrame, build_luma_map_y, create_yuv_frame, detect_color_space,
[INFO] [stdout]    |                 ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 13 |     downsample_yuv, expand_limited_range, expand_plane_limited, yuv_to_rgb,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/caps.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DecodedFrame`
[INFO] [stdout]  --> src/video/mod.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use decoder::{DecodedFrame, FFmpegDecoder, OutputFormat};
[INFO] [stdout]   |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ColorSpace`, `YuvFrame`, `expand_limited_range`, `expand_plane_limited`, and `yuv_to_rgb`
[INFO] [stdout]   --> src/video/mod.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ColorRange, ColorSpace, YuvFrame, build_luma_map_y, create_yuv_frame, detect_color_space,
[INFO] [stdout]    |                 ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 13 |     downsample_yuv, expand_limited_range, expand_plane_limited, yuv_to_rgb,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_delay` is never used
[INFO] [stdout]   --> tests/pipeline_tests.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl MockDecoder {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn with_delay(mut self, delay: Duration) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x0`
[INFO] [stdout]    --> src/image_loader.rs:357:30
[INFO] [stdout]     |
[INFO] [stdout] 357 |                         let (x0, x1, _, _) = cell_source_rect(col, 0, cols, rows, img_w, img_h);
[INFO] [stdout]     |                              ^^ help: if this is intentional, prefix it with an underscore: `_x0`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y0`
[INFO] [stdout]    --> src/image_loader.rs:366:36
[INFO] [stdout]     |
[INFO] [stdout] 366 |                         let (_, _, y0, y1) = cell_source_rect(0, row, cols, rows, img_w, img_h);
[INFO] [stdout]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_y0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/render/temporal.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let first = smoother.update(cur.clone());
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/render/temporal.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let first = smoother.update(cur);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/render/temporal.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let first = smoother.update(cur);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/render/temporal.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let first = smoother.update(vec![Some(EdgeCellInfo {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/video/decoder.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 |         let res = FFmpegDecoder::new(path, 64, 48, None, OutputFormat::Yuv420p);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x0`
[INFO] [stdout]    --> src/image_loader.rs:357:30
[INFO] [stdout]     |
[INFO] [stdout] 357 |                         let (x0, x1, _, _) = cell_source_rect(col, 0, cols, rows, img_w, img_h);
[INFO] [stdout]     |                              ^^ help: if this is intentional, prefix it with an underscore: `_x0`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y0`
[INFO] [stdout]    --> src/image_loader.rs:366:36
[INFO] [stdout]     |
[INFO] [stdout] 366 |                         let (_, _, y0, y1) = cell_source_rect(0, row, cols, rows, img_w, img_h);
[INFO] [stdout]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_y0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `displayed_buffer`, `cols`, and `rows` are never used
[INFO] [stdout]    --> src/diff.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl DoubleGrid {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn displayed_buffer(&self) -> &CharGrid {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn cols(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn rows(&self) -> usize {
[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 `gray_index` is never used
[INFO] [stdout]   --> src/palette.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn gray_index(color: Rgb) -> (usize, Rgb) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `entry` is never used
[INFO] [stdout]    --> src/palette.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl Palette {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn entry(&self, idx: usize) -> Rgb {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_frame` is never used
[INFO] [stdout]   --> src/render/ascii.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl AsciiRenderer {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn render_frame(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_size` is never used
[INFO] [stdout]   --> src/terminal.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl TerminalGuard {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_size() -> io::Result<(u16, u16)> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cell_dimensions` is never used
[INFO] [stdout]   --> src/terminal_size.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn get_cell_dimensions() -> CellDimensions {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `frame_duration` is never used
[INFO] [stdout]   --> src/video/clock.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl PlaybackClock {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn frame_duration(&self) -> Duration {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Rgb24` is never constructed
[INFO] [stdout]   --> src/video/decoder.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum OutputFormat {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout]  9 |     /// Raw RGB24 frames (for static image fallback).
[INFO] [stdout] 10 |     Rgb24,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OutputFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width`, `height`, `output_format`, and `first_pts` are never read
[INFO] [stdout]   --> src/video/decoder.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct FFmpegDecoder {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     width: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 29 |     height: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     frame_bytes: usize,
[INFO] [stdout] 31 |     output_format: OutputFormat,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     first_pts: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_rgb`, `width`, `height`, `frame_bytes`, and `output_format` are never used
[INFO] [stdout]    --> src/video/decoder.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl FFmpegDecoder {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn new_rgb<P: AsRef<Path>>(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn width(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn height(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn frame_bytes(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn output_format(&self) -> OutputFormat {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `VideoDecoder` is never used
[INFO] [stdout]    --> src/video/decoder.rs:197:11
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub trait VideoDecoder {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Full` is never constructed
[INFO] [stdout]   --> src/video/yuv.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum ColorRange {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 10 |     Limited,
[INFO] [stdout] 11 |     Full,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColorRange` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `range` and `pts_seconds` are never read
[INFO] [stdout]   --> src/video/yuv.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct YuvFrame {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub range: ColorRange,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub pts_seconds: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `YuvFrame` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `first_pts` is never read
[INFO] [stdout]   --> src/video/decoder.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct FFmpegDecoder {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     first_pts: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LANES` is never used
[INFO] [stdout]   --> src/parallel.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const LANES: usize = 8;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/video/yuv.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |         assert!(r <= 255, "must clamp, got {}", r);
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/video/yuv.rs:344:17
[INFO] [stdout]     |
[INFO] [stdout] 344 |         assert!(g <= 255, "must clamp, got {}", g);
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/video/yuv.rs:345:17
[INFO] [stdout]     |
[INFO] [stdout] 345 |         assert!(b <= 255, "must clamp, got {}", b);
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]   --> src/render/temporal.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let first = smoother.update(cur.clone());
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/render/temporal.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let first = smoother.update(cur);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/render/temporal.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let first = smoother.update(cur);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/render/temporal.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let first = smoother.update(vec![Some(EdgeCellInfo {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/video/decoder.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 |         let res = FFmpegDecoder::new(path, 64, 48, None, OutputFormat::Yuv420p);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cols` and `rows` are never used
[INFO] [stdout]    --> src/diff.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl DoubleGrid {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn cols(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn rows(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_size` is never used
[INFO] [stdout]   --> src/terminal.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl TerminalGuard {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_size() -> io::Result<(u16, u16)> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width`, `height`, `output_format`, and `first_pts` are never read
[INFO] [stdout]   --> src/video/decoder.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct FFmpegDecoder {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     width: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 29 |     height: usize,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     frame_bytes: usize,
[INFO] [stdout] 31 |     output_format: OutputFormat,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     first_pts: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `width`, `height`, `frame_bytes`, and `output_format` are never used
[INFO] [stdout]    --> src/video/decoder.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl FFmpegDecoder {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn width(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn height(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn frame_bytes(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn output_format(&self) -> OutputFormat {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `VideoDecoder` is never used
[INFO] [stdout]    --> src/video/decoder.rs:197:11
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub trait VideoDecoder {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `range` and `pts_seconds` are never read
[INFO] [stdout]   --> src/video/yuv.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct YuvFrame {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub range: ColorRange,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub pts_seconds: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `YuvFrame` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/video/yuv.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |         assert!(r <= 255, "must clamp, got {}", r);
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/video/yuv.rs:344:17
[INFO] [stdout]     |
[INFO] [stdout] 344 |         assert!(g <= 255, "must clamp, got {}", g);
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/video/yuv.rs:345:17
[INFO] [stdout]     |
[INFO] [stdout] 345 |         assert!(b <= 255, "must clamp, got {}", b);
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.20s
[INFO] running `Command { std: "docker" "inspect" "aa60bc1e4e0592294084b9d82d17f21c65ad1cc8cafb34edcde504b113a080e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa60bc1e4e0592294084b9d82d17f21c65ad1cc8cafb34edcde504b113a080e0", kill_on_drop: false }`
[INFO] [stdout] aa60bc1e4e0592294084b9d82d17f21c65ad1cc8cafb34edcde504b113a080e0
