[INFO] fetching crate mg 0.16.0... [INFO] linting mg-0.16.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate mg 0.16.0 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate mg 0.16.0 [INFO] finished tweaking crates.io crate mg 0.16.0 [INFO] tweaked toml for crates.io crate mg 0.16.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate mg 0.16.0 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 crates.io crate mg 0.16.0 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] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded unicode-xid v0.2.3 [INFO] [stderr] Downloaded relm v0.24.1 [INFO] [stderr] Downloaded system-deps v6.0.2 [INFO] [stderr] Downloaded gtk-test v0.16.0 [INFO] [stderr] Downloaded mg-settings v0.4.3 [INFO] [stderr] Downloaded futures-io v0.3.21 [INFO] [stderr] Downloaded futures-channel v0.3.21 [INFO] [stderr] Downloaded enigo v0.0.14 [INFO] [stderr] Downloaded core-graphics v0.18.0 [INFO] [stderr] Downloaded core-foundation v0.6.4 [INFO] [stderr] Downloaded cairo-rs v0.16.7 [INFO] [stderr] Downloaded gdk v0.16.2 [INFO] [stderr] Downloaded unicode-segmentation v1.9.0 [INFO] [stderr] Downloaded gio-sys v0.16.3 [INFO] [stderr] Downloaded syn v0.13.11 [INFO] [stderr] Downloaded gtk-sys v0.16.0 [INFO] [stderr] Downloaded gdk-sys v0.16.0 [INFO] [stderr] Downloaded futures-util v0.3.21 [INFO] [stderr] Downloaded gio v0.16.7 [INFO] [stderr] Downloaded glib v0.16.7 [INFO] [stderr] Downloaded syn v1.0.93 [INFO] [stderr] Downloaded glib-sys v0.16.3 [INFO] [stderr] Downloaded cfg-expr v0.10.2 [INFO] [stderr] Downloaded toml v0.5.9 [INFO] [stderr] Downloaded atk v0.16.0 [INFO] [stderr] Downloaded glib-macros v0.16.8 [INFO] [stderr] Downloaded gobject-sys v0.16.3 [INFO] [stderr] Downloaded proc-macro2 v0.3.8 [INFO] [stderr] Downloaded gdk-pixbuf v0.16.7 [INFO] [stderr] Downloaded atk-sys v0.16.0 [INFO] [stderr] Downloaded gtk3-macros v0.16.3 [INFO] [stderr] Downloaded futures-executor v0.3.21 [INFO] [stderr] Downloaded futures-macro v0.3.21 [INFO] [stderr] Downloaded slab v0.4.6 [INFO] [stderr] Downloaded version-compare v0.1.0 [INFO] [stderr] Downloaded gtk v0.16.2 [INFO] [stderr] Downloaded proc-macro2 v1.0.38 [INFO] [stderr] Downloaded futures-core v0.3.21 [INFO] [stderr] Downloaded futures-task v0.3.21 [INFO] [stderr] Downloaded quote v0.5.2 [INFO] [stderr] Downloaded mg-settings-macros v0.4.2 [INFO] [stderr] Downloaded pretty_env_logger v0.2.5 [INFO] [stderr] Downloaded field-offset v0.3.4 [INFO] [stderr] Downloaded cairo-sys-rs v0.16.3 [INFO] [stderr] Downloaded gdk-pixbuf-sys v0.16.3 [INFO] [stderr] Downloaded pango v0.16.5 [INFO] [stderr] Downloaded pango-sys v0.16.3 [INFO] [stderr] Downloaded relm-derive v0.24.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] f5f5c5df62411ea7d9c10e02e1e670f516411db55dac1c7f93f86cff2578dd0a [INFO] running `Command { std: "docker" "start" "-a" "f5f5c5df62411ea7d9c10e02e1e670f516411db55dac1c7f93f86cff2578dd0a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f5f5c5df62411ea7d9c10e02e1e670f516411db55dac1c7f93f86cff2578dd0a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f5f5c5df62411ea7d9c10e02e1e670f516411db55dac1c7f93f86cff2578dd0a", kill_on_drop: false }` [INFO] [stdout] f5f5c5df62411ea7d9c10e02e1e670f516411db55dac1c7f93f86cff2578dd0a [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] 78fc8322b90a0b77391cd0ab27a5318b848187a0492be348bf724732d8aa9e51 [INFO] running `Command { std: "docker" "start" "-a" "78fc8322b90a0b77391cd0ab27a5318b848187a0492be348bf724732d8aa9e51", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Compiling serde v1.0.137 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Compiling smallvec v1.8.0 [INFO] [stderr] Compiling version-compare v0.1.0 [INFO] [stderr] Compiling libc v0.2.125 [INFO] [stderr] Compiling proc-macro2 v1.0.38 [INFO] [stderr] Compiling unicode-xid v0.2.3 [INFO] [stderr] Compiling syn v1.0.93 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling futures-core v0.3.21 [INFO] [stderr] Compiling anyhow v1.0.57 [INFO] [stderr] Compiling futures-task v0.3.21 [INFO] [stderr] Compiling futures-util v0.3.21 [INFO] [stderr] Compiling futures-channel v0.3.21 [INFO] [stderr] Checking slab v0.4.6 [INFO] [stderr] Compiling ucd-trie v0.1.3 [INFO] [stderr] Compiling cfg-expr v0.10.2 [INFO] [stderr] Checking once_cell v1.10.0 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling gio v0.16.7 [INFO] [stderr] Checking futures-io v0.3.21 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling pest v2.1.3 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling proc-macro2 v0.3.8 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling gtk v0.16.2 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling termcolor v1.1.3 [INFO] [stderr] Compiling enigo v0.0.14 [INFO] [stderr] Compiling quote v0.5.2 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Compiling quote v1.0.18 [INFO] [stderr] Checking fragile v2.0.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling syn v0.13.11 [INFO] [stderr] Compiling semver-parser v0.10.2 [INFO] [stderr] Compiling semver v0.11.0 [INFO] [stderr] Compiling rustc_version v0.3.3 [INFO] [stderr] Compiling field-offset v0.3.4 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking regex v1.5.5 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking pretty_env_logger v0.2.5 [INFO] [stderr] Compiling toml v0.5.9 [INFO] [stderr] Compiling mg-settings-macros v0.4.2 [INFO] [stderr] Compiling system-deps v6.0.2 [INFO] [stderr] Checking mg-settings v0.4.3 [INFO] [stderr] Compiling glib-sys v0.16.3 [INFO] [stderr] Compiling gobject-sys v0.16.3 [INFO] [stderr] Compiling gio-sys v0.16.3 [INFO] [stderr] Compiling gdk-pixbuf-sys v0.16.3 [INFO] [stderr] Compiling pango-sys v0.16.3 [INFO] [stderr] Compiling cairo-sys-rs v0.16.3 [INFO] [stderr] Compiling gdk-sys v0.16.0 [INFO] [stderr] Compiling atk-sys v0.16.0 [INFO] [stderr] Compiling gtk-sys v0.16.0 [INFO] [stderr] Compiling thiserror-impl v1.0.31 [INFO] [stderr] Compiling futures-macro v0.3.21 [INFO] [stderr] Compiling relm-derive v0.24.0 [INFO] [stderr] Compiling thiserror v1.0.31 [INFO] [stderr] Compiling proc-macro-crate v1.1.3 [INFO] [stderr] Compiling glib-macros v0.16.8 [INFO] [stderr] Compiling gtk3-macros v0.16.3 [INFO] [stderr] Checking futures-executor v0.3.21 [INFO] [stderr] Checking glib v0.16.7 [INFO] [stderr] Checking cairo-rs v0.16.7 [INFO] [stderr] Checking atk v0.16.0 [INFO] [stderr] Checking gdk-pixbuf v0.16.7 [INFO] [stderr] Checking pango v0.16.5 [INFO] [stderr] Checking gdk v0.16.2 [INFO] [stderr] Checking relm v0.24.1 [INFO] [stderr] Checking gtk-test v0.16.0 [INFO] [stderr] Checking mg v0.16.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: lint name `borrowed_box` is deprecated and may not have an effect in the future [INFO] [stdout] --> src/completion/mod.rs:155:28 [INFO] [stdout] | [INFO] [stdout] 155 | #[allow(unknown_lints, borrowed_box)] [INFO] [stdout] | ^^^^^^^^^^^^ help: change it to: `clippy::borrowed_box` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint name `borrowed_box` is deprecated and may not have an effect in the future [INFO] [stdout] --> src/completion/mod.rs:155:28 [INFO] [stdout] | [INFO] [stdout] 155 | #[allow(unknown_lints, borrowed_box)] [INFO] [stdout] | ^^^^^^^^^^^^ help: change it to: `clippy::borrowed_box` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/app/status_bar.rs:402:9 [INFO] [stdout] | [INFO] [stdout] 402 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | _0 | KP_0 => Char('0'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] = note: `#[warn(clippy::just_underscores_and_digits)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | _1 | KP_1 => Char('1'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | _2 | KP_2 => Char('2'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | _3 | KP_3 => Char('3'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | _4 | KP_4 => Char('4'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | _5 | KP_5 => Char('5'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | _6 | KP_6 => Char('6'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | _7 | KP_7 => Char('7'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | _8 | KP_8 => Char('8'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | _9 | KP_9 => Char('9'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/app/status_bar.rs:402:9 [INFO] [stdout] | [INFO] [stdout] 402 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | _0 | KP_0 => Char('0'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] = note: `#[warn(clippy::just_underscores_and_digits)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | _1 | KP_1 => Char('1'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | _2 | KP_2 => Char('2'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | _3 | KP_3 => Char('3'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | _4 | KP_4 => Char('4'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | _5 | KP_5 => Char('5'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | _6 | KP_6 => Char('6'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | _7 | KP_7 => Char('7'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | _8 | KP_8 => Char('8'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider choosing a more descriptive name [INFO] [stdout] --> src/key_converter.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | _9 | KP_9 => Char('9'), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app/color.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let _ = settings.set_property("gtk-application-prefer-dark-theme", &use_dark); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 58 - let _ = settings.set_property("gtk-application-prefer-dark-theme", &use_dark); [INFO] [stdout] 58 + settings.set_property("gtk-application-prefer-dark-theme", &use_dark); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/app/color.rs:58:76 [INFO] [stdout] | [INFO] [stdout] 58 | let _ = settings.set_property("gtk-application-prefer-dark-theme", &use_dark); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `use_dark` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/app/command.rs:128:22 [INFO] [stdout] | [INFO] [stdout] 128 | .or_insert_with(HashMap::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/app/command.rs:143:22 [INFO] [stdout] | [INFO] [stdout] 143 | .or_insert_with(HashMap::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `DialogBuilder` [INFO] [stdout] --> src/app/dialog.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | / pub fn new() -> Self { [INFO] [stdout] 171 | | DialogBuilder { [INFO] [stdout] 172 | | blocking: false, [INFO] [stdout] 173 | | choices: vec![], [INFO] [stdout] ... | [INFO] [stdout] 180 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 167 + impl Default for DialogBuilder { [INFO] [stdout] 168 + fn default() -> Self { [INFO] [stdout] 169 + Self::new() [INFO] [stdout] 170 + } [INFO] [stdout] 171 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/app/shortcut.rs:193:17 [INFO] [stdout] | [INFO] [stdout] 193 | / self.model.current_shortcut.iter() [INFO] [stdout] 194 | | .position(is_not_digit) [INFO] [stdout] 195 | | .unwrap_or_else(|| self.model.current_shortcut.len()) [INFO] [stdout] | |_________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 195 - .unwrap_or_else(|| self.model.current_shortcut.len()) [INFO] [stdout] 195 + .unwrap_or(self.model.current_shortcut.len()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/app/shortcut.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | !c.to_digit(10).is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `c.to_digit(10).is_none()` [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: use of `.to_digit(..).is_some()` [INFO] [stdout] --> src/app/shortcut.rs:213:10 [INFO] [stdout] | [INFO] [stdout] 213 | !c.to_digit(10).is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `c.is_digit(10)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_digit_is_some [INFO] [stdout] = note: `#[warn(clippy::to_digit_is_some)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app/color.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let _ = settings.set_property("gtk-application-prefer-dark-theme", &use_dark); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 58 - let _ = settings.set_property("gtk-application-prefer-dark-theme", &use_dark); [INFO] [stdout] 58 + settings.set_property("gtk-application-prefer-dark-theme", &use_dark); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/app/color.rs:58:76 [INFO] [stdout] | [INFO] [stdout] 58 | let _ = settings.set_property("gtk-application-prefer-dark-theme", &use_dark); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `use_dark` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/app/command.rs:128:22 [INFO] [stdout] | [INFO] [stdout] 128 | .or_insert_with(HashMap::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip_while(

).next()` on an `Iterator` [INFO] [stdout] --> src/app/status_bar.rs:288:24 [INFO] [stdout] | [INFO] [stdout] 288 | let position = text.chars().enumerate() [INFO] [stdout] | ________________________^ [INFO] [stdout] 289 | | .skip(pos as usize) [INFO] [stdout] 290 | | .skip_while(|&(_, c)| !c.is_alphanumeric()) [INFO] [stdout] 291 | | .skip_while(|&(_, c)| c.is_alphanumeric()) [INFO] [stdout] 292 | | .next() [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: this is more succinctly expressed by calling `.find(!

)` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#skip_while_next [INFO] [stdout] = note: `#[warn(clippy::skip_while_next)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip_while(

).next()` on an `Iterator` [INFO] [stdout] --> src/app/status_bar.rs:327:24 [INFO] [stdout] | [INFO] [stdout] 327 | let position = text.chars().rev().enumerate() [INFO] [stdout] | ________________________^ [INFO] [stdout] 328 | | .skip(len - pos as usize) [INFO] [stdout] 329 | | .skip_while(|&(_, c)| !c.is_alphanumeric()) [INFO] [stdout] 330 | | .skip_while(|&(_, c)| c.is_alphanumeric()) [INFO] [stdout] 331 | | .next() [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: this is more succinctly expressed by calling `.find(!

)` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#skip_while_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/app/command.rs:143:22 [INFO] [stdout] | [INFO] [stdout] 143 | .or_insert_with(HashMap::new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods with the following characteristics: (`to_*` and `self` type is `Copy`) usually take `self` by value [INFO] [stdout] --> src/app/status_bar.rs:379:21 [INFO] [stdout] | [INFO] [stdout] 379 | fn to_css_class(&self) -> Option<&'static str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app/status_bar.rs:401:15 [INFO] [stdout] | [INFO] [stdout] 401 | fn model() -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/app/mod.rs:174:21 [INFO] [stdout] | [INFO] [stdout] 174 | input_callback: Option, bool)>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `DialogBuilder` [INFO] [stdout] --> src/app/dialog.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | / pub fn new() -> Self { [INFO] [stdout] 171 | | DialogBuilder { [INFO] [stdout] 172 | | blocking: false, [INFO] [stdout] 173 | | choices: vec![], [INFO] [stdout] ... | [INFO] [stdout] 180 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 167 + impl Default for DialogBuilder { [INFO] [stdout] 168 + fn default() -> Self { [INFO] [stdout] 169 + Self::new() [INFO] [stdout] 170 + } [INFO] [stdout] 171 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/app/shortcut.rs:193:17 [INFO] [stdout] | [INFO] [stdout] 193 | / self.model.current_shortcut.iter() [INFO] [stdout] 194 | | .position(is_not_digit) [INFO] [stdout] 195 | | .unwrap_or_else(|| self.model.current_shortcut.len()) [INFO] [stdout] | |_________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 195 - .unwrap_or_else(|| self.model.current_shortcut.len()) [INFO] [stdout] 195 + .unwrap_or(self.model.current_shortcut.len()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/app/shortcut.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | !c.to_digit(10).is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `c.to_digit(10).is_none()` [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: use of `.to_digit(..).is_some()` [INFO] [stdout] --> src/app/shortcut.rs:213:10 [INFO] [stdout] | [INFO] [stdout] 213 | !c.to_digit(10).is_some() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `c.is_digit(10)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_digit_is_some [INFO] [stdout] = note: `#[warn(clippy::to_digit_is_some)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `CommandCompleter` [INFO] [stdout] --> src/completion/completers.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | / pub fn new() -> CommandCompleter { [INFO] [stdout] 39 | | let mut data: Vec<_> = [INFO] [stdout] 40 | | T::get_metadata().iter() [INFO] [stdout] 41 | | .filter(|&(_, metadata)| !metadata.completion_hidden) [INFO] [stdout] ... | [INFO] [stdout] 52 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 35 + impl Default for CommandCompleter { [INFO] [stdout] 36 + fn default() -> Self { [INFO] [stdout] 37 + Self::new() [INFO] [stdout] 38 + } [INFO] [stdout] 39 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completion/completers.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | .filter(|&&(ref command, ref help)| [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 58 - .filter(|&&(ref command, ref help)| [INFO] [stdout] 58 + .filter(|&(command, help)| [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/completion/completers.rs:59:53 [INFO] [stdout] | [INFO] [stdout] 59 | command.to_lowercase().contains(&input) || [INFO] [stdout] | ^^^^^^ help: change this to: `input` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/completion/completers.rs:60:50 [INFO] [stdout] | [INFO] [stdout] 60 | help.to_lowercase().contains(&input)) [INFO] [stdout] | ^^^^^^ help: change this to: `input` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completion/completers.rs:61:19 [INFO] [stdout] | [INFO] [stdout] 61 | .map(|&(ref col1, ref col2)| CompletionResult::new(&[col1, col2])) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 61 - .map(|&(ref col1, ref col2)| CompletionResult::new(&[col1, col2])) [INFO] [stdout] 61 + .map(|(col1, col2)| CompletionResult::new(&[col1, col2])) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `NoCompleter` [INFO] [stdout] --> src/completion/completers.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | / pub fn new() -> Self { [INFO] [stdout] 74 | | NoCompleter { [INFO] [stdout] 75 | | } [INFO] [stdout] 76 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 70 + impl Default for NoCompleter { [INFO] [stdout] 71 + fn default() -> Self { [INFO] [stdout] 72 + Self::new() [INFO] [stdout] 73 + } [INFO] [stdout] 74 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `SettingCompleter` [INFO] [stdout] --> src/completion/completers.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | / pub fn new() -> Self { [INFO] [stdout] 101 | | let mut data: Vec<_> = [INFO] [stdout] 102 | | T::get_metadata().iter() [INFO] [stdout] 103 | | .filter(|&(_, metadata)| !metadata.completion_hidden) [INFO] [stdout] ... | [INFO] [stdout] 113 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 97 + impl Default for SettingCompleter { [INFO] [stdout] 98 + fn default() -> Self { [INFO] [stdout] 99 + Self::new() [INFO] [stdout] 100 + } [INFO] [stdout] 101 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `&String::new()` for a function expecting a `&str` argument [INFO] [stdout] --> src/completion/completers.rs:136:69 [INFO] [stdout] | [INFO] [stdout] 136 | .map(|value| CompletionResult::new(&[value, &String::new()])) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `""` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_owned_empty_strings [INFO] [stdout] = note: `#[warn(clippy::unnecessary_owned_empty_strings)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completion/completers.rs:146:27 [INFO] [stdout] | [INFO] [stdout] 146 | .filter(|&&(ref setting, ref help)| [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 146 - .filter(|&&(ref setting, ref help)| [INFO] [stdout] 146 + .filter(|&(setting, help)| [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completion/completers.rs:149:23 [INFO] [stdout] | [INFO] [stdout] 149 | .map(|&(ref col1, ref col2)| CompletionResult::new(&[col1, col2])) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 149 - .map(|&(ref col1, ref col2)| CompletionResult::new(&[col1, col2])) [INFO] [stdout] 149 + .map(|(col1, col2)| CompletionResult::new(&[col1, col2])) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Completion` [INFO] [stdout] --> src/completion/mod.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | / pub fn new() -> Self { [INFO] [stdout] 109 | | Completion { [INFO] [stdout] 110 | | completer_ident: String::new(), [INFO] [stdout] 111 | | completers: HashMap::new(), [INFO] [stdout] 112 | | } [INFO] [stdout] 113 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 105 + impl Default for Completion { [INFO] [stdout] 106 + fn default() -> Self { [INFO] [stdout] 107 + Self::new() [INFO] [stdout] 108 + } [INFO] [stdout] 109 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/completion/mod.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | for &CompletionResult { ref columns } in &completer.completions(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 185 - for &CompletionResult { ref columns } in &completer.completions(key) { [INFO] [stdout] 185 + for CompletionResult { columns } in &completer.completions(key) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip_while(

).next()` on an `Iterator` [INFO] [stdout] --> src/app/status_bar.rs:288:24 [INFO] [stdout] | [INFO] [stdout] 288 | let position = text.chars().enumerate() [INFO] [stdout] | ________________________^ [INFO] [stdout] 289 | | .skip(pos as usize) [INFO] [stdout] 290 | | .skip_while(|&(_, c)| !c.is_alphanumeric()) [INFO] [stdout] 291 | | .skip_while(|&(_, c)| c.is_alphanumeric()) [INFO] [stdout] 292 | | .next() [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: this is more succinctly expressed by calling `.find(!

)` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#skip_while_next [INFO] [stdout] = note: `#[warn(clippy::skip_while_next)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `skip_while(

).next()` on an `Iterator` [INFO] [stdout] --> src/app/status_bar.rs:327:24 [INFO] [stdout] | [INFO] [stdout] 327 | let position = text.chars().rev().enumerate() [INFO] [stdout] | ________________________^ [INFO] [stdout] 328 | | .skip(len - pos as usize) [INFO] [stdout] 329 | | .skip_while(|&(_, c)| !c.is_alphanumeric()) [INFO] [stdout] 330 | | .skip_while(|&(_, c)| c.is_alphanumeric()) [INFO] [stdout] 331 | | .next() [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: this is more succinctly expressed by calling `.find(!

)` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#skip_while_next [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods with the following characteristics: (`to_*` and `self` type is `Copy`) usually take `self` by value [INFO] [stdout] --> src/app/status_bar.rs:379:21 [INFO] [stdout] | [INFO] [stdout] 379 | fn to_css_class(&self) -> Option<&'static str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/file.rs:31:18 [INFO] [stdout] | [INFO] [stdout] 31 | error.to_string()))), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> src/key_converter.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | / match to_key(key) { [INFO] [stdout] 37 | | Some(key) => key, [INFO] [stdout] 38 | | None => return None, [INFO] [stdout] 39 | | }; [INFO] [stdout] | |_________^ help: try instead: `to_key(key)?` [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: `if let .. else` expression looks like `matches!` macro [INFO] [stdout] --> src/key_converter.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | / if let Char(_) = *key { [INFO] [stdout] 70 | | true [INFO] [stdout] 71 | | } [INFO] [stdout] 72 | | else { [INFO] [stdout] 73 | | false [INFO] [stdout] 74 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 69 - if let Char(_) = *key { [INFO] [stdout] 70 - true [INFO] [stdout] 71 - } [INFO] [stdout] 72 - else { [INFO] [stdout] 73 - false [INFO] [stdout] 74 - } [INFO] [stdout] 69 + matches!(*key, Char(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app/status_bar.rs:401:15 [INFO] [stdout] | [INFO] [stdout] 401 | fn model() -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/app/mod.rs:174:21 [INFO] [stdout] | [INFO] [stdout] 174 | input_callback: Option, bool)>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `CommandCompleter` [INFO] [stdout] --> src/completion/completers.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | / pub fn new() -> CommandCompleter { [INFO] [stdout] 39 | | let mut data: Vec<_> = [INFO] [stdout] 40 | | T::get_metadata().iter() [INFO] [stdout] 41 | | .filter(|&(_, metadata)| !metadata.completion_hidden) [INFO] [stdout] ... | [INFO] [stdout] 52 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 35 + impl Default for CommandCompleter { [INFO] [stdout] 36 + fn default() -> Self { [INFO] [stdout] 37 + Self::new() [INFO] [stdout] 38 + } [INFO] [stdout] 39 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completion/completers.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | .filter(|&&(ref command, ref help)| [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 58 - .filter(|&&(ref command, ref help)| [INFO] [stdout] 58 + .filter(|&(command, help)| [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/completion/completers.rs:59:53 [INFO] [stdout] | [INFO] [stdout] 59 | command.to_lowercase().contains(&input) || [INFO] [stdout] | ^^^^^^ help: change this to: `input` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/completion/completers.rs:60:50 [INFO] [stdout] | [INFO] [stdout] 60 | help.to_lowercase().contains(&input)) [INFO] [stdout] | ^^^^^^ help: change this to: `input` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completion/completers.rs:61:19 [INFO] [stdout] | [INFO] [stdout] 61 | .map(|&(ref col1, ref col2)| CompletionResult::new(&[col1, col2])) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 61 - .map(|&(ref col1, ref col2)| CompletionResult::new(&[col1, col2])) [INFO] [stdout] 61 + .map(|(col1, col2)| CompletionResult::new(&[col1, col2])) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `NoCompleter` [INFO] [stdout] --> src/completion/completers.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | / pub fn new() -> Self { [INFO] [stdout] 74 | | NoCompleter { [INFO] [stdout] 75 | | } [INFO] [stdout] 76 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 70 + impl Default for NoCompleter { [INFO] [stdout] 71 + fn default() -> Self { [INFO] [stdout] 72 + Self::new() [INFO] [stdout] 73 + } [INFO] [stdout] 74 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `SettingCompleter` [INFO] [stdout] --> src/completion/completers.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | / pub fn new() -> Self { [INFO] [stdout] 101 | | let mut data: Vec<_> = [INFO] [stdout] 102 | | T::get_metadata().iter() [INFO] [stdout] 103 | | .filter(|&(_, metadata)| !metadata.completion_hidden) [INFO] [stdout] ... | [INFO] [stdout] 113 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 97 + impl Default for SettingCompleter { [INFO] [stdout] 98 + fn default() -> Self { [INFO] [stdout] 99 + Self::new() [INFO] [stdout] 100 + } [INFO] [stdout] 101 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `&String::new()` for a function expecting a `&str` argument [INFO] [stdout] --> src/completion/completers.rs:136:69 [INFO] [stdout] | [INFO] [stdout] 136 | .map(|value| CompletionResult::new(&[value, &String::new()])) [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `""` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_owned_empty_strings [INFO] [stdout] = note: `#[warn(clippy::unnecessary_owned_empty_strings)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completion/completers.rs:146:27 [INFO] [stdout] | [INFO] [stdout] 146 | .filter(|&&(ref setting, ref help)| [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 146 - .filter(|&&(ref setting, ref help)| [INFO] [stdout] 146 + .filter(|&(setting, help)| [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completion/completers.rs:149:23 [INFO] [stdout] | [INFO] [stdout] 149 | .map(|&(ref col1, ref col2)| CompletionResult::new(&[col1, col2])) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 149 - .map(|&(ref col1, ref col2)| CompletionResult::new(&[col1, col2])) [INFO] [stdout] 149 + .map(|(col1, col2)| CompletionResult::new(&[col1, col2])) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Completion` [INFO] [stdout] --> src/completion/mod.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | / pub fn new() -> Self { [INFO] [stdout] 109 | | Completion { [INFO] [stdout] 110 | | completer_ident: String::new(), [INFO] [stdout] 111 | | completers: HashMap::new(), [INFO] [stdout] 112 | | } [INFO] [stdout] 113 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 105 + impl Default for Completion { [INFO] [stdout] 106 + fn default() -> Self { [INFO] [stdout] 107 + Self::new() [INFO] [stdout] 108 + } [INFO] [stdout] 109 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/completion/mod.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | for &CompletionResult { ref columns } in &completer.completions(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 185 - for &CompletionResult { ref columns } in &completer.completions(key) { [INFO] [stdout] 185 + for CompletionResult { columns } in &completer.completions(key) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/file.rs:31:18 [INFO] [stdout] | [INFO] [stdout] 31 | error.to_string()))), [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> src/key_converter.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | / match to_key(key) { [INFO] [stdout] 37 | | Some(key) => key, [INFO] [stdout] 38 | | None => return None, [INFO] [stdout] 39 | | }; [INFO] [stdout] | |_________^ help: try instead: `to_key(key)?` [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: `if let .. else` expression looks like `matches!` macro [INFO] [stdout] --> src/key_converter.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | / if let Char(_) = *key { [INFO] [stdout] 70 | | true [INFO] [stdout] 71 | | } [INFO] [stdout] 72 | | else { [INFO] [stdout] 73 | | false [INFO] [stdout] 74 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 69 - if let Char(_) = *key { [INFO] [stdout] 70 - true [INFO] [stdout] 71 - } [INFO] [stdout] 72 - else { [INFO] [stdout] 73 - false [INFO] [stdout] 74 - } [INFO] [stdout] 69 + matches!(*key, Char(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 04s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: mg-settings v0.4.3, syn v0.13.11 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "78fc8322b90a0b77391cd0ab27a5318b848187a0492be348bf724732d8aa9e51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78fc8322b90a0b77391cd0ab27a5318b848187a0492be348bf724732d8aa9e51", kill_on_drop: false }` [INFO] [stdout] 78fc8322b90a0b77391cd0ab27a5318b848187a0492be348bf724732d8aa9e51