[INFO] cloning repository https://github.com/BKSalman/bunnuafeth [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BKSalman/bunnuafeth" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBKSalman%2Fbunnuafeth", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBKSalman%2Fbunnuafeth'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7052d0875825a6a18e3a1bd2d65c2c599132d4ca [INFO] linting BKSalman/bunnuafeth against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBKSalman%2Fbunnuafeth" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/BKSalman/bunnuafeth [INFO] finished tweaking git repo https://github.com/BKSalman/bunnuafeth [INFO] tweaked toml for git repo https://github.com/BKSalman/bunnuafeth written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/BKSalman/bunnuafeth 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/BKSalman/bunnuafeth 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 x11-keysyms v0.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3ae543c5da073299ca2db6a0fdb4fcb3ced15757ed438aebff4860c7221a6fb3 [INFO] running `Command { std: "docker" "start" "-a" "3ae543c5da073299ca2db6a0fdb4fcb3ced15757ed438aebff4860c7221a6fb3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3ae543c5da073299ca2db6a0fdb4fcb3ced15757ed438aebff4860c7221a6fb3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3ae543c5da073299ca2db6a0fdb4fcb3ced15757ed438aebff4860c7221a6fb3", kill_on_drop: false }` [INFO] [stdout] 3ae543c5da073299ca2db6a0fdb4fcb3ced15757ed438aebff4860c7221a6fb3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3c87dc1a3f1c6c40265b0dd36b11231f0e08351a157a83012f2c4fc3d74bed86 [INFO] running `Command { std: "docker" "start" "-a" "3c87dc1a3f1c6c40265b0dd36b11231f0e08351a157a83012f2c4fc3d74bed86", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.67 [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Checking regex-syntax v0.7.5 [INFO] [stderr] Compiling thiserror v1.0.49 [INFO] [stderr] Compiling x11rb v0.12.0 [INFO] [stderr] Checking hashbrown v0.14.1 [INFO] [stderr] Checking tracing-core v0.1.31 [INFO] [stderr] Checking thread_local v1.1.7 [INFO] [stderr] Checking smallvec v1.11.0 [INFO] [stderr] Checking x11-keysyms v0.1.0 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking tracing-log v0.1.3 [INFO] [stderr] Checking indexmap v2.0.2 [INFO] [stderr] Compiling syn v2.0.37 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking gethostname v0.3.0 [INFO] [stderr] Checking regex-automata v0.3.8 [INFO] [stderr] Checking x11rb-protocol v0.12.0 [INFO] [stderr] Checking regex v1.9.5 [INFO] [stderr] Compiling tracing-attributes v0.1.26 [INFO] [stderr] Compiling thiserror-impl v1.0.49 [INFO] [stderr] Checking tracing v0.1.37 [INFO] [stderr] Checking tracing-subscriber v0.3.17 [INFO] [stderr] Checking bunnuafeth v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Rectangle` [INFO] [stdout] --> src/bar.rs:6:72 [INFO] [stdout] | [INFO] [stdout] 6 | AtomEnum, ConnectionExt, CreateWindowAux, EventMask, PropMode, Rectangle, Window, [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 imports: `WindowState` and `WindowType` [INFO] [stdout] --> src/bar.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::{wm::WM, WindowState, WindowType, XlibError, RGBA}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rectangle` [INFO] [stdout] --> src/bar.rs:6:72 [INFO] [stdout] | [INFO] [stdout] 6 | AtomEnum, ConnectionExt, CreateWindowAux, EventMask, PropMode, Rectangle, Window, [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 imports: `WindowState` and `WindowType` [INFO] [stdout] --> src/bar.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::{wm::WM, WindowState, WindowType, XlibError, RGBA}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wm` [INFO] [stdout] --> src/bar.rs:29:35 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn update_position(&self, wm: &WM<'a, C>) -> Result<(), XlibError> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_wm` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `x` is never read [INFO] [stdout] --> src/lib.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 434 | pub struct BoundingBox { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 435 | x: i16, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Error` is never used [INFO] [stdout] --> src/util.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type Error = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_arg` and `run_with_output` are never used [INFO] [stdout] --> src/util.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait CommandExt { [INFO] [stdout] | ---------- methods in this trait [INFO] [stdout] 7 | fn with_arg(self, arg: &str) -> Self; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | fn run_with_output(self, msg: &str) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `CheckStatus` is never used [INFO] [stdout] --> src/util.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | pub trait CheckStatus { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ProcessError` is never used [INFO] [stdout] --> src/util.rs:63:10 [INFO] [stdout] | [INFO] [stdout] 63 | pub enum ProcessError { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `xfont` and `height` are never read [INFO] [stdout] --> src/wm/mod.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Font { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 49 | xfont: x11rb::protocol::xproto::Font, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 50 | height: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `wm` [INFO] [stdout] --> src/bar.rs:29:35 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn update_position(&self, wm: &WM<'a, C>) -> Result<(), XlibError> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_wm` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/bar.rs:201:25 [INFO] [stdout] | [INFO] [stdout] 201 | std::u32::MAX, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 201 - std::u32::MAX, [INFO] [stdout] 201 + u32::MAX, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/layout/mod.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | return None; [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] 132 - return None; [INFO] [stdout] 132 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/layout/mod.rs:58:57 [INFO] [stdout] | [INFO] [stdout] 58 | let mut windows: Vec = windows [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 59 | | .into_iter() [INFO] [stdout] | | _____________________________________- [INFO] [stdout] 60 | || .cloned() [INFO] [stdout] 61 | || .filter(|w| w.r#type == WindowType::Normal && !w.is_floating) [INFO] [stdout] | ||_____________________________________________________________________________________^ [INFO] [stdout] | |_____________________________________________________________________________________| [INFO] [stdout] | help: try: `.filter(|&w| w.r#type == WindowType::Normal && !w.is_floating).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] = note: `#[warn(clippy::iter_overeager_cloned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/windows.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | / let Some(window_index) = self.windows.get_index_of(&window_handle) else { [INFO] [stdout] 72 | | return None; [INFO] [stdout] 73 | | }; [INFO] [stdout] | |__________^ help: replace it with: `let window_index = self.windows.get_index_of(&window_handle)?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/windows.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | / let Some(focus) = self.focus else { [INFO] [stdout] 123 | | return None; [INFO] [stdout] 124 | | }; [INFO] [stdout] | |__________^ help: replace it with: `let focus = self.focus?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/windows.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | / let Some(focus) = self.focus else { [INFO] [stdout] 130 | | return None; [INFO] [stdout] 131 | | }; [INFO] [stdout] | |__________^ help: replace it with: `let focus = self.focus?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/windows.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | / let Some(previos_focus) = self.previous_focus else { [INFO] [stdout] 137 | | return None; [INFO] [stdout] 138 | | }; [INFO] [stdout] | |__________^ help: replace it with: `let previos_focus = self.previous_focus?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/wm/events.rs:33:53 [INFO] [stdout] | [INFO] [stdout] 33 | if to_ignore.wrapping_sub(seqno) <= u16::max_value() / 2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 33 - if to_ignore.wrapping_sub(seqno) <= u16::max_value() / 2 { [INFO] [stdout] 33 + if to_ignore.wrapping_sub(seqno) <= u16::MAX / 2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/wm/mod.rs:104:58 [INFO] [stdout] | [INFO] [stdout] 104 | for reply in connection.list_fonts_with_info(u16::max_value(), b"*")? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 104 - for reply in connection.list_fonts_with_info(u16::max_value(), b"*")? { [INFO] [stdout] 104 + for reply in connection.list_fonts_with_info(u16::MAX, b"*")? { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `x` is never read [INFO] [stdout] --> src/lib.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 434 | pub struct BoundingBox { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 435 | x: i16, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Error` is never used [INFO] [stdout] --> src/util.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type Error = Box; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_arg` and `run_with_output` are never used [INFO] [stdout] --> src/util.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait CommandExt { [INFO] [stdout] | ---------- methods in this trait [INFO] [stdout] 7 | fn with_arg(self, arg: &str) -> Self; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | fn run_with_output(self, msg: &str) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `CheckStatus` is never used [INFO] [stdout] --> src/util.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | pub trait CheckStatus { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ProcessError` is never used [INFO] [stdout] --> src/util.rs:63:10 [INFO] [stdout] | [INFO] [stdout] 63 | pub enum ProcessError { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `xfont` and `height` are never read [INFO] [stdout] --> src/wm/mod.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct Font { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 49 | xfont: x11rb::protocol::xproto::Font, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 50 | height: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/bar.rs:201:25 [INFO] [stdout] | [INFO] [stdout] 201 | std::u32::MAX, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 201 - std::u32::MAX, [INFO] [stdout] 201 + u32::MAX, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/layout/mod.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | return None; [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] 132 - return None; [INFO] [stdout] 132 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessarily eager cloning of iterator items [INFO] [stdout] --> src/layout/mod.rs:58:57 [INFO] [stdout] | [INFO] [stdout] 58 | let mut windows: Vec = windows [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 59 | | .into_iter() [INFO] [stdout] | | _____________________________________- [INFO] [stdout] 60 | || .cloned() [INFO] [stdout] 61 | || .filter(|w| w.r#type == WindowType::Normal && !w.is_floating) [INFO] [stdout] | ||_____________________________________________________________________________________^ [INFO] [stdout] | |_____________________________________________________________________________________| [INFO] [stdout] | help: try: `.filter(|&w| w.r#type == WindowType::Normal && !w.is_floating).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned [INFO] [stdout] = note: `#[warn(clippy::iter_overeager_cloned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `if let` [INFO] [stdout] --> src/wm/mod.rs:1201:13 [INFO] [stdout] | [INFO] [stdout] 1201 | / match window_type { [INFO] [stdout] 1202 | | WindowType::Dock(ReservedEdges { [INFO] [stdout] 1203 | | top, [INFO] [stdout] 1204 | | right, [INFO] [stdout] ... | [INFO] [stdout] 1217 | | _ => {} [INFO] [stdout] 1218 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/wm/mod.rs:1200:21 [INFO] [stdout] | [INFO] [stdout] 1200 | if let Some(window_type) = self.get_window_type(event.window)? { [INFO] [stdout] | ^^^^^^^^^^^ replace this binding [INFO] [stdout] 1201 | match window_type { [INFO] [stdout] 1202 | / WindowType::Dock(ReservedEdges { [INFO] [stdout] 1203 | | top, [INFO] [stdout] 1204 | | right, [INFO] [stdout] 1205 | | left, [INFO] [stdout] 1206 | | bottom, [INFO] [stdout] 1207 | | }) => { [INFO] [stdout] | |__________________^ with this pattern [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] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/wm/mod.rs:1201:13 [INFO] [stdout] | [INFO] [stdout] 1201 | / match window_type { [INFO] [stdout] 1202 | | WindowType::Dock(ReservedEdges { [INFO] [stdout] 1203 | | top, [INFO] [stdout] 1204 | | right, [INFO] [stdout] ... | [INFO] [stdout] 1217 | | _ => {} [INFO] [stdout] 1218 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1201 ~ if let WindowType::Dock(ReservedEdges { [INFO] [stdout] 1202 + top, [INFO] [stdout] 1203 + right, [INFO] [stdout] 1204 + left, [INFO] [stdout] 1205 + bottom, [INFO] [stdout] 1206 + }) = window_type { [INFO] [stdout] 1207 + self.layout_manager.reserved.top.width = [INFO] [stdout] 1208 + self.layout_manager.reserved.top.width.max(top.width); [INFO] [stdout] 1209 + self.layout_manager.reserved.bottom.width = [INFO] [stdout] 1210 + self.layout_manager.reserved.bottom.width.max(bottom.width); [INFO] [stdout] 1211 + self.layout_manager.reserved.left.width = [INFO] [stdout] 1212 + self.layout_manager.reserved.left.width.max(left.width); [INFO] [stdout] 1213 + self.layout_manager.reserved.right.width = [INFO] [stdout] 1214 + self.layout_manager.reserved.right.width.max(right.width); [INFO] [stdout] 1215 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> src/lib.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | impl Into for RGBA { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 72 ~ impl From for u32 { [INFO] [stdout] 73 ~ fn from(val: RGBA) -> Self { [INFO] [stdout] 74 ~ ((val.alpha as u32) << 24) [INFO] [stdout] 75 ~ | ((val.red as u32) << 16) [INFO] [stdout] 76 ~ | ((val.green as u32) << 8) [INFO] [stdout] 77 ~ | (val.blue as u32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/windows.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | / let Some(window_index) = self.windows.get_index_of(&window_handle) else { [INFO] [stdout] 72 | | return None; [INFO] [stdout] 73 | | }; [INFO] [stdout] | |__________^ help: replace it with: `let window_index = self.windows.get_index_of(&window_handle)?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/windows.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | / let Some(focus) = self.focus else { [INFO] [stdout] 123 | | return None; [INFO] [stdout] 124 | | }; [INFO] [stdout] | |__________^ help: replace it with: `let focus = self.focus?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/windows.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | / let Some(focus) = self.focus else { [INFO] [stdout] 130 | | return None; [INFO] [stdout] 131 | | }; [INFO] [stdout] | |__________^ help: replace it with: `let focus = self.focus?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `let...else` may be rewritten with the `?` operator [INFO] [stdout] --> src/windows.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | / let Some(previos_focus) = self.previous_focus else { [INFO] [stdout] 137 | | return None; [INFO] [stdout] 138 | | }; [INFO] [stdout] | |__________^ help: replace it with: `let previos_focus = self.previous_focus?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/wm/events.rs:33:53 [INFO] [stdout] | [INFO] [stdout] 33 | if to_ignore.wrapping_sub(seqno) <= u16::max_value() / 2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 33 - if to_ignore.wrapping_sub(seqno) <= u16::max_value() / 2 { [INFO] [stdout] 33 + if to_ignore.wrapping_sub(seqno) <= u16::MAX / 2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:403:16 [INFO] [stdout] | [INFO] [stdout] 403 | return !self.properties.is_fullscreen [INFO] [stdout] | ________________^ [INFO] [stdout] 404 | | && !self.properties.is_sticky [INFO] [stdout] 405 | | && !(self.properties.is_maximized_horz && self.properties.is_maximized_vert); [INFO] [stdout] | |________________________________________________________________________________________^ help: try: `!(self.properties.is_fullscreen || self.properties.is_sticky || self.properties.is_maximized_horz && self.properties.is_maximized_vert)` [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: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:403:9 [INFO] [stdout] | [INFO] [stdout] 403 | / return !self.properties.is_fullscreen [INFO] [stdout] 404 | | && !self.properties.is_sticky [INFO] [stdout] 405 | | && !(self.properties.is_maximized_horz && self.properties.is_maximized_vert); [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] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 403 ~ !self.properties.is_fullscreen [INFO] [stdout] 404 + && !self.properties.is_sticky [INFO] [stdout] 405 ~ && !(self.properties.is_maximized_horz && self.properties.is_maximized_vert) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:409:16 [INFO] [stdout] | [INFO] [stdout] 409 | return !self.properties.is_fullscreen [INFO] [stdout] | ________________^ [INFO] [stdout] 410 | | && !self.properties.is_sticky [INFO] [stdout] 411 | | && !(self.properties.is_maximized_horz && self.properties.is_maximized_vert); [INFO] [stdout] | |________________________________________________________________________________________^ help: try: `!(self.properties.is_fullscreen || self.properties.is_sticky || self.properties.is_maximized_horz && self.properties.is_maximized_vert)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:409:9 [INFO] [stdout] | [INFO] [stdout] 409 | / return !self.properties.is_fullscreen [INFO] [stdout] 410 | | && !self.properties.is_sticky [INFO] [stdout] 411 | | && !(self.properties.is_maximized_horz && self.properties.is_maximized_vert); [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] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 409 ~ !self.properties.is_fullscreen [INFO] [stdout] 410 + && !self.properties.is_sticky [INFO] [stdout] 411 ~ && !(self.properties.is_maximized_horz && self.properties.is_maximized_vert) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/wm/mod.rs:104:58 [INFO] [stdout] | [INFO] [stdout] 104 | for reply in connection.list_fonts_with_info(u16::max_value(), b"*")? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 104 - for reply in connection.list_fonts_with_info(u16::max_value(), b"*")? { [INFO] [stdout] 104 + for reply in connection.list_fonts_with_info(u16::MAX, b"*")? { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `if let` [INFO] [stdout] --> src/wm/mod.rs:1201:13 [INFO] [stdout] | [INFO] [stdout] 1201 | / match window_type { [INFO] [stdout] 1202 | | WindowType::Dock(ReservedEdges { [INFO] [stdout] 1203 | | top, [INFO] [stdout] 1204 | | right, [INFO] [stdout] ... | [INFO] [stdout] 1217 | | _ => {} [INFO] [stdout] 1218 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/wm/mod.rs:1200:21 [INFO] [stdout] | [INFO] [stdout] 1200 | if let Some(window_type) = self.get_window_type(event.window)? { [INFO] [stdout] | ^^^^^^^^^^^ replace this binding [INFO] [stdout] 1201 | match window_type { [INFO] [stdout] 1202 | / WindowType::Dock(ReservedEdges { [INFO] [stdout] 1203 | | top, [INFO] [stdout] 1204 | | right, [INFO] [stdout] 1205 | | left, [INFO] [stdout] 1206 | | bottom, [INFO] [stdout] 1207 | | }) => { [INFO] [stdout] | |__________________^ with this pattern [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] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/wm/mod.rs:1201:13 [INFO] [stdout] | [INFO] [stdout] 1201 | / match window_type { [INFO] [stdout] 1202 | | WindowType::Dock(ReservedEdges { [INFO] [stdout] 1203 | | top, [INFO] [stdout] 1204 | | right, [INFO] [stdout] ... | [INFO] [stdout] 1217 | | _ => {} [INFO] [stdout] 1218 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1201 ~ if let WindowType::Dock(ReservedEdges { [INFO] [stdout] 1202 + top, [INFO] [stdout] 1203 + right, [INFO] [stdout] 1204 + left, [INFO] [stdout] 1205 + bottom, [INFO] [stdout] 1206 + }) = window_type { [INFO] [stdout] 1207 + self.layout_manager.reserved.top.width = [INFO] [stdout] 1208 + self.layout_manager.reserved.top.width.max(top.width); [INFO] [stdout] 1209 + self.layout_manager.reserved.bottom.width = [INFO] [stdout] 1210 + self.layout_manager.reserved.bottom.width.max(bottom.width); [INFO] [stdout] 1211 + self.layout_manager.reserved.left.width = [INFO] [stdout] 1212 + self.layout_manager.reserved.left.width.max(left.width); [INFO] [stdout] 1213 + self.layout_manager.reserved.right.width = [INFO] [stdout] 1214 + self.layout_manager.reserved.right.width.max(right.width); [INFO] [stdout] 1215 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> src/lib.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | impl Into for RGBA { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 72 ~ impl From for u32 { [INFO] [stdout] 73 ~ fn from(val: RGBA) -> Self { [INFO] [stdout] 74 ~ ((val.alpha as u32) << 24) [INFO] [stdout] 75 ~ | ((val.red as u32) << 16) [INFO] [stdout] 76 ~ | ((val.green as u32) << 8) [INFO] [stdout] 77 ~ | (val.blue as u32) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:403:16 [INFO] [stdout] | [INFO] [stdout] 403 | return !self.properties.is_fullscreen [INFO] [stdout] | ________________^ [INFO] [stdout] 404 | | && !self.properties.is_sticky [INFO] [stdout] 405 | | && !(self.properties.is_maximized_horz && self.properties.is_maximized_vert); [INFO] [stdout] | |________________________________________________________________________________________^ help: try: `!(self.properties.is_fullscreen || self.properties.is_sticky || self.properties.is_maximized_horz && self.properties.is_maximized_vert)` [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: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:403:9 [INFO] [stdout] | [INFO] [stdout] 403 | / return !self.properties.is_fullscreen [INFO] [stdout] 404 | | && !self.properties.is_sticky [INFO] [stdout] 405 | | && !(self.properties.is_maximized_horz && self.properties.is_maximized_vert); [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] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 403 ~ !self.properties.is_fullscreen [INFO] [stdout] 404 + && !self.properties.is_sticky [INFO] [stdout] 405 ~ && !(self.properties.is_maximized_horz && self.properties.is_maximized_vert) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:409:16 [INFO] [stdout] | [INFO] [stdout] 409 | return !self.properties.is_fullscreen [INFO] [stdout] | ________________^ [INFO] [stdout] 410 | | && !self.properties.is_sticky [INFO] [stdout] 411 | | && !(self.properties.is_maximized_horz && self.properties.is_maximized_vert); [INFO] [stdout] | |________________________________________________________________________________________^ help: try: `!(self.properties.is_fullscreen || self.properties.is_sticky || self.properties.is_maximized_horz && self.properties.is_maximized_vert)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:409:9 [INFO] [stdout] | [INFO] [stdout] 409 | / return !self.properties.is_fullscreen [INFO] [stdout] 410 | | && !self.properties.is_sticky [INFO] [stdout] 411 | | && !(self.properties.is_maximized_horz && self.properties.is_maximized_vert); [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] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 409 ~ !self.properties.is_fullscreen [INFO] [stdout] 410 + && !self.properties.is_sticky [INFO] [stdout] 411 ~ && !(self.properties.is_maximized_horz && self.properties.is_maximized_vert) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.69s [INFO] running `Command { std: "docker" "inspect" "3c87dc1a3f1c6c40265b0dd36b11231f0e08351a157a83012f2c4fc3d74bed86", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3c87dc1a3f1c6c40265b0dd36b11231f0e08351a157a83012f2c4fc3d74bed86", kill_on_drop: false }` [INFO] [stdout] 3c87dc1a3f1c6c40265b0dd36b11231f0e08351a157a83012f2c4fc3d74bed86