[INFO] cloning repository https://github.com/SupremeDonut/vidterm [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SupremeDonut/vidterm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSupremeDonut%2Fvidterm", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSupremeDonut%2Fvidterm'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a974ef20a03f3a5f7c0d00938213540f8c5d4ddb [INFO] linting SupremeDonut/vidterm against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSupremeDonut%2Fvidterm" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/SupremeDonut/vidterm [INFO] finished tweaking git repo https://github.com/SupremeDonut/vidterm [INFO] tweaked toml for git repo https://github.com/SupremeDonut/vidterm written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/SupremeDonut/vidterm on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/SupremeDonut/vidterm 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded windows-targets v0.53.3 [INFO] [stderr] Downloaded bytemuck_derive v1.10.1 [INFO] [stderr] Downloaded thiserror v2.0.16 [INFO] [stderr] Downloaded errno v0.3.13 [INFO] [stderr] Downloaded range-alloc v0.1.4 [INFO] [stderr] Downloaded signal-hook-mio v0.2.4 [INFO] [stderr] Downloaded ctrlc v3.4.7 [INFO] [stderr] Downloaded signal-hook-registry v1.4.6 [INFO] [stderr] Downloaded convert_case v0.7.1 [INFO] [stderr] Downloaded litrs v0.4.2 [INFO] [stderr] Downloaded xml-rs v0.8.27 [INFO] [stderr] Downloaded derive_more v2.0.1 [INFO] [stderr] Downloaded derive_more-impl v2.0.1 [INFO] [stderr] Downloaded mio v1.0.4 [INFO] [stderr] Downloaded indexmap v2.11.0 [INFO] [stderr] Downloaded glow v0.16.0 [INFO] [stderr] Downloaded wgpu-types v26.0.0 [INFO] [stderr] Downloaded libm v0.2.15 [INFO] [stderr] Downloaded portable-atomic v1.11.1 [INFO] [stderr] Downloaded wgpu v26.0.1 [INFO] [stderr] Downloaded codespan-reporting v0.12.0 [INFO] [stderr] Downloaded gpu-allocator v0.27.0 [INFO] [stderr] Downloaded libloading v0.8.8 [INFO] [stderr] Downloaded unicode-width v0.2.1 [INFO] [stderr] Downloaded wgpu-core v26.0.1 [INFO] [stderr] Downloaded syn v2.0.106 [INFO] [stderr] Downloaded ndk-sys v0.6.0+11769913 [INFO] [stderr] Downloaded ordered-float v5.0.0 [INFO] [stderr] Downloaded rustix v1.0.8 [INFO] [stderr] Downloaded wgpu-hal v26.0.4 [INFO] [stderr] Downloaded bytemuck v1.23.2 [INFO] [stderr] Downloaded proc-macro2 v1.0.101 [INFO] [stderr] Downloaded ash v0.38.0+1.3.281 [INFO] [stderr] Downloaded bitflags v2.9.2 [INFO] [stderr] Downloaded thiserror-impl v2.0.16 [INFO] [stderr] Downloaded document-features v0.2.11 [INFO] [stderr] Downloaded wgpu-core-deps-apple v26.0.0 [INFO] [stderr] Downloaded gpu-descriptor v0.3.2 [INFO] [stderr] Downloaded bit-vec v0.8.0 [INFO] [stderr] Downloaded pollster v0.4.0 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.50 [INFO] [stderr] Downloaded wgpu-core-deps-emscripten v26.0.0 [INFO] [stderr] Downloaded wgpu-core-deps-windows-linux-android v26.0.0 [INFO] [stderr] Downloaded glutin_wgl_sys v0.6.1 [INFO] [stderr] Downloaded core-graphics-types v0.2.0 [INFO] [stderr] Downloaded bit-set v0.8.0 [INFO] [stderr] Downloaded winapi-util v0.1.10 [INFO] [stderr] Downloaded naga v26.0.0 [INFO] [stderr] Downloaded windows_aarch64_gnullvm v0.53.0 [INFO] [stderr] Downloaded windows_aarch64_msvc v0.53.0 [INFO] [stderr] Downloaded windows_x86_64_gnullvm v0.53.0 [INFO] [stderr] Downloaded windows_x86_64_gnu v0.53.0 [INFO] [stderr] Downloaded windows_i686_gnullvm v0.53.0 [INFO] [stderr] Downloaded windows_x86_64_msvc v0.53.0 [INFO] [stderr] Downloaded windows_i686_msvc v0.53.0 [INFO] [stderr] Downloaded windows_i686_gnu v0.53.0 [INFO] [stderr] Downloaded libc v0.2.175 [INFO] [stderr] Downloaded metal v0.32.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a7eddd8162f1fa9d1fde265ad4068f31ac48672703f14c76071448cf63f69764 [INFO] running `Command { std: "docker" "start" "-a" "a7eddd8162f1fa9d1fde265ad4068f31ac48672703f14c76071448cf63f69764", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a7eddd8162f1fa9d1fde265ad4068f31ac48672703f14c76071448cf63f69764", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7eddd8162f1fa9d1fde265ad4068f31ac48672703f14c76071448cf63f69764", kill_on_drop: false }` [INFO] [stdout] a7eddd8162f1fa9d1fde265ad4068f31ac48672703f14c76071448cf63f69764 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 56837324c06717c39c08ec1e6397722f46b6a5d7ee67d3a1a5916fe82abd85c9 [INFO] running `Command { std: "docker" "start" "-a" "56837324c06717c39c08ec1e6397722f46b6a5d7ee67d3a1a5916fe82abd85c9", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking foldhash v0.1.5 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling naga v26.0.0 [INFO] [stderr] Checking libloading v0.8.8 [INFO] [stderr] Checking bit-vec v0.8.0 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling ash v0.38.0+1.3.281 [INFO] [stderr] Checking unicode-width v0.2.1 [INFO] [stderr] Compiling khronos-egl v6.0.0 [INFO] [stderr] Checking bit-set v0.8.0 [INFO] [stderr] Checking indexmap v2.11.0 [INFO] [stderr] Compiling wgpu-hal v26.0.4 [INFO] [stderr] Checking hexf-parse v0.2.1 [INFO] [stderr] Checking codespan-reporting v0.12.0 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking renderdoc-sys v1.1.0 [INFO] [stderr] Checking profiling v1.0.17 [INFO] [stderr] Compiling litrs v0.4.2 [INFO] [stderr] Checking glow v0.16.0 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling document-features v0.2.11 [INFO] [stderr] Compiling convert_case v0.7.1 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking ordered-float v5.0.0 [INFO] [stderr] Compiling wgpu-core v26.0.1 [INFO] [stderr] Checking bitflags v2.9.2 [INFO] [stderr] Checking spirv v0.3.0+sdk-1.3.268.0 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking gpu-descriptor-types v0.2.0 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Checking gpu-descriptor v0.3.2 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Compiling wgpu v26.0.1 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking pollster v0.4.0 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Compiling bytemuck_derive v1.10.1 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Checking derive_more v2.0.1 [INFO] [stderr] Checking crossterm v0.29.0 [INFO] [stderr] Checking bytemuck v1.23.2 [INFO] [stderr] Checking ctrlc v3.4.7 [INFO] [stderr] Checking wgpu-types v26.0.0 [INFO] [stderr] Checking wgpu-core-deps-windows-linux-android v26.0.0 [INFO] [stderr] Checking vidterm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | use ctrlc; [INFO] [stdout] | ^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | use ctrlc; [INFO] [stdout] | ^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/filters.rs:121:38 [INFO] [stdout] | [INFO] [stdout] 121 | pass.dispatch_workgroups((out_w + 7) / 8, (out_h + 7) / 8, 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `out_w.div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/filters.rs:121:55 [INFO] [stdout] | [INFO] [stdout] 121 | pass.dispatch_workgroups((out_w + 7) / 8, (out_h + 7) / 8, 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `out_h.div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 42 | .args(&[ [INFO] [stdout] | _______________^ [INFO] [stdout] 43 | | "-v", [INFO] [stdout] 44 | | "error", [INFO] [stdout] 45 | | "-select_streams", [INFO] [stdout] ... | [INFO] [stdout] 51 | | video, [INFO] [stdout] 52 | | ]) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 42 ~ .args([ [INFO] [stdout] 43 + "-v", [INFO] [stdout] 44 + "error", [INFO] [stdout] 45 + "-select_streams", [INFO] [stdout] 46 + "v:0", [INFO] [stdout] 47 + "-show_entries", [INFO] [stdout] 48 + "stream=width,height", [INFO] [stdout] 49 + "-of", [INFO] [stdout] 50 + "csv=p=0", [INFO] [stdout] 51 + video, [INFO] [stdout] 52 ~ ]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | / return Color::Rgb { [INFO] [stdout] 96 | | r: frame[idx], [INFO] [stdout] 97 | | g: frame[idx + 1], [INFO] [stdout] 98 | | b: frame[idx + 2], [INFO] [stdout] 99 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 95 ~ Color::Rgb { [INFO] [stdout] 96 + r: frame[idx], [INFO] [stdout] 97 + g: frame[idx + 1], [INFO] [stdout] 98 + b: frame[idx + 2], [INFO] [stdout] 99 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | fn get_color(frame: &Vec, size: (usize, usize), pos: (usize, usize)) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 89 - fn get_color(frame: &Vec, size: (usize, usize), pos: (usize, usize)) -> Color { [INFO] [stdout] 89 + fn get_color(frame: &[u8], size: (usize, usize), pos: (usize, usize)) -> Color { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:189:23 [INFO] [stdout] | [INFO] [stdout] 189 | if !paused && !out.read_exact(&mut chunk).is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `out.read_exact(&mut chunk).is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is not `wait()`ed on in all code paths [INFO] [stdout] --> src/main.rs:114:21 [INFO] [stdout] | [INFO] [stdout] 114 | let mut child = Command::new("ffmpeg") [INFO] [stdout] | _____________________^ [INFO] [stdout] 115 | | .args(&[ [INFO] [stdout] 116 | | "-hide_banner", [INFO] [stdout] 117 | | "-loglevel", [INFO] [stdout] ... | [INFO] [stdout] 130 | | .spawn() [INFO] [stdout] 131 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] note: no `wait()` call exists on the code path to this early return [INFO] [stdout] --> src/main.rs:146:63 [INFO] [stdout] | [INFO] [stdout] 146 | execute!(io::stdout(), EnterAlternateScreen, cursor::Hide)?; [INFO] [stdout] | ^ [INFO] [stdout] note: `wait()` call exists, but it is unreachable due to the early return [INFO] [stdout] --> src/main.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | child.wait().ok(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: consider calling `.wait()` in all code paths [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:115:15 [INFO] [stdout] | [INFO] [stdout] 115 | .args(&[ [INFO] [stdout] | _______________^ [INFO] [stdout] 116 | | "-hide_banner", [INFO] [stdout] 117 | | "-loglevel", [INFO] [stdout] 118 | | "error", [INFO] [stdout] ... | [INFO] [stdout] 127 | | "-", [INFO] [stdout] 128 | | ]) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 115 ~ .args([ [INFO] [stdout] 116 + "-hide_banner", [INFO] [stdout] 117 + "-loglevel", [INFO] [stdout] 118 + "error", [INFO] [stdout] 119 + "-i", [INFO] [stdout] 120 + video, [INFO] [stdout] 121 + "-r", [INFO] [stdout] 122 + &frame_rate.to_string(), [INFO] [stdout] 123 + "-f", [INFO] [stdout] 124 + "rawvideo", [INFO] [stdout] 125 + "-pix_fmt", [INFO] [stdout] 126 + "rgba", [INFO] [stdout] 127 + "-", [INFO] [stdout] 128 ~ ]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/main.rs:159:21 [INFO] [stdout] | [INFO] [stdout] 159 | / if event.is_press() { [INFO] [stdout] 160 | | match event.code { [INFO] [stdout] 161 | | KeyCode::Char(' ') => { [INFO] [stdout] 162 | | paused = !paused; [INFO] [stdout] ... | [INFO] [stdout] 178 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 158 ~ Event::Key(event) [INFO] [stdout] 159 ~ if event.is_press() => { [INFO] [stdout] 160 | match event.code { [INFO] [stdout] ... [INFO] [stdout] 177 | } [INFO] [stdout] 178 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/filters.rs:121:38 [INFO] [stdout] | [INFO] [stdout] 121 | pass.dispatch_workgroups((out_w + 7) / 8, (out_h + 7) / 8, 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `out_w.div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/filters.rs:121:55 [INFO] [stdout] | [INFO] [stdout] 121 | pass.dispatch_workgroups((out_w + 7) / 8, (out_h + 7) / 8, 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `out_h.div_ceil(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 42 | .args(&[ [INFO] [stdout] | _______________^ [INFO] [stdout] 43 | | "-v", [INFO] [stdout] 44 | | "error", [INFO] [stdout] 45 | | "-select_streams", [INFO] [stdout] ... | [INFO] [stdout] 51 | | video, [INFO] [stdout] 52 | | ]) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 42 ~ .args([ [INFO] [stdout] 43 + "-v", [INFO] [stdout] 44 + "error", [INFO] [stdout] 45 + "-select_streams", [INFO] [stdout] 46 + "v:0", [INFO] [stdout] 47 + "-show_entries", [INFO] [stdout] 48 + "stream=width,height", [INFO] [stdout] 49 + "-of", [INFO] [stdout] 50 + "csv=p=0", [INFO] [stdout] 51 + video, [INFO] [stdout] 52 ~ ]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | / return Color::Rgb { [INFO] [stdout] 96 | | r: frame[idx], [INFO] [stdout] 97 | | g: frame[idx + 1], [INFO] [stdout] 98 | | b: frame[idx + 2], [INFO] [stdout] 99 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 95 ~ Color::Rgb { [INFO] [stdout] 96 + r: frame[idx], [INFO] [stdout] 97 + g: frame[idx + 1], [INFO] [stdout] 98 + b: frame[idx + 2], [INFO] [stdout] 99 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | fn get_color(frame: &Vec, size: (usize, usize), pos: (usize, usize)) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 89 - fn get_color(frame: &Vec, size: (usize, usize), pos: (usize, usize)) -> Color { [INFO] [stdout] 89 + fn get_color(frame: &[u8], size: (usize, usize), pos: (usize, usize)) -> Color { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:189:23 [INFO] [stdout] | [INFO] [stdout] 189 | if !paused && !out.read_exact(&mut chunk).is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `out.read_exact(&mut chunk).is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: spawned process is not `wait()`ed on in all code paths [INFO] [stdout] --> src/main.rs:114:21 [INFO] [stdout] | [INFO] [stdout] 114 | let mut child = Command::new("ffmpeg") [INFO] [stdout] | _____________________^ [INFO] [stdout] 115 | | .args(&[ [INFO] [stdout] 116 | | "-hide_banner", [INFO] [stdout] 117 | | "-loglevel", [INFO] [stdout] ... | [INFO] [stdout] 130 | | .spawn() [INFO] [stdout] 131 | | .unwrap(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] note: no `wait()` call exists on the code path to this early return [INFO] [stdout] --> src/main.rs:146:63 [INFO] [stdout] | [INFO] [stdout] 146 | execute!(io::stdout(), EnterAlternateScreen, cursor::Hide)?; [INFO] [stdout] | ^ [INFO] [stdout] note: `wait()` call exists, but it is unreachable due to the early return [INFO] [stdout] --> src/main.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | child.wait().ok(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: consider calling `.wait()` in all code paths [INFO] [stdout] = note: not doing so might leave behind zombie processes [INFO] [stdout] = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes [INFO] [stdout] = note: `#[warn(clippy::zombie_processes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:115:15 [INFO] [stdout] | [INFO] [stdout] 115 | .args(&[ [INFO] [stdout] | _______________^ [INFO] [stdout] 116 | | "-hide_banner", [INFO] [stdout] 117 | | "-loglevel", [INFO] [stdout] 118 | | "error", [INFO] [stdout] ... | [INFO] [stdout] 127 | | "-", [INFO] [stdout] 128 | | ]) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 115 ~ .args([ [INFO] [stdout] 116 + "-hide_banner", [INFO] [stdout] 117 + "-loglevel", [INFO] [stdout] 118 + "error", [INFO] [stdout] 119 + "-i", [INFO] [stdout] 120 + video, [INFO] [stdout] 121 + "-r", [INFO] [stdout] 122 + &frame_rate.to_string(), [INFO] [stdout] 123 + "-f", [INFO] [stdout] 124 + "rawvideo", [INFO] [stdout] 125 + "-pix_fmt", [INFO] [stdout] 126 + "rgba", [INFO] [stdout] 127 + "-", [INFO] [stdout] 128 ~ ]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/main.rs:159:21 [INFO] [stdout] | [INFO] [stdout] 159 | / if event.is_press() { [INFO] [stdout] 160 | | match event.code { [INFO] [stdout] 161 | | KeyCode::Char(' ') => { [INFO] [stdout] 162 | | paused = !paused; [INFO] [stdout] ... | [INFO] [stdout] 178 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 158 ~ Event::Key(event) [INFO] [stdout] 159 ~ if event.is_press() => { [INFO] [stdout] 160 | match event.code { [INFO] [stdout] ... [INFO] [stdout] 177 | } [INFO] [stdout] 178 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.58s [INFO] running `Command { std: "docker" "inspect" "56837324c06717c39c08ec1e6397722f46b6a5d7ee67d3a1a5916fe82abd85c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "56837324c06717c39c08ec1e6397722f46b6a5d7ee67d3a1a5916fe82abd85c9", kill_on_drop: false }` [INFO] [stdout] 56837324c06717c39c08ec1e6397722f46b6a5d7ee67d3a1a5916fe82abd85c9