[INFO] updating cached repository ishanjain28/giraffe [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/ishanjain28/giraffe [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/ishanjain28/giraffe" "work/ex/clippy-test-run/sources/stable/gh/ishanjain28/giraffe"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/ishanjain28/giraffe'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/ishanjain28/giraffe" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ishanjain28/giraffe"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ishanjain28/giraffe'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5179bfbcd70f8b4946b925396182fee57eaf8776 [INFO] sha for GitHub repo ishanjain28/giraffe: 5179bfbcd70f8b4946b925396182fee57eaf8776 [INFO] validating manifest of ishanjain28/giraffe on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of ishanjain28/giraffe on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing ishanjain28/giraffe [INFO] finished frobbing ishanjain28/giraffe [INFO] frobbed toml for ishanjain28/giraffe written to work/ex/clippy-test-run/sources/stable/gh/ishanjain28/giraffe/Cargo.toml [INFO] started frobbing ishanjain28/giraffe [INFO] finished frobbing ishanjain28/giraffe [INFO] frobbed toml for ishanjain28/giraffe written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ishanjain28/giraffe/Cargo.toml [INFO] crate ishanjain28/giraffe has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting ishanjain28/giraffe against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/ishanjain28/giraffe:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] b0869df7e7571d8887380909f376ffc004f4a108e7bbf89a6249bd5b967ef4cd [INFO] running `"docker" "start" "-a" "b0869df7e7571d8887380909f376ffc004f4a108e7bbf89a6249bd5b967ef4cd"` [INFO] [stderr] Compiling x11cap v0.4.1 [INFO] [stderr] Checking fern v0.4.3 [INFO] [stderr] Compiling x11 v2.16.0 [INFO] [stderr] Checking rayon-core v1.3.0 [INFO] [stderr] Checking rayon v0.9.0 [INFO] [stderr] Checking walnut v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/processor.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | frame: frame, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `frame` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/processor.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | frame: frame, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `frame` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/selector.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/selector.rs:66:17 [INFO] [stderr] | [INFO] [stderr] 66 | return Some(p); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(p)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/selector.rs:108:29 [INFO] [stderr] | [INFO] [stderr] 108 | xgcval.background = 0x00FF00; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_FF00` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/selector.rs:109:29 [INFO] [stderr] | [INFO] [stderr] 109 | xgcval.foreground = 0xFFFFFF; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00FF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/processor.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/selector.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/selector.rs:66:17 [INFO] [stderr] | [INFO] [stderr] 66 | return Some(p); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(p)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/selector.rs:108:29 [INFO] [stderr] | [INFO] [stderr] 108 | xgcval.background = 0x00FF00; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_FF00` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/selector.rs:109:29 [INFO] [stderr] | [INFO] [stderr] 109 | xgcval.foreground = 0xFFFFFF; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00FF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/processor.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: value assigned to `draw_rectangle` is never read [INFO] [stderr] --> src/selector.rs:183:25 [INFO] [stderr] | [INFO] [stderr] 183 | draw_rectangle = true; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `x` is never read [INFO] [stderr] --> src/selector.rs:185:25 [INFO] [stderr] | [INFO] [stderr] 185 | x = evt.button.x_root; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `y` is never read [INFO] [stderr] --> src/selector.rs:186:25 [INFO] [stderr] | [INFO] [stderr] 186 | y = evt.button.y_root; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `draw_rectangle` is never read [INFO] [stderr] --> src/selector.rs:204:25 [INFO] [stderr] | [INFO] [stderr] 204 | draw_rectangle = false; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `win` is never read [INFO] [stderr] --> src/selector.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | win = mem::uninitialized(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `gc` is never read [INFO] [stderr] --> src/selector.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | gc = mem::uninitialized(); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `id` [INFO] [stderr] --> src/selector.rs:333:17 [INFO] [stderr] | [INFO] [stderr] 333 | fn open_display(id: *const raw::c_char) -> *mut xlib::Display { [INFO] [stderr] | ^^ help: consider using `_id` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/utils.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 16 | Ok(v) => Ok(ws::Wayland), [INFO] [stderr] | ^ help: consider using `_v` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/utils.rs:21:24 [INFO] [stderr] | [INFO] [stderr] 21 | Ok(v) => Ok(ws::X11), [INFO] [stderr] | ^ help: consider using `_v` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/main.rs:114:21 [INFO] [stderr] | [INFO] [stderr] 114 | Err(e) => { [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/main.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | Err(e) => { [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `color_map` [INFO] [stderr] --> src/main.rs:170:9 [INFO] [stderr] | [INFO] [stderr] 170 | let color_map = &[0xFF, 0xFF, 0xFA]; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_color_map` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `geometry` [INFO] [stderr] --> src/main.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | let geometry = d.get_geometry(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_geometry` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/main.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | let mut f = d.capture_frame().unwrap(); [INFO] [stderr] | ^ help: consider using `_f` instead [INFO] [stderr] [INFO] [stderr] warning: variable `win` is assigned to, but never used [INFO] [stderr] --> src/selector.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | let mut win: xlib::Window; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_win` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `win` is never read [INFO] [stderr] --> src/selector.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | win = mem::uninitialized(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `cmap` is assigned to, but never used [INFO] [stderr] --> src/selector.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | let mut cmap: xlib::Colormap; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_cmap` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `cmap` is never read [INFO] [stderr] --> src/selector.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | cmap = mem::uninitialized(); [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `cmap` is never read [INFO] [stderr] --> src/selector.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | cmap = xlib::XCreateColormap( [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:112:17 [INFO] [stderr] | [INFO] [stderr] 112 | let mut q = match d.capture_frame() { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | let mut is_rec = Arc::new(RwLock::new(true)); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | let mut is_rec_clone = is_rec.clone(); [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:112:17 [INFO] [stderr] | [INFO] [stderr] 112 | let mut q = match d.capture_frame() { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | let mut f = d.capture_frame().unwrap(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `draw_rectangle` is never read [INFO] [stderr] --> src/selector.rs:183:25 [INFO] [stderr] | [INFO] [stderr] 183 | draw_rectangle = true; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `x` is never read [INFO] [stderr] --> src/selector.rs:185:25 [INFO] [stderr] | [INFO] [stderr] 185 | x = evt.button.x_root; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `y` is never read [INFO] [stderr] --> src/selector.rs:186:25 [INFO] [stderr] | [INFO] [stderr] 186 | y = evt.button.y_root; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `draw_rectangle` is never read [INFO] [stderr] --> src/selector.rs:204:25 [INFO] [stderr] | [INFO] [stderr] 204 | draw_rectangle = false; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `win` is never read [INFO] [stderr] --> src/selector.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | win = mem::uninitialized(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `gc` is never read [INFO] [stderr] --> src/selector.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | gc = mem::uninitialized(); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `id` [INFO] [stderr] --> src/selector.rs:333:17 [INFO] [stderr] | [INFO] [stderr] 333 | fn open_display(id: *const raw::c_char) -> *mut xlib::Display { [INFO] [stderr] | ^^ help: consider using `_id` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/utils.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 16 | Ok(v) => Ok(ws::Wayland), [INFO] [stderr] | ^ help: consider using `_v` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/utils.rs:21:24 [INFO] [stderr] | [INFO] [stderr] 21 | Ok(v) => Ok(ws::X11), [INFO] [stderr] | ^ help: consider using `_v` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/main.rs:114:21 [INFO] [stderr] | [INFO] [stderr] 114 | Err(e) => { [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/main.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | Err(e) => { [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `color_map` [INFO] [stderr] --> src/main.rs:170:9 [INFO] [stderr] | [INFO] [stderr] 170 | let color_map = &[0xFF, 0xFF, 0xFA]; [INFO] [stderr] | ^^^^^^^^^ help: consider using `_color_map` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `geometry` [INFO] [stderr] --> src/main.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | let geometry = d.get_geometry(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_geometry` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/main.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | let mut f = d.capture_frame().unwrap(); [INFO] [stderr] | ^ help: consider using `_f` instead [INFO] [stderr] [INFO] [stderr] warning: variable `win` is assigned to, but never used [INFO] [stderr] --> src/selector.rs:44:17 [INFO] [stderr] | [INFO] [stderr] 44 | let mut win: xlib::Window; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_win` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `win` is never read [INFO] [stderr] --> src/selector.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | win = mem::uninitialized(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `cmap` is assigned to, but never used [INFO] [stderr] --> src/selector.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | let mut cmap: xlib::Colormap; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_cmap` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `cmap` is never read [INFO] [stderr] --> src/selector.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | cmap = mem::uninitialized(); [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `cmap` is never read [INFO] [stderr] --> src/selector.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | cmap = xlib::XCreateColormap( [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/selector.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | let mut win: xlib::Window; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/selector.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let mut gc = self.create_gc(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/selector.rs:157:9 [INFO] [stderr] | [INFO] [stderr] 157 | let mut s = Selector::new(CString::new(id).unwrap().as_ptr()); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/selector.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | let mut glxContext = [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:112:17 [INFO] [stderr] | [INFO] [stderr] 112 | let mut q = match d.capture_frame() { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | let mut is_rec = Arc::new(RwLock::new(true)); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] --> src/processor.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | let mut frame = gif::Frame::from_rgb(v.width, v.height, convert(bgr8_slice).as_slice()); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | let mut is_rec_clone = is_rec.clone(); [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:112:17 [INFO] [stderr] | [INFO] [stderr] 112 | let mut q = match d.capture_frame() { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | let mut f = d.capture_frame().unwrap(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/selector.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | let mut win: xlib::Window; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/selector.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let mut gc = self.create_gc(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/selector.rs:157:9 [INFO] [stderr] | [INFO] [stderr] 157 | let mut s = Selector::new(CString::new(id).unwrap().as_ptr()); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/selector.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | let mut glxContext = [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/processor.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | let mut frame = gif::Frame::from_rgb(v.width, v.height, convert(bgr8_slice).as_slice()); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Selector` [INFO] [stderr] --> src/selector.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | struct Selector { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Pointer` [INFO] [stderr] --> src/selector.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | struct Pointer { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/selector.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | fn new(id: *const raw::c_char) -> Selector { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_root_window` [INFO] [stderr] --> src/selector.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | fn get_root_window(&self) -> xlib::Window { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `query_pointer` [INFO] [stderr] --> src/selector.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | fn query_pointer(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `grab_pointer` [INFO] [stderr] --> src/selector.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | fn grab_pointer(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `release_pointer` [INFO] [stderr] --> src/selector.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | fn release_pointer(&self) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `create_gc` [INFO] [stderr] --> src/selector.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | fn create_gc(&self) -> *mut xlib::_XGC { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `draw_rectangle` [INFO] [stderr] --> src/selector.rs:118:5 [INFO] [stderr] | [INFO] [stderr] 118 | fn draw_rectangle(&self, x: i32, y: i32, w: u32, h: u32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_selection_window` [INFO] [stderr] --> src/selector.rs:156:1 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn draw_selection_window(id: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_transparent_window` [INFO] [stderr] --> src/selector.rs:232:1 [INFO] [stderr] | [INFO] [stderr] 232 | pub fn draw_transparent_window(mon_id: *const raw::c_char) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `open_display` [INFO] [stderr] --> src/selector.rs:333:1 [INFO] [stderr] | [INFO] [stderr] 333 | fn open_display(id: *const raw::c_char) -> *mut xlib::Display { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Captures` [INFO] [stderr] --> src/main.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | struct Captures<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `init_logger` [INFO] [stderr] --> src/main.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | fn init_logger() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `start_capturing` [INFO] [stderr] --> src/main.rs:158:1 [INFO] [stderr] | [INFO] [stderr] 158 | fn start_capturing() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Selector` [INFO] [stderr] --> src/selector.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | struct Selector { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Pointer` [INFO] [stderr] --> src/selector.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | struct Pointer { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/selector.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | fn new(id: *const raw::c_char) -> Selector { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_root_window` [INFO] [stderr] --> src/selector.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | fn get_root_window(&self) -> xlib::Window { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `query_pointer` [INFO] [stderr] --> src/selector.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | fn query_pointer(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `grab_pointer` [INFO] [stderr] --> src/selector.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | fn grab_pointer(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `release_pointer` [INFO] [stderr] --> src/selector.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | fn release_pointer(&self) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `create_gc` [INFO] [stderr] --> src/selector.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | fn create_gc(&self) -> *mut xlib::_XGC { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `draw_rectangle` [INFO] [stderr] --> src/selector.rs:118:5 [INFO] [stderr] | [INFO] [stderr] 118 | fn draw_rectangle(&self, x: i32, y: i32, w: u32, h: u32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_selection_window` [INFO] [stderr] --> src/selector.rs:156:1 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn draw_selection_window(id: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `draw_transparent_window` [INFO] [stderr] --> src/selector.rs:232:1 [INFO] [stderr] | [INFO] [stderr] 232 | pub fn draw_transparent_window(mon_id: *const raw::c_char) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `open_display` [INFO] [stderr] --> src/selector.rs:333:1 [INFO] [stderr] | [INFO] [stderr] 333 | fn open_display(id: *const raw::c_char) -> *mut xlib::Display { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Captures` [INFO] [stderr] --> src/main.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | struct Captures<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `init_logger` [INFO] [stderr] --> src/main.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | fn init_logger() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `start_capturing` [INFO] [stderr] --> src/main.rs:158:1 [INFO] [stderr] | [INFO] [stderr] 158 | fn start_capturing() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/selector.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | CString::new("sb_v_precision_select").unwrap().as_ptr(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::temporary_cstring_as_ptr)] on by default [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/selector.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | CString::new("sb_v_precision_select").unwrap().as_ptr(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/selector.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | / if grabbed == xlib::GrabSuccess { [INFO] [stderr] 95 | | true [INFO] [stderr] 96 | | } else { [INFO] [stderr] 97 | | false [INFO] [stderr] 98 | | } [INFO] [stderr] | |_____________^ help: you can reduce it to: `grabbed == xlib::GrabSuccess` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/selector.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | CString::new("sb_v_precision_select").unwrap().as_ptr(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::temporary_cstring_as_ptr)] on by default [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/selector.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | CString::new("sb_v_precision_select").unwrap().as_ptr(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/selector.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | / if grabbed == xlib::GrabSuccess { [INFO] [stderr] 95 | | true [INFO] [stderr] 96 | | } else { [INFO] [stderr] 97 | | false [INFO] [stderr] 98 | | } [INFO] [stderr] | |_____________^ help: you can reduce it to: `grabbed == xlib::GrabSuccess` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/selector.rs:157:31 [INFO] [stderr] | [INFO] [stderr] 157 | let mut s = Selector::new(CString::new(id).unwrap().as_ptr()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/selector.rs:157:31 [INFO] [stderr] | [INFO] [stderr] 157 | let mut s = Selector::new(CString::new(id).unwrap().as_ptr()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/selector.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(while_true)] on by default [INFO] [stderr] [INFO] [stderr] error: Variable in the condition are not mutated in the loop body. This either leads to an infinite or to a never running loop. [INFO] [stderr] --> src/selector.rs:194:27 [INFO] [stderr] | [INFO] [stderr] 194 | while draw_rectangle { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::while_immutable_condition)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_immutable_condition [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/selector.rs:218:5 [INFO] [stderr] | [INFO] [stderr] 218 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/selector.rs:286:38 [INFO] [stderr] | [INFO] [stderr] 286 | xlib::XChangeGC(display, gc, xlib::GCForeground as u64, &mut xgcval); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(xlib::GCForeground)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: variable `glxContext` should have a snake case name such as `glx_context` [INFO] [stderr] --> src/selector.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | let mut glxContext = [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: Comparing with null is better expressed by the .is_null() method [INFO] [stderr] --> src/selector.rs:291:12 [INFO] [stderr] | [INFO] [stderr] 291 | if glxContext == ptr::null_mut() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_null)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/selector.rs:157:31 [INFO] [stderr] | [INFO] [stderr] 157 | let mut s = Selector::new(CString::new(id).unwrap().as_ptr()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/selector.rs:157:31 [INFO] [stderr] | [INFO] [stderr] 157 | let mut s = Selector::new(CString::new(id).unwrap().as_ptr()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [INFO] [stderr] [INFO] [stderr] error: Variable in the condition are not mutated in the loop body. This either leads to an infinite or to a never running loop. [INFO] [stderr] --> src/selector.rs:302:15 [INFO] [stderr] | [INFO] [stderr] 302 | while !userwanttoclose { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_immutable_condition [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/selector.rs:305:13 [INFO] [stderr] | [INFO] [stderr] 305 | / while xlib::XPending(display) > 0 { [INFO] [stderr] 306 | | let mut xevt: xlib::XEvent; [INFO] [stderr] 307 | | xevt = mem::uninitialized(); [INFO] [stderr] 308 | | xlib::XNextEvent(display, &mut xevt); [INFO] [stderr] ... | [INFO] [stderr] 311 | | break; [INFO] [stderr] 312 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/selector.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | CString::new("Hello").unwrap().as_ptr(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/selector.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | CString::new("Hello").unwrap().as_ptr(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/selector.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(while_true)] on by default [INFO] [stderr] [INFO] [stderr] warning: type `ws` should have a camel case name such as `Ws` [INFO] [stderr] --> src/utils.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / pub enum ws { [INFO] [stderr] 6 | | X11, [INFO] [stderr] 7 | | Wayland, [INFO] [stderr] 8 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] error: Variable in the condition are not mutated in the loop body. This either leads to an infinite or to a never running loop. [INFO] [stderr] --> src/selector.rs:194:27 [INFO] [stderr] | [INFO] [stderr] 194 | while draw_rectangle { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::while_immutable_condition)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_immutable_condition [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/selector.rs:218:5 [INFO] [stderr] | [INFO] [stderr] 218 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] [INFO] [stderr] warning: structure field `Image` should have a snake case name such as `image` [INFO] [stderr] --> src/record.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub Image: x11cap::Image, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `gifFrame` should have a camel case name such as `Gifframe` [INFO] [stderr] --> src/record.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | / pub struct gifFrame<'a> { [INFO] [stderr] 15 | | pub frame: gif::Frame<'a>, [INFO] [stderr] 16 | | pub id: u64, [INFO] [stderr] 17 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/selector.rs:286:38 [INFO] [stderr] | [INFO] [stderr] 286 | xlib::XChangeGC(display, gc, xlib::GCForeground as u64, &mut xgcval); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(xlib::GCForeground)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/processor.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / tx.send(record::gifFrame { [INFO] [stderr] 22 | | frame: frame, [INFO] [stderr] 23 | | id: v.id, [INFO] [stderr] 24 | | }); [INFO] [stderr] | |_______^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `glxContext` should have a snake case name such as `glx_context` [INFO] [stderr] --> src/selector.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | let mut glxContext = [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: Comparing with null is better expressed by the .is_null() method [INFO] [stderr] --> src/selector.rs:291:12 [INFO] [stderr] | [INFO] [stderr] 291 | if glxContext == ptr::null_mut() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_null)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stderr] [INFO] [stderr] error: Variable in the condition are not mutated in the loop body. This either leads to an infinite or to a never running loop. [INFO] [stderr] --> src/selector.rs:302:15 [INFO] [stderr] | [INFO] [stderr] 302 | while !userwanttoclose { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_immutable_condition [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/selector.rs:305:13 [INFO] [stderr] | [INFO] [stderr] 305 | / while xlib::XPending(display) > 0 { [INFO] [stderr] 306 | | let mut xevt: xlib::XEvent; [INFO] [stderr] 307 | | xevt = mem::uninitialized(); [INFO] [stderr] 308 | | xlib::XNextEvent(display, &mut xevt); [INFO] [stderr] ... | [INFO] [stderr] 311 | | break; [INFO] [stderr] 312 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/selector.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | CString::new("Hello").unwrap().as_ptr(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/selector.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | CString::new("Hello").unwrap().as_ptr(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [INFO] [stderr] [INFO] [stderr] warning: type `ws` should have a camel case name such as `Ws` [INFO] [stderr] --> src/utils.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / pub enum ws { [INFO] [stderr] 6 | | X11, [INFO] [stderr] 7 | | Wayland, [INFO] [stderr] 8 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/processor.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | filef.write_frame(&i.frame); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: structure field `Frame` should have a snake case name such as `frame` [INFO] [stderr] --> src/main.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | Frame: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `Image` should have a snake case name such as `image` [INFO] [stderr] --> src/main.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | Image: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | tx.send(q); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] warning: structure field `Image` should have a snake case name such as `image` [INFO] [stderr] --> src/record.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub Image: x11cap::Image, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `gifFrame` should have a camel case name such as `Gifframe` [INFO] [stderr] --> src/record.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | / pub struct gifFrame<'a> { [INFO] [stderr] 15 | | pub frame: gif::Frame<'a>, [INFO] [stderr] 16 | | pub id: u64, [INFO] [stderr] 17 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/processor.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / tx.send(record::gifFrame { [INFO] [stderr] 22 | | frame: frame, [INFO] [stderr] 23 | | id: v.id, [INFO] [stderr] 24 | | }); [INFO] [stderr] | |_______^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: Could not compile `walnut`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/processor.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | filef.write_frame(&i.frame); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: structure field `Frame` should have a snake case name such as `frame` [INFO] [stderr] --> src/main.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | Frame: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `Image` should have a snake case name such as `image` [INFO] [stderr] --> src/main.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | Image: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | tx.send(q); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `walnut`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "b0869df7e7571d8887380909f376ffc004f4a108e7bbf89a6249bd5b967ef4cd"` [INFO] running `"docker" "rm" "-f" "b0869df7e7571d8887380909f376ffc004f4a108e7bbf89a6249bd5b967ef4cd"` [INFO] [stdout] b0869df7e7571d8887380909f376ffc004f4a108e7bbf89a6249bd5b967ef4cd