[INFO] cloning repository https://github.com/pierods/metafolder [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pierods/metafolder" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpierods%2Fmetafolder", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpierods%2Fmetafolder'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ef225444b3c9b1804c853db1af144d73f870b560 [INFO] linting pierods/metafolder against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpierods%2Fmetafolder" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/pierods/metafolder [INFO] finished tweaking git repo https://github.com/pierods/metafolder [INFO] tweaked toml for git repo https://github.com/pierods/metafolder written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/pierods/metafolder 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/pierods/metafolder 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] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded getrandom v0.2.14 [INFO] [stderr] Downloaded open v5.1.2 [INFO] [stderr] Downloaded rand_core v0.9.0-alpha.1 [INFO] [stderr] Downloaded subprocess v0.2.9 [INFO] [stderr] Downloaded rand_chacha v0.9.0-alpha.1 [INFO] [stderr] Downloaded gsk4-sys v0.8.0 [INFO] [stderr] Downloaded graphene-sys v0.19.0 [INFO] [stderr] Downloaded cairo-sys-rs v0.19.1 [INFO] [stderr] Downloaded gdk-pixbuf-sys v0.19.0 [INFO] [stderr] Downloaded zerocopy-derive v0.8.0-alpha.6 [INFO] [stderr] Downloaded gdk-pixbuf v0.19.0 [INFO] [stderr] Downloaded cfg-expr v0.15.7 [INFO] [stderr] Downloaded cairo-rs v0.19.1 [INFO] [stderr] Downloaded gdk4 v0.8.0 [INFO] [stderr] Downloaded gtk4-sys v0.8.0 [INFO] [stderr] Downloaded gio-sys v0.19.0 [INFO] [stderr] Downloaded toml_edit v0.22.4 [INFO] [stderr] Downloaded zerocopy v0.8.0-alpha.6 [INFO] [stderr] Downloaded ignore v0.4.22 [INFO] [stderr] Downloaded gio v0.19.0 [INFO] [stderr] Downloaded winnow v0.5.39 [INFO] [stderr] Downloaded glib-macros v0.19.0 [INFO] [stderr] Downloaded glib-sys v0.19.0 [INFO] [stderr] Downloaded indexmap v2.2.2 [INFO] [stderr] Downloaded glib v0.19.0 [INFO] [stderr] Downloaded gdk4-sys v0.8.0 [INFO] [stderr] Downloaded toml v0.8.10 [INFO] [stderr] Downloaded rand v0.9.0-alpha.1 [INFO] [stderr] Downloaded pango-sys v0.19.0 [INFO] [stderr] Downloaded bstr v1.9.1 [INFO] [stderr] Downloaded pango v0.19.0 [INFO] [stderr] Downloaded globset v0.4.14 [INFO] [stderr] Downloaded graphene-rs v0.19.0 [INFO] [stderr] Downloaded gsk4 v0.8.0 [INFO] [stderr] Downloaded gtk4 v0.8.0 [INFO] [stderr] Downloaded gtk4-macros v0.8.0 [INFO] [stderr] Downloaded gobject-sys v0.19.0 [INFO] [stderr] Downloaded target-lexicon v0.12.13 [INFO] [stderr] Downloaded system-deps v6.2.0 [INFO] [stderr] Downloaded xdg-utils v0.4.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] fc4b779d33de42179ea44d148c94aa70b36fc884f618da3dfa73cc8295241444 [INFO] running `Command { std: "docker" "start" "-a" "fc4b779d33de42179ea44d148c94aa70b36fc884f618da3dfa73cc8295241444", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fc4b779d33de42179ea44d148c94aa70b36fc884f618da3dfa73cc8295241444", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fc4b779d33de42179ea44d148c94aa70b36fc884f618da3dfa73cc8295241444", kill_on_drop: false }` [INFO] [stdout] fc4b779d33de42179ea44d148c94aa70b36fc884f618da3dfa73cc8295241444 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 1a252c187d80d52b9c042bf38bad73af87239f1a1db63f95a7b06b11f82275df [INFO] running `Command { std: "docker" "start" "-a" "1a252c187d80d52b9c042bf38bad73af87239f1a1db63f95a7b06b11f82275df", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Compiling hashbrown v0.14.3 [INFO] [stderr] Compiling winnow v0.5.39 [INFO] [stderr] Compiling target-lexicon v0.12.13 [INFO] [stderr] Compiling pkg-config v0.3.29 [INFO] [stderr] Compiling version-compare v0.1.1 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling thiserror v1.0.56 [INFO] [stderr] Checking bitflags v2.4.2 [INFO] [stderr] Checking smallvec v1.13.1 [INFO] [stderr] Compiling semver v1.0.21 [INFO] [stderr] Compiling gio v0.19.0 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Compiling zerocopy v0.8.0-alpha.6 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Compiling anyhow v1.0.79 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling cfg-expr v0.15.7 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking is-docker v0.2.0 [INFO] [stderr] Checking bstr v1.9.1 [INFO] [stderr] Checking is-wsl v0.4.0 [INFO] [stderr] Checking utf8-width v0.1.7 [INFO] [stderr] Checking pathdiff v0.2.1 [INFO] [stderr] Compiling field-offset v0.3.6 [INFO] [stderr] Checking html-escape v0.2.13 [INFO] [stderr] Checking xdg-utils v0.4.0 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Compiling indexmap v2.2.2 [INFO] [stderr] Checking getrandom v0.2.14 [INFO] [stderr] Checking open v5.1.2 [INFO] [stderr] Checking subprocess v0.2.9 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking rand_core v0.9.0-alpha.1 [INFO] [stderr] Checking rand_chacha v0.9.0-alpha.1 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Checking rand v0.9.0-alpha.1 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling toml_datetime v0.6.5 [INFO] [stderr] Compiling serde_spanned v0.6.5 [INFO] [stderr] Compiling toml_edit v0.22.4 [INFO] [stderr] Compiling toml_edit v0.21.1 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling thiserror-impl v1.0.56 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking globset v0.4.14 [INFO] [stderr] Checking regex v1.10.4 [INFO] [stderr] Checking ignore v0.4.22 [INFO] [stderr] Compiling proc-macro-crate v3.1.0 [INFO] [stderr] Compiling glib-macros v0.19.0 [INFO] [stderr] Compiling gtk4-macros v0.8.0 [INFO] [stderr] Compiling toml v0.8.10 [INFO] [stderr] Compiling system-deps v6.2.0 [INFO] [stderr] Compiling glib-sys v0.19.0 [INFO] [stderr] Compiling gobject-sys v0.19.0 [INFO] [stderr] Compiling gio-sys v0.19.0 [INFO] [stderr] Compiling cairo-sys-rs v0.19.1 [INFO] [stderr] Compiling gdk-pixbuf-sys v0.19.0 [INFO] [stderr] Compiling pango-sys v0.19.0 [INFO] [stderr] Compiling graphene-sys v0.19.0 [INFO] [stderr] Compiling gdk4-sys v0.8.0 [INFO] [stderr] Compiling gsk4-sys v0.8.0 [INFO] [stderr] Compiling gtk4-sys v0.8.0 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking glib v0.19.0 [INFO] [stderr] Checking serde_json v1.0.114 [INFO] [stderr] Checking cairo-rs v0.19.1 [INFO] [stderr] Checking graphene-rs v0.19.0 [INFO] [stderr] Checking pango v0.19.0 [INFO] [stderr] Checking gdk-pixbuf v0.19.0 [INFO] [stderr] Checking gdk4 v0.8.0 [INFO] [stderr] Checking gsk4 v0.8.0 [INFO] [stderr] Checking gtk4 v0.8.0 [INFO] [stderr] Checking metafolder v0.4.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::preset::make_presets` [INFO] [stdout] --> src/menus.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::preset::make_presets; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::preset::make_presets` [INFO] [stdout] --> src/menus.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::preset::make_presets; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> src/main.rs:30:21 [INFO] [stdout] | [INFO] [stdout] 30 | static CELL_SIZES: &'static [i32] = &[40, 60, 80]; [INFO] [stdout] | -^^^^^^^------ help: consider removing `'static`: `&[i32]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> src/main.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | static FONT_SIZES: &'static [&str] = &["xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large"]; [INFO] [stdout] | -^^^^^^^------- help: consider removing `'static`: `&[&str]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> src/main.rs:30:21 [INFO] [stdout] | [INFO] [stdout] 30 | static CELL_SIZES: &'static [i32] = &[40, 60, 80]; [INFO] [stdout] | -^^^^^^^------ help: consider removing `'static`: `&[i32]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> src/main.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | static FONT_SIZES: &'static [&str] = &["xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large"]; [INFO] [stdout] | -^^^^^^^------- help: consider removing `'static`: `&[&str]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_presets` is never used [INFO] [stdout] --> src/preset.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | pub(crate) fn make_presets() -> Popover { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/folder.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | if !memo_folder.font_bold.is_none() && !memo_folder.font_bold.unwrap() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `memo_folder.font_bold.is_some()` [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: called `unwrap` on `memo_folder.font_bold` after checking its variant with `is_none` [INFO] [stdout] --> src/folder.rs:93:50 [INFO] [stdout] | [INFO] [stdout] 91 | if !memo_folder.font_bold.is_none() && !memo_folder.font_bold.unwrap() { [INFO] [stdout] | ------------------------------- the check is happening here [INFO] [stdout] 92 | let ds = gtk_wrappers::get_application(w); [INFO] [stdout] 93 | ds.imp().metafolder.borrow().change_bold(memo_folder.font_bold.unwrap(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/folder.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | if memo_folder.font_color != "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!memo_folder.font_color.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/folder.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | if memo_folder.font_size != "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!memo_folder.font_size.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/folder.rs:104:68 [INFO] [stdout] | [INFO] [stdout] 104 | ... if gtk_wrappers::is_something_underneath(name.clone(), &desktop, x - dnd_info.grabbed_x, y - dnd_info.grabbed_y, dnd_info.w, ... [INFO] [stdout] | ^^^^^^^^ help: change this to: `desktop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/folder.rs:113:68 [INFO] [stdout] | [INFO] [stdout] 113 | ... if let Some(err) = mf.scan_positions_and_save_settings(&desktop, name.as_str(), x - dnd_info.grabbed_x, y - dnd_info.grabbed_... [INFO] [stdout] | ^^^^^^^^ help: change this to: `desktop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/folder.rs:115:60 [INFO] [stdout] | [INFO] [stdout] 115 | let root = >::as_ref(&desktop).root().unwrap(); [INFO] [stdout] | ^^^^^^^^ help: change this to: `desktop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/folder.rs:178:71 [INFO] [stdout] | [INFO] [stdout] 178 | let drag_source = cell::make_drag_source(name.clone(), &cell, &desktop); [INFO] [stdout] | ^^^^^^^^ help: change this to: `desktop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_presets` is never used [INFO] [stdout] --> src/preset.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | pub(crate) fn make_presets() -> Popover { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/files.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | let g_file_info: FileInfo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `g_file_info` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 73 ~ [INFO] [stdout] 74 ~ let g_file_info: FileInfo = match g_file_info_result { [INFO] [stdout] 75 | Ok(file_info) => { [INFO] [stdout] 76 ~ file_info [INFO] [stdout] 77 | } [INFO] [stdout] ... [INFO] [stdout] 81 | } [INFO] [stdout] 82 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/folder.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | if !memo_folder.font_bold.is_none() && !memo_folder.font_bold.unwrap() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `memo_folder.font_bold.is_some()` [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: called `unwrap` on `memo_folder.font_bold` after checking its variant with `is_none` [INFO] [stdout] --> src/folder.rs:93:50 [INFO] [stdout] | [INFO] [stdout] 91 | if !memo_folder.font_bold.is_none() && !memo_folder.font_bold.unwrap() { [INFO] [stdout] | ------------------------------- the check is happening here [INFO] [stdout] 92 | let ds = gtk_wrappers::get_application(w); [INFO] [stdout] 93 | ds.imp().metafolder.borrow().change_bold(memo_folder.font_bold.unwrap(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/folder.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | if memo_folder.font_color != "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!memo_folder.font_color.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/folder.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | if memo_folder.font_size != "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!memo_folder.font_size.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/folder.rs:104:68 [INFO] [stdout] | [INFO] [stdout] 104 | ... if gtk_wrappers::is_something_underneath(name.clone(), &desktop, x - dnd_info.grabbed_x, y - dnd_info.grabbed_y, dnd_info.w, ... [INFO] [stdout] | ^^^^^^^^ help: change this to: `desktop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/folder.rs:113:68 [INFO] [stdout] | [INFO] [stdout] 113 | ... if let Some(err) = mf.scan_positions_and_save_settings(&desktop, name.as_str(), x - dnd_info.grabbed_x, y - dnd_info.grabbed_... [INFO] [stdout] | ^^^^^^^^ help: change this to: `desktop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/folder.rs:115:60 [INFO] [stdout] | [INFO] [stdout] 115 | let root = >::as_ref(&desktop).root().unwrap(); [INFO] [stdout] | ^^^^^^^^ help: change this to: `desktop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/folder.rs:178:71 [INFO] [stdout] | [INFO] [stdout] 178 | let drag_source = cell::make_drag_source(name.clone(), &cell, &desktop); [INFO] [stdout] | ^^^^^^^^ help: change this to: `desktop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/files.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | 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] 137 - return None; [INFO] [stdout] 137 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/files.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | return Some(Error::from(error)); [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] 140 - return Some(Error::from(error)); [INFO] [stdout] 140 + Some(Error::from(error)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/files.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | let g_file_info: FileInfo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `g_file_info` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 73 ~ [INFO] [stdout] 74 ~ let g_file_info: FileInfo = match g_file_info_result { [INFO] [stdout] 75 | Ok(file_info) => { [INFO] [stdout] 76 ~ file_info [INFO] [stdout] 77 | } [INFO] [stdout] ... [INFO] [stdout] 81 | } [INFO] [stdout] 82 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/files.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | mf.background_color = DEFAULT_BG_COLOR.to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `files::MemoFolder { background_color: DEFAULT_BG_COLOR.to_string(), drilldown: true, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/files.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let mut mf = MemoFolder::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/files.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | path_name.push_str("/"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `path_name.push('/')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/files.rs:187:19 [INFO] [stdout] | [INFO] [stdout] 187 | None => { 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] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 187 - None => { return None; } [INFO] [stdout] 187 + None => { None} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/files.rs:190:27 [INFO] [stdout] | [INFO] [stdout] 190 | None => { 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] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 - None => { return None; } [INFO] [stdout] 190 + None => { None} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/files.rs:191:35 [INFO] [stdout] | [INFO] [stdout] 191 | Some(parent) => { return Some(String::from(parent).to_owned() + "/"); } [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] 191 - Some(parent) => { return Some(String::from(parent).to_owned() + "/"); } [INFO] [stdout] 191 + Some(parent) => { Some(String::from(parent).to_owned() + "/")} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cell.rs:27:35 [INFO] [stdout] | [INFO] [stdout] 27 | let img = generate_icon(path, &dir_item, size); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `dir_item` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/cell.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | dnd_info.name = name_copy.to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `cell::DNDInfo { name: name_copy.to_string(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/cell.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | let mut dnd_info = DNDInfo::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/files.rs:137:13 [INFO] [stdout] | [INFO] [stdout] 137 | 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] 137 - return None; [INFO] [stdout] 137 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/files.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | return Some(Error::from(error)); [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] 140 - return Some(Error::from(error)); [INFO] [stdout] 140 + Some(Error::from(error)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/files.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | mf.background_color = DEFAULT_BG_COLOR.to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `files::MemoFolder { background_color: DEFAULT_BG_COLOR.to_string(), drilldown: true, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/files.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let mut mf = MemoFolder::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/files.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | path_name.push_str("/"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `path_name.push('/')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/files.rs:187:19 [INFO] [stdout] | [INFO] [stdout] 187 | None => { 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] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 187 - None => { return None; } [INFO] [stdout] 187 + None => { None} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/files.rs:190:27 [INFO] [stdout] | [INFO] [stdout] 190 | None => { 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] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 - None => { return None; } [INFO] [stdout] 190 + None => { None} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/files.rs:191:35 [INFO] [stdout] | [INFO] [stdout] 191 | Some(parent) => { return Some(String::from(parent).to_owned() + "/"); } [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] 191 - Some(parent) => { return Some(String::from(parent).to_owned() + "/"); } [INFO] [stdout] 191 + Some(parent) => { Some(String::from(parent).to_owned() + "/")} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cell.rs:27:35 [INFO] [stdout] | [INFO] [stdout] 27 | let img = generate_icon(path, &dir_item, size); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `dir_item` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/cell.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | dnd_info.name = name_copy.to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `cell::DNDInfo { name: name_copy.to_string(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/cell.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | let mut dnd_info = DNDInfo::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/gtk_wrappers.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 57 | let actual_bounds = transform.transform_bounds(&rect); [INFO] [stdout] | ------------------------------------------------------ unnecessary `let` binding [INFO] [stdout] 58 | actual_bounds [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 57 ~ [INFO] [stdout] 58 ~ transform.transform_bounds(&rect) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/gtk_wrappers.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | let ds = app.downcast::().unwrap(); [INFO] [stdout] | ----------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 73 | ds [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 72 ~ [INFO] [stdout] 73 ~ app.downcast::().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/gtk_wrappers.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 82 | let fixed = fixed_widget.downcast::().unwrap(); [INFO] [stdout] | ----------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 83 | fixed [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 82 ~ [INFO] [stdout] 83 ~ fixed_widget.downcast::().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `array` [INFO] [stdout] --> src/gtk_wrappers.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | for i in 0..array.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 99 - for i in 0..array.len() { [INFO] [stdout] 99 + for (i, ) in array.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/gtk_wrappers.rs:161:8 [INFO] [stdout] | [INFO] [stdout] 161 | if color == "" { [INFO] [stdout] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `color.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/metafolder.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 40 | / let m = MetaFolder { [INFO] [stdout] 41 | | background_color: "".to_string(), [INFO] [stdout] 42 | | drilldown: false, [INFO] [stdout] 43 | | cell_map: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 53 | | found_cells: HashSet::new(), [INFO] [stdout] 54 | | }; [INFO] [stdout] | |__________- unnecessary `let` binding [INFO] [stdout] 55 | m [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 40 ~ [INFO] [stdout] 41 ~ MetaFolder { [INFO] [stdout] 42 + background_color: "".to_string(), [INFO] [stdout] 43 + drilldown: false, [INFO] [stdout] 44 + cell_map: Default::default(), [INFO] [stdout] 45 + added_cells: Default::default(), [INFO] [stdout] 46 + current_path: "".to_string(), [INFO] [stdout] 47 + zoom: false, [INFO] [stdout] 48 + zoom_x: 0, [INFO] [stdout] 49 + zoom_y: 0, [INFO] [stdout] 50 + font_size_replacer: Regex::new("font_size=\"[^\"]+\"").unwrap(), [INFO] [stdout] 51 + font_color_replacer: Regex::new("color=\"[^\"]+\"").unwrap(), [INFO] [stdout] 52 + font_weight_replacer: Regex::new("font_weight=\"[^\"]+\"").unwrap(), [INFO] [stdout] 53 + rgba_color_matcher: Regex::new("\\d+").unwrap(), [INFO] [stdout] 54 + found_cells: HashSet::new(), [INFO] [stdout] 55 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:61:26 [INFO] [stdout] | [INFO] [stdout] 61 | for (_, gbox) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 61 - for (_, gbox) in &self.cell_map { [INFO] [stdout] 61 + for gbox in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/metafolder.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | if self.found_cells.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.found_cells.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:98:26 [INFO] [stdout] | [INFO] [stdout] 98 | for (_, cell) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 98 - for (_, cell) in &self.cell_map { [INFO] [stdout] 98 + for cell in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:113:26 [INFO] [stdout] | [INFO] [stdout] 113 | for (_, cell) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 113 - for (_, cell) in &self.cell_map { [INFO] [stdout] 113 + for cell in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:128:26 [INFO] [stdout] | [INFO] [stdout] 128 | for (_, cell) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 128 - for (_, cell) in &self.cell_map { [INFO] [stdout] 128 + for cell in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `rgb.get(0)` [INFO] [stdout] --> src/metafolder.rs:146:17 [INFO] [stdout] | [INFO] [stdout] 146 | let r = rgb.get(0).unwrap().parse::().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try: `rgb.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:150:26 [INFO] [stdout] | [INFO] [stdout] 150 | for (_, cell) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 150 - for (_, cell) in &self.cell_map { [INFO] [stdout] 150 + for cell in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/metafolder.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | return self.added_cells.contains(name.as_str()); [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] 195 - return self.added_cells.contains(name.as_str()); [INFO] [stdout] 195 + self.added_cells.contains(name.as_str()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/gtk_wrappers.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 57 | let actual_bounds = transform.transform_bounds(&rect); [INFO] [stdout] | ------------------------------------------------------ unnecessary `let` binding [INFO] [stdout] 58 | actual_bounds [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 57 ~ [INFO] [stdout] 58 ~ transform.transform_bounds(&rect) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:233:26 [INFO] [stdout] | [INFO] [stdout] 233 | for (_, gbox) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 233 - for (_, gbox) in &self.cell_map { [INFO] [stdout] 233 + for gbox in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/gtk_wrappers.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | let ds = app.downcast::().unwrap(); [INFO] [stdout] | ----------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 73 | ds [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 72 ~ [INFO] [stdout] 73 ~ app.downcast::().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:256:26 [INFO] [stdout] | [INFO] [stdout] 256 | for (_, gbox) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 256 - for (_, gbox) in &self.cell_map { [INFO] [stdout] 256 + for gbox in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/gtk_wrappers.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 82 | let fixed = fixed_widget.downcast::().unwrap(); [INFO] [stdout] | ----------------------------------------------------------- unnecessary `let` binding [INFO] [stdout] 83 | fixed [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 82 ~ [INFO] [stdout] 83 ~ fixed_widget.downcast::().unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/metafolder.rs:278:68 [INFO] [stdout] | [INFO] [stdout] 278 | let bounds = gtk_wrappers::get_widget_bounds(&desktop, &gbox); [INFO] [stdout] | ^^^^^ help: change this to: `gbox` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:304:26 [INFO] [stdout] | [INFO] [stdout] 304 | for (_, gbox) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 304 - for (_, gbox) in &self.cell_map { [INFO] [stdout] 304 + for gbox in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `array` [INFO] [stdout] --> src/gtk_wrappers.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | for i in 0..array.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 99 - for i in 0..array.len() { [INFO] [stdout] 99 + for (i, ) in array.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/gtk_wrappers.rs:161:8 [INFO] [stdout] | [INFO] [stdout] 161 | if color == "" { [INFO] [stdout] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `color.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/metafolder.rs:323:13 [INFO] [stdout] | [INFO] [stdout] 323 | let memo_icon: MemoIcon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `memo_icon` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 323 ~ [INFO] [stdout] 324 ~ let memo_icon: MemoIcon = if path == icon_file_path { [INFO] [stdout] 325 ~ MemoIcon { [INFO] [stdout] 326 | position_x: x as i32, [INFO] [stdout] 327 | position_y: y as i32, [INFO] [stdout] 328 ~ } [INFO] [stdout] 329 | } else { [INFO] [stdout] ... [INFO] [stdout] 335 | let bounds = gtk_wrappers::get_widget_bounds(desktop, &gbox); [INFO] [stdout] 336 ~ MemoIcon { [INFO] [stdout] 337 | position_x: bounds.x() as i32, [INFO] [stdout] 338 | position_y: bounds.y() as i32, [INFO] [stdout] 339 ~ } [INFO] [stdout] 340 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/metafolder.rs:335:71 [INFO] [stdout] | [INFO] [stdout] 335 | let bounds = gtk_wrappers::get_widget_bounds(desktop, &gbox); [INFO] [stdout] | ^^^^^ help: change this to: `gbox` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/metafolder.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 40 | / let m = MetaFolder { [INFO] [stdout] 41 | | background_color: "".to_string(), [INFO] [stdout] 42 | | drilldown: false, [INFO] [stdout] 43 | | cell_map: Default::default(), [INFO] [stdout] ... | [INFO] [stdout] 53 | | found_cells: HashSet::new(), [INFO] [stdout] 54 | | }; [INFO] [stdout] | |__________- unnecessary `let` binding [INFO] [stdout] 55 | m [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 40 ~ [INFO] [stdout] 41 ~ MetaFolder { [INFO] [stdout] 42 + background_color: "".to_string(), [INFO] [stdout] 43 + drilldown: false, [INFO] [stdout] 44 + cell_map: Default::default(), [INFO] [stdout] 45 + added_cells: Default::default(), [INFO] [stdout] 46 + current_path: "".to_string(), [INFO] [stdout] 47 + zoom: false, [INFO] [stdout] 48 + zoom_x: 0, [INFO] [stdout] 49 + zoom_y: 0, [INFO] [stdout] 50 + font_size_replacer: Regex::new("font_size=\"[^\"]+\"").unwrap(), [INFO] [stdout] 51 + font_color_replacer: Regex::new("color=\"[^\"]+\"").unwrap(), [INFO] [stdout] 52 + font_weight_replacer: Regex::new("font_weight=\"[^\"]+\"").unwrap(), [INFO] [stdout] 53 + rgba_color_matcher: Regex::new("\\d+").unwrap(), [INFO] [stdout] 54 + found_cells: HashSet::new(), [INFO] [stdout] 55 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:61:26 [INFO] [stdout] | [INFO] [stdout] 61 | for (_, gbox) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 61 - for (_, gbox) in &self.cell_map { [INFO] [stdout] 61 + for gbox in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/metafolder.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | if self.found_cells.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.found_cells.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:98:26 [INFO] [stdout] | [INFO] [stdout] 98 | for (_, cell) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 98 - for (_, cell) in &self.cell_map { [INFO] [stdout] 98 + for cell in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:113:26 [INFO] [stdout] | [INFO] [stdout] 113 | for (_, cell) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 113 - for (_, cell) in &self.cell_map { [INFO] [stdout] 113 + for cell in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:128:26 [INFO] [stdout] | [INFO] [stdout] 128 | for (_, cell) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 128 - for (_, cell) in &self.cell_map { [INFO] [stdout] 128 + for cell in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `rgb.get(0)` [INFO] [stdout] --> src/metafolder.rs:146:17 [INFO] [stdout] | [INFO] [stdout] 146 | let r = rgb.get(0).unwrap().parse::().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try: `rgb.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:150:26 [INFO] [stdout] | [INFO] [stdout] 150 | for (_, cell) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 150 - for (_, cell) in &self.cell_map { [INFO] [stdout] 150 + for cell in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/metafolder.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | return self.added_cells.contains(name.as_str()); [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] 195 - return self.added_cells.contains(name.as_str()); [INFO] [stdout] 195 + self.added_cells.contains(name.as_str()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:233:26 [INFO] [stdout] | [INFO] [stdout] 233 | for (_, gbox) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 233 - for (_, gbox) in &self.cell_map { [INFO] [stdout] 233 + for gbox in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:256:26 [INFO] [stdout] | [INFO] [stdout] 256 | for (_, gbox) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 256 - for (_, gbox) in &self.cell_map { [INFO] [stdout] 256 + for gbox in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/metafolder.rs:278:68 [INFO] [stdout] | [INFO] [stdout] 278 | let bounds = gtk_wrappers::get_widget_bounds(&desktop, &gbox); [INFO] [stdout] | ^^^^^ help: change this to: `gbox` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cell_editor.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | return Propagation::Proceed; [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] 56 - return Propagation::Proceed; [INFO] [stdout] 56 + Propagation::Proceed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/metafolder.rs:304:26 [INFO] [stdout] | [INFO] [stdout] 304 | for (_, gbox) in &self.cell_map { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 304 - for (_, gbox) in &self.cell_map { [INFO] [stdout] 304 + for gbox in self.cell_map.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/metafolder.rs:323:13 [INFO] [stdout] | [INFO] [stdout] 323 | let memo_icon: MemoIcon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `memo_icon` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 323 ~ [INFO] [stdout] 324 ~ let memo_icon: MemoIcon = if path == icon_file_path { [INFO] [stdout] 325 ~ MemoIcon { [INFO] [stdout] 326 | position_x: x as i32, [INFO] [stdout] 327 | position_y: y as i32, [INFO] [stdout] 328 ~ } [INFO] [stdout] 329 | } else { [INFO] [stdout] ... [INFO] [stdout] 335 | let bounds = gtk_wrappers::get_widget_bounds(desktop, &gbox); [INFO] [stdout] 336 ~ MemoIcon { [INFO] [stdout] 337 | position_x: bounds.x() as i32, [INFO] [stdout] 338 | position_y: bounds.y() as i32, [INFO] [stdout] 339 ~ } [INFO] [stdout] 340 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/metafolder.rs:335:71 [INFO] [stdout] | [INFO] [stdout] 335 | let bounds = gtk_wrappers::get_widget_bounds(desktop, &gbox); [INFO] [stdout] | ^^^^^ help: change this to: `gbox` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/main.rs:53:35 [INFO] [stdout] | [INFO] [stdout] 53 | ...om(String::from(("window {background-color:").to_owned() + DEFAULT_BG_COLOR + "; border-radius: 7px;} box {border-radius: 7px;}" + CLASSES).as... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `(("window {background-color:").to_owned() + DEFAULT_BG_COLOR + "; border-radius: 7px;} box {border-radius: 7px;}" + CLASSES)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cell_editor.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | return Propagation::Proceed; [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] 56 - return Propagation::Proceed; [INFO] [stdout] 56 + Propagation::Proceed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/main.rs:53:35 [INFO] [stdout] | [INFO] [stdout] 53 | ...om(String::from(("window {background-color:").to_owned() + DEFAULT_BG_COLOR + "; border-radius: 7px;} box {border-radius: 7px;}" + CLASSES).as... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `(("window {background-color:").to_owned() + DEFAULT_BG_COLOR + "; border-radius: 7px;} box {border-radius: 7px;}" + CLASSES)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 17s [INFO] running `Command { std: "docker" "inspect" "1a252c187d80d52b9c042bf38bad73af87239f1a1db63f95a7b06b11f82275df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1a252c187d80d52b9c042bf38bad73af87239f1a1db63f95a7b06b11f82275df", kill_on_drop: false }` [INFO] [stdout] 1a252c187d80d52b9c042bf38bad73af87239f1a1db63f95a7b06b11f82275df