[INFO] cloning repository https://github.com/itsjustmustafa/wik [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/itsjustmustafa/wik" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitsjustmustafa%2Fwik", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitsjustmustafa%2Fwik'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1f3b55a7bd693cd975fc0b85ab05d1ad183099dd [INFO] linting itsjustmustafa/wik against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitsjustmustafa%2Fwik" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/itsjustmustafa/wik [INFO] finished tweaking git repo https://github.com/itsjustmustafa/wik [INFO] tweaked toml for git repo https://github.com/itsjustmustafa/wik written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/itsjustmustafa/wik 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/itsjustmustafa/wik already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded security-framework-sys v2.12.0 [INFO] [stderr] Downloaded url v2.5.3 [INFO] [stderr] Downloaded clap_lex v0.7.3 [INFO] [stderr] Downloaded thiserror-impl v1.0.68 [INFO] [stderr] Downloaded instability v0.3.5 [INFO] [stderr] Downloaded thiserror v1.0.68 [INFO] [stderr] Downloaded markup5ever_rcdom v0.3.0 [INFO] [stderr] Downloaded webbrowser v1.0.2 [INFO] [stderr] Downloaded xml5ever v0.18.1 [INFO] [stderr] Downloaded hyper-rustls v0.27.3 [INFO] [stderr] Downloaded schannel v0.1.26 [INFO] [stderr] Downloaded markup5ever v0.12.1 [INFO] [stderr] Downloaded bytes v1.8.0 [INFO] [stderr] Downloaded clap v4.5.21 [INFO] [stderr] Downloaded html5ever v0.27.0 [INFO] [stderr] Downloaded pretty_assertions v1.4.1 [INFO] [stderr] Downloaded compact_str v0.8.0 [INFO] [stderr] Downloaded cc v1.1.35 [INFO] [stderr] Downloaded clap_builder v4.5.21 [INFO] [stderr] Downloaded hyper v1.5.0 [INFO] [stderr] Downloaded h2 v0.4.6 [INFO] [stderr] Downloaded htmd v0.1.6 [INFO] [stderr] Downloaded rustls v0.23.16 [INFO] [stderr] Downloaded rustix v0.38.39 [INFO] [stderr] Downloaded tokio v1.41.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b83ab5a96154ca6c128105b5682f34a5a03d84bf663c9ee06c36c2271274d336 [INFO] running `Command { std: "docker" "start" "-a" "b83ab5a96154ca6c128105b5682f34a5a03d84bf663c9ee06c36c2271274d336", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b83ab5a96154ca6c128105b5682f34a5a03d84bf663c9ee06c36c2271274d336", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b83ab5a96154ca6c128105b5682f34a5a03d84bf663c9ee06c36c2271274d336", kill_on_drop: false }` [INFO] [stdout] b83ab5a96154ca6c128105b5682f34a5a03d84bf663c9ee06c36c2271274d336 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c0236a2963dfe14609ced251dd89e6db1852005702733f58c123eeaee39df3f4 [INFO] running `Command { std: "docker" "start" "-a" "c0236a2963dfe14609ced251dd89e6db1852005702733f58c123eeaee39df3f4", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling libc v0.2.161 [INFO] [stderr] Compiling serde v1.0.214 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking bytes v1.8.0 [INFO] [stderr] Checking writeable v0.5.5 [INFO] [stderr] Compiling cc v1.1.35 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Checking litemap v0.7.3 [INFO] [stderr] Checking foldhash v0.1.4 [INFO] [stderr] Checking hashbrown v0.15.1 [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling phf_shared v0.11.2 [INFO] [stderr] Compiling phf_shared v0.10.0 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking icu_locid_transform_data v1.5.0 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Checking mac v0.1.1 [INFO] [stderr] Compiling rustversion v1.0.18 [INFO] [stderr] Checking icu_properties_data v1.5.0 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Checking futf v0.1.5 [INFO] [stderr] Compiling openssl v0.10.68 [INFO] [stderr] Compiling rustix v0.38.39 [INFO] [stderr] Checking utf16_iter v1.0.5 [INFO] [stderr] Compiling httparse v1.9.5 [INFO] [stderr] Checking precomputed-hash v0.1.1 [INFO] [stderr] Checking write16 v1.0.0 [INFO] [stderr] Checking icu_normalizer_data v1.5.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking tendril v0.4.3 [INFO] [stderr] Checking phf v0.11.2 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling thiserror v1.0.68 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking indexmap v2.6.0 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Compiling syn v2.0.90 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling serde_json v1.0.132 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling pretty_assertions v1.4.1 [INFO] [stderr] Checking castaway v0.2.3 [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Checking rustls-pki-types v1.10.0 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking tokio v1.41.0 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking clap_lex v0.7.3 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking sync_wrapper v1.0.1 [INFO] [stderr] Checking shell-words v1.1.0 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Checking ipnet v2.10.1 [INFO] [stderr] Checking cpufeatures v0.2.14 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Compiling openssl-sys v0.9.104 [INFO] [stderr] Checking clap_builder v4.5.21 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking unicode-truncate v1.1.0 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking tokio-util v0.7.12 [INFO] [stderr] Checking h2 v0.4.6 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling serde_derive v1.0.214 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling html5ever v0.27.0 [INFO] [stderr] Compiling thiserror-impl v1.0.68 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling clap_derive v4.5.18 [INFO] [stderr] Compiling zerofrom-derive v0.1.4 [INFO] [stderr] Compiling yoke-derive v0.7.4 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Checking zerofrom v0.1.4 [INFO] [stderr] Checking yoke v0.7.4 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking hyper v1.5.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Checking clap v4.5.21 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling instability v0.3.5 [INFO] [stderr] Compiling phf_generator v0.11.2 [INFO] [stderr] Compiling phf_generator v0.10.0 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Compiling phf_codegen v0.11.2 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Compiling string_cache_codegen v0.5.2 [INFO] [stderr] Compiling markup5ever v0.12.1 [INFO] [stderr] Checking hyper-util v0.1.10 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking string_cache v0.8.7 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking compact_str v0.8.0 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.3 [INFO] [stderr] Checking xml5ever v0.18.1 [INFO] [stderr] Checking webbrowser v1.0.2 [INFO] [stderr] Checking markup5ever_rcdom v0.3.0 [INFO] [stderr] Checking tempfile v3.13.0 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking htmd v0.1.6 [INFO] [stderr] Checking dialoguer v0.11.0 [INFO] [stderr] Checking ratatui v0.29.0 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.9 [INFO] [stderr] Checking wik v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ratatui::symbols::line` [INFO] [stdout] --> src/app.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use ratatui::symbols::line; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/styles.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | name: name, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::symbols::line` [INFO] [stdout] --> src/app.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use ratatui::symbols::line; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/widgets/scrollbar.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | height: height, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/widgets/scrollbar.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | position: position, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/styles.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | name: name, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/widgets/scrollbar.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | total_items: total_items, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_items` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/widgets/scrollbar.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | height: height, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/widgets/scrollbar.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | position: position, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/widgets/scrollbar.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | total_items: total_items, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_items` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:69:60 [INFO] [stdout] | [INFO] [stdout] 69 | fn scroll(&mut self, scroll_direction: ScrollDirection) -> () { [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] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:108:37 [INFO] [stdout] | [INFO] [stdout] 108 | fn trigger_text_focus(&mut self) -> () {} [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:110:39 [INFO] [stdout] | [INFO] [stdout] 110 | fn move_cursor_to_start(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:69:60 [INFO] [stdout] | [INFO] [stdout] 69 | fn scroll(&mut self, scroll_direction: ScrollDirection) -> () { [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] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:115:37 [INFO] [stdout] | [INFO] [stdout] 115 | fn move_cursor_to_end(&mut self) -> () { [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: this boolean expression can be simplified [INFO] [stdout] --> src/app.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | if !(self.get_cursor_pos() > self.get_input().len()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(self.get_cursor_pos() <= self.get_input().len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:108:37 [INFO] [stdout] | [INFO] [stdout] 108 | fn trigger_text_focus(&mut self) -> () {} [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:110:39 [INFO] [stdout] | [INFO] [stdout] 110 | fn move_cursor_to_start(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:115:37 [INFO] [stdout] | [INFO] [stdout] 115 | fn move_cursor_to_end(&mut self) -> () { [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: this boolean expression can be simplified [INFO] [stdout] --> src/app.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | if !(self.get_cursor_pos() > self.get_input().len()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(self.get_cursor_pos() <= self.get_input().len())` [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: this `if` statement can be collapsed [INFO] [stdout] --> src/app.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | / if !(self.get_input().is_empty()) { [INFO] [stdout] 146 | | if self.get_cursor_pos() > 0 { [INFO] [stdout] 147 | | self.remove_from_input_at_cursor(); [INFO] [stdout] 148 | | self.move_cursor_one_step(CursorDirection::LEFT); [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 145 ~ if !(self.get_input().is_empty()) [INFO] [stdout] 146 ~ && self.get_cursor_pos() > 0 { [INFO] [stdout] 147 | self.remove_from_input_at_cursor(); [INFO] [stdout] 148 | self.move_cursor_one_step(CursorDirection::LEFT); [INFO] [stdout] 149 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:189:53 [INFO] [stdout] | [INFO] [stdout] 189 | fn insert_to_input_at_cursor(&mut self, c: char) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:193:46 [INFO] [stdout] | [INFO] [stdout] 193 | fn remove_from_input_at_cursor(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:203:56 [INFO] [stdout] | [INFO] [stdout] 203 | fn set_cursor_pos(&mut self, new_cursor_pos: usize) -> () { [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: length comparison to zero [INFO] [stdout] --> src/app.rs:229:16 [INFO] [stdout] | [INFO] [stdout] 229 | if results.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!results.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: this `if` statement can be collapsed [INFO] [stdout] --> src/app.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | / if !(self.get_input().is_empty()) { [INFO] [stdout] 146 | | if self.get_cursor_pos() > 0 { [INFO] [stdout] 147 | | self.remove_from_input_at_cursor(); [INFO] [stdout] 148 | | self.move_cursor_one_step(CursorDirection::LEFT); [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 145 ~ if !(self.get_input().is_empty()) [INFO] [stdout] 146 ~ && self.get_cursor_pos() > 0 { [INFO] [stdout] 147 | self.remove_from_input_at_cursor(); [INFO] [stdout] 148 | self.move_cursor_one_step(CursorDirection::LEFT); [INFO] [stdout] 149 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:189:53 [INFO] [stdout] | [INFO] [stdout] 189 | fn insert_to_input_at_cursor(&mut self, c: char) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:193:46 [INFO] [stdout] | [INFO] [stdout] 193 | fn remove_from_input_at_cursor(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:203:56 [INFO] [stdout] | [INFO] [stdout] 203 | fn set_cursor_pos(&mut self, new_cursor_pos: usize) -> () { [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: length comparison to zero [INFO] [stdout] --> src/app.rs:229:16 [INFO] [stdout] | [INFO] [stdout] 229 | if results.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!results.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: manual implementation of `Option::map` [INFO] [stdout] --> src/app.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | / match self.results.lock().unwrap().get(self.selected_index) { [INFO] [stdout] 247 | | Some(result) => Some(result.title.clone()), [INFO] [stdout] 248 | | None => None, [INFO] [stdout] 249 | | } [INFO] [stdout] | |_________^ help: try: `self.results.lock().unwrap().get(self.selected_index).map(|result| result.title.clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/app.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | / match self.results.lock().unwrap().get(self.selected_index) { [INFO] [stdout] 247 | | Some(result) => Some(result.title.clone()), [INFO] [stdout] 248 | | None => None, [INFO] [stdout] 249 | | } [INFO] [stdout] | |_________^ help: try: `self.results.lock().unwrap().get(self.selected_index).map(|result| result.title.clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:258:53 [INFO] [stdout] | [INFO] [stdout] 258 | fn insert_to_input_at_cursor(&mut self, c: char) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:262:46 [INFO] [stdout] | [INFO] [stdout] 262 | fn remove_from_input_at_cursor(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:258:53 [INFO] [stdout] | [INFO] [stdout] 258 | fn insert_to_input_at_cursor(&mut self, c: char) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:272:56 [INFO] [stdout] | [INFO] [stdout] 272 | fn set_cursor_pos(&mut self, new_cursor_pos: usize) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:262:46 [INFO] [stdout] | [INFO] [stdout] 262 | fn remove_from_input_at_cursor(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:276:37 [INFO] [stdout] | [INFO] [stdout] 276 | fn trigger_text_focus(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:290:46 [INFO] [stdout] | [INFO] [stdout] 290 | fn set_index(&mut self, new_index: usize) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:272:56 [INFO] [stdout] | [INFO] [stdout] 272 | fn set_cursor_pos(&mut self, new_cursor_pos: usize) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:313:46 [INFO] [stdout] | [INFO] [stdout] 313 | fn set_index(&mut self, new_index: usize) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:276:37 [INFO] [stdout] | [INFO] [stdout] 276 | fn trigger_text_focus(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:290:46 [INFO] [stdout] | [INFO] [stdout] 290 | fn set_index(&mut self, new_index: usize) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:313:46 [INFO] [stdout] | [INFO] [stdout] 313 | fn set_index(&mut self, new_index: usize) -> () { [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: unneeded `return` statement [INFO] [stdout] --> src/app.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | 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] 370 - return None; [INFO] [stdout] 370 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:402:46 [INFO] [stdout] | [INFO] [stdout] 402 | fn set_index(&mut self, new_index: usize) -> () { [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: unneeded `return` statement [INFO] [stdout] --> src/app.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | 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] 370 - return None; [INFO] [stdout] 370 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:402:46 [INFO] [stdout] | [INFO] [stdout] 402 | fn set_index(&mut self, new_index: usize) -> () { [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: unnecessary `if let` since only the `Ok` variant of the iterator element is used [INFO] [stdout] --> src/app.rs:508:13 [INFO] [stdout] | [INFO] [stdout] 508 | / for line_result in reader.lines() { [INFO] [stdout] 509 | | if let Ok(line) = line_result { [INFO] [stdout] 510 | | let line_split: Vec<&str> = line.split(' ').collect(); [INFO] [stdout] 511 | | let maybe_theme_name = line_split.get(0); [INFO] [stdout] ... | [INFO] [stdout] 526 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: try `.flatten()` and remove the `if let` statement in the for loop [INFO] [stdout] --> src/app.rs:509:17 [INFO] [stdout] | [INFO] [stdout] 509 | / if let Ok(line) = line_result { [INFO] [stdout] 510 | | let line_split: Vec<&str> = line.split(' ').collect(); [INFO] [stdout] 511 | | let maybe_theme_name = line_split.get(0); [INFO] [stdout] 512 | | let maybe_theme_colours = line_split.get(1); [INFO] [stdout] ... | [INFO] [stdout] 525 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_flatten [INFO] [stdout] = note: `#[warn(clippy::manual_flatten)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 508 ~ for line in reader.lines().flatten() { [INFO] [stdout] 509 + let line_split: Vec<&str> = line.split(' ').collect(); [INFO] [stdout] 510 + let maybe_theme_name = line_split.get(0); [INFO] [stdout] 511 + let maybe_theme_colours = line_split.get(1); [INFO] [stdout] 512 + // if let Some(&theme_colours) = maybe_theme_colours { [INFO] [stdout] 513 + if maybe_theme_colours.is_none() { [INFO] [stdout] 514 + break; [INFO] [stdout] 515 + } [INFO] [stdout] 516 + if maybe_theme_name.is_none() { [INFO] [stdout] 517 + break; [INFO] [stdout] 518 + } [INFO] [stdout] 519 + app.theme_menu.themes.push(Theme::from_hex_string_series( [INFO] [stdout] 520 + String::from(maybe_theme_name.unwrap().to_owned()), [INFO] [stdout] 521 + String::from(maybe_theme_colours.unwrap().to_owned()), [INFO] [stdout] 522 + )); [INFO] [stdout] 523 + // } [INFO] [stdout] 524 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `line_split.get(0)` [INFO] [stdout] --> src/app.rs:511:44 [INFO] [stdout] | [INFO] [stdout] 511 | let maybe_theme_name = line_split.get(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `line_split.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: length comparison to zero [INFO] [stdout] --> src/app.rs:528:12 [INFO] [stdout] | [INFO] [stdout] 528 | if app.theme_menu.themes.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `app.theme_menu.themes.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] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/app.rs:552:9 [INFO] [stdout] | [INFO] [stdout] 552 | / if self.search.input.len() > 0 { [INFO] [stdout] 553 | | if !self.search.currently_loading() { [INFO] [stdout] 554 | | let input = self.search.input.clone(); [INFO] [stdout] 555 | | self.search.current_query = input.clone(); [INFO] [stdout] ... | [INFO] [stdout] 568 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 552 ~ if self.search.input.len() > 0 [INFO] [stdout] 553 ~ && !self.search.currently_loading() { [INFO] [stdout] 554 | let input = self.search.input.clone(); [INFO] [stdout] ... [INFO] [stdout] 566 | ); [INFO] [stdout] 567 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `if let` since only the `Ok` variant of the iterator element is used [INFO] [stdout] --> src/app.rs:508:13 [INFO] [stdout] | [INFO] [stdout] 508 | / for line_result in reader.lines() { [INFO] [stdout] 509 | | if let Ok(line) = line_result { [INFO] [stdout] 510 | | let line_split: Vec<&str> = line.split(' ').collect(); [INFO] [stdout] 511 | | let maybe_theme_name = line_split.get(0); [INFO] [stdout] ... | [INFO] [stdout] 526 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: try `.flatten()` and remove the `if let` statement in the for loop [INFO] [stdout] --> src/app.rs:509:17 [INFO] [stdout] | [INFO] [stdout] 509 | / if let Ok(line) = line_result { [INFO] [stdout] 510 | | let line_split: Vec<&str> = line.split(' ').collect(); [INFO] [stdout] 511 | | let maybe_theme_name = line_split.get(0); [INFO] [stdout] 512 | | let maybe_theme_colours = line_split.get(1); [INFO] [stdout] ... | [INFO] [stdout] 525 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_flatten [INFO] [stdout] = note: `#[warn(clippy::manual_flatten)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 508 ~ for line in reader.lines().flatten() { [INFO] [stdout] 509 + let line_split: Vec<&str> = line.split(' ').collect(); [INFO] [stdout] 510 + let maybe_theme_name = line_split.get(0); [INFO] [stdout] 511 + let maybe_theme_colours = line_split.get(1); [INFO] [stdout] 512 + // if let Some(&theme_colours) = maybe_theme_colours { [INFO] [stdout] 513 + if maybe_theme_colours.is_none() { [INFO] [stdout] 514 + break; [INFO] [stdout] 515 + } [INFO] [stdout] 516 + if maybe_theme_name.is_none() { [INFO] [stdout] 517 + break; [INFO] [stdout] 518 + } [INFO] [stdout] 519 + app.theme_menu.themes.push(Theme::from_hex_string_series( [INFO] [stdout] 520 + String::from(maybe_theme_name.unwrap().to_owned()), [INFO] [stdout] 521 + String::from(maybe_theme_colours.unwrap().to_owned()), [INFO] [stdout] 522 + )); [INFO] [stdout] 523 + // } [INFO] [stdout] 524 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `line_split.get(0)` [INFO] [stdout] --> src/app.rs:511:44 [INFO] [stdout] | [INFO] [stdout] 511 | let maybe_theme_name = line_split.get(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `line_split.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: length comparison to zero [INFO] [stdout] --> src/app.rs:552:12 [INFO] [stdout] | [INFO] [stdout] 552 | if self.search.input.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.search.input.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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/app.rs:528:12 [INFO] [stdout] | [INFO] [stdout] 528 | if app.theme_menu.themes.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `app.theme_menu.themes.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] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/caching.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | / session.session_name = rand::thread_rng() [INFO] [stdout] 37 | | .sample_iter(&Alphanumeric) [INFO] [stdout] 38 | | .take(10) [INFO] [stdout] 39 | | .map(char::from) [INFO] [stdout] 40 | | .collect(); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `caching::CachingSession { session_name: rand::thread_rng() [INFO] [stdout] .sample_iter(&Alphanumeric) [INFO] [stdout] .take(10) [INFO] [stdout] .map(char::from) [INFO] [stdout] .collect(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/caching.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let mut session = Self::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: this `if` statement can be collapsed [INFO] [stdout] --> src/app.rs:552:9 [INFO] [stdout] | [INFO] [stdout] 552 | / if self.search.input.len() > 0 { [INFO] [stdout] 553 | | if !self.search.currently_loading() { [INFO] [stdout] 554 | | let input = self.search.input.clone(); [INFO] [stdout] 555 | | self.search.current_query = input.clone(); [INFO] [stdout] ... | [INFO] [stdout] 568 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 552 ~ if self.search.input.len() > 0 [INFO] [stdout] 553 ~ && !self.search.currently_loading() { [INFO] [stdout] 554 | let input = self.search.input.clone(); [INFO] [stdout] ... [INFO] [stdout] 566 | ); [INFO] [stdout] 567 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/app.rs:552:12 [INFO] [stdout] | [INFO] [stdout] 552 | if self.search.input.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.search.input.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] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/caching.rs:94:21 [INFO] [stdout] | [INFO] [stdout] 94 | 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] 94 - return None; [INFO] [stdout] 94 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/caching.rs:93:24 [INFO] [stdout] | [INFO] [stdout] 93 | if let Err(_) = file_result { [INFO] [stdout] | -------^^^^^^-------------- help: try: `if file_result.is_err()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/caching.rs:97:21 [INFO] [stdout] | [INFO] [stdout] 97 | / match serde_json::from_reader::<_, T>(reader) { [INFO] [stdout] 98 | | Ok(deserialized_object) => Some(deserialized_object), [INFO] [stdout] 99 | | Err(_) => None, [INFO] [stdout] 100 | | } [INFO] [stdout] | |_____________________^ help: replace with: `serde_json::from_reader::<_, T>(reader).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] = note: `#[warn(clippy::manual_ok_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/caching.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | / session.session_name = rand::thread_rng() [INFO] [stdout] 37 | | .sample_iter(&Alphanumeric) [INFO] [stdout] 38 | | .take(10) [INFO] [stdout] 39 | | .map(char::from) [INFO] [stdout] 40 | | .collect(); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `caching::CachingSession { session_name: rand::thread_rng() [INFO] [stdout] .sample_iter(&Alphanumeric) [INFO] [stdout] .take(10) [INFO] [stdout] .map(char::from) [INFO] [stdout] .collect(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/caching.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let mut session = Self::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: unneeded `return` statement [INFO] [stdout] --> src/caching.rs:94:21 [INFO] [stdout] | [INFO] [stdout] 94 | 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] 94 - return None; [INFO] [stdout] 94 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/caching.rs:93:24 [INFO] [stdout] | [INFO] [stdout] 93 | if let Err(_) = file_result { [INFO] [stdout] | -------^^^^^^-------------- help: try: `if file_result.is_err()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/caching.rs:97:21 [INFO] [stdout] | [INFO] [stdout] 97 | / match serde_json::from_reader::<_, T>(reader) { [INFO] [stdout] 98 | | Ok(deserialized_object) => Some(deserialized_object), [INFO] [stdout] 99 | | Err(_) => None, [INFO] [stdout] 100 | | } [INFO] [stdout] | |_____________________^ help: replace with: `serde_json::from_reader::<_, T>(reader).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] = note: `#[warn(clippy::manual_ok_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/parsing/formatted_span.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | / impl Default for FormattedSpan { [INFO] [stdout] 38 | | fn default() -> Self { [INFO] [stdout] 39 | | Self { [INFO] [stdout] 40 | | index: 0, [INFO] [stdout] ... | [INFO] [stdout] 48 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Default)] [INFO] [stdout] 7 | pub struct FormattedSpan { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/parsing/markdown_parse.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | } else if let Some(_) = image_regex.captures(line) { [INFO] [stdout] | -------^^^^^^^----------------------------- help: try: `if image_regex.captures(line).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/parsing/formatted_span.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | / impl Default for FormattedSpan { [INFO] [stdout] 38 | | fn default() -> Self { [INFO] [stdout] 39 | | Self { [INFO] [stdout] 40 | | index: 0, [INFO] [stdout] ... | [INFO] [stdout] 48 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Default)] [INFO] [stdout] 7 | pub struct FormattedSpan { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/parsing/markdown_parse.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | } else if let Some(_) = image_regex.captures(line) { [INFO] [stdout] | -------^^^^^^^----------------------------- help: try: `if image_regex.captures(line).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter(..).map(..)` can be simplified as `filter_map(..)` [INFO] [stdout] --> src/styles.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | .filter(|maybe_color| maybe_color.is_some()) [INFO] [stdout] | ______________^ [INFO] [stdout] 100 | | .map(|some_color| some_color.expect("Color parsing error")) [INFO] [stdout] | |_______________________________________________________________________^ help: try: `filter_map(|some_color| some_color)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_filter_map [INFO] [stdout] = note: `#[warn(clippy::manual_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/styles.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | / if let Ok(color) = hex_to_rgb(hex_string) { [INFO] [stdout] 94 | | Some(color) [INFO] [stdout] 95 | | } else { [INFO] [stdout] 96 | | None [INFO] [stdout] 97 | | } [INFO] [stdout] | |_________________^ help: replace with: `hex_to_rgb(hex_string).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/ui.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | if app.debug_text.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!app.debug_text.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] [INFO] [stdout] [INFO] [stdout] warning: `filter(..).map(..)` can be simplified as `filter_map(..)` [INFO] [stdout] --> src/styles.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | .filter(|maybe_color| maybe_color.is_some()) [INFO] [stdout] | ______________^ [INFO] [stdout] 100 | | .map(|some_color| some_color.expect("Color parsing error")) [INFO] [stdout] | |_______________________________________________________________________^ help: try: `filter_map(|some_color| some_color)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_filter_map [INFO] [stdout] = note: `#[warn(clippy::manual_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/styles.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | / if let Ok(color) = hex_to_rgb(hex_string) { [INFO] [stdout] 94 | | Some(color) [INFO] [stdout] 95 | | } else { [INFO] [stdout] 96 | | None [INFO] [stdout] 97 | | } [INFO] [stdout] | |_________________^ help: replace with: `hex_to_rgb(hex_string).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/ui.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | if app.debug_text.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!app.debug_text.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] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `u16` [INFO] [stdout] --> src/ui.rs:124:17 [INFO] [stdout] | [INFO] [stdout] 124 | .margin(app.config.margin.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `app.config.margin` [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: useless conversion to the same type: `u16` [INFO] [stdout] --> src/ui.rs:124:17 [INFO] [stdout] | [INFO] [stdout] 124 | .margin(app.config.margin.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `app.config.margin` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/ui.rs:183:33 [INFO] [stdout] | [INFO] [stdout] 183 | ... &search_result, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `search_result` [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/ui.rs:183:33 [INFO] [stdout] | [INFO] [stdout] 183 | ... &search_result, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `search_result` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/ui.rs:233:19 [INFO] [stdout] | [INFO] [stdout] 233 | action_items: &'a Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 233 - action_items: &'a Vec, [INFO] [stdout] 233 + action_items: &'a [ActionItem], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/ui.rs:233:19 [INFO] [stdout] | [INFO] [stdout] 233 | action_items: &'a Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 233 - action_items: &'a Vec, [INFO] [stdout] 233 + action_items: &'a [ActionItem], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/ui.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 291 | &app.theme_menu.get_options(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `app.theme_menu.get_options()` [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/ui.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 291 | &app.theme_menu.get_options(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `app.theme_menu.get_options()` [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 use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/ui.rs:356:21 [INFO] [stdout] | [INFO] [stdout] 356 | .enumerate() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] = note: `#[warn(clippy::unused_enumerate_index)]` on by default [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 356 ~ [INFO] [stdout] 357 ~ .map(|formatted_spans| -> Line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/ui.rs:361:33 [INFO] [stdout] | [INFO] [stdout] 361 | ... .enumerate() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 361 ~ [INFO] [stdout] 362 ~ .map(|formatted_span| -> Span { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/ui.rs:356:21 [INFO] [stdout] | [INFO] [stdout] 356 | .enumerate() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] = note: `#[warn(clippy::unused_enumerate_index)]` on by default [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 356 ~ [INFO] [stdout] 357 ~ .map(|formatted_spans| -> Line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/ui.rs:361:33 [INFO] [stdout] | [INFO] [stdout] 361 | ... .enumerate() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 361 ~ [INFO] [stdout] 362 ~ .map(|formatted_span| -> Span { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | return blended_value.round() as u8; [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] 54 - return blended_value.round() as u8; [INFO] [stdout] 54 + blended_value.round() as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | / return Color::Rgb( [INFO] [stdout] 63 | | blend_color_value(r1, r2, alpha), [INFO] [stdout] 64 | | blend_color_value(g1, g2, alpha), [INFO] [stdout] 65 | | blend_color_value(b1, b2, alpha), [INFO] [stdout] 66 | | ); [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] 62 ~ Color::Rgb( [INFO] [stdout] 63 + blend_color_value(r1, r2, alpha), [INFO] [stdout] 64 + blend_color_value(g1, g2, alpha), [INFO] [stdout] 65 + blend_color_value(b1, b2, alpha), [INFO] [stdout] 66 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | return base_color; [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] 69 - return base_color; [INFO] [stdout] 69 + base_color [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | return base_color; [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] 73 - return base_color; [INFO] [stdout] 73 + base_color [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | return color; [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] 100 - return color; [INFO] [stdout] 100 + color [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | return blended_value.round() as u8; [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] 54 - return blended_value.round() as u8; [INFO] [stdout] 54 + blended_value.round() as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | / return Color::Rgb( [INFO] [stdout] 63 | | blend_color_value(r1, r2, alpha), [INFO] [stdout] 64 | | blend_color_value(g1, g2, alpha), [INFO] [stdout] 65 | | blend_color_value(b1, b2, alpha), [INFO] [stdout] 66 | | ); [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] 62 ~ Color::Rgb( [INFO] [stdout] 63 + blend_color_value(r1, r2, alpha), [INFO] [stdout] 64 + blend_color_value(g1, g2, alpha), [INFO] [stdout] 65 + blend_color_value(b1, b2, alpha), [INFO] [stdout] 66 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | return base_color; [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] 69 - return base_color; [INFO] [stdout] 69 + base_color [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | return base_color; [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] 73 - return base_color; [INFO] [stdout] 73 + base_color [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | return color; [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] 100 - return color; [INFO] [stdout] 100 + color [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/utils/misc.rs:103:39 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn wrapped_iter_enumerate(vec: &Vec, start: usize) -> impl Iterator { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 103 - pub fn wrapped_iter_enumerate(vec: &Vec, start: usize) -> impl Iterator { [INFO] [stdout] 103 + pub fn wrapped_iter_enumerate(vec: &[T], start: usize) -> impl Iterator { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `splitn` [INFO] [stdout] --> src/utils/misc.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | text.splitn(2, delimiter).next().unwrap_or(&text).trim() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `text.split(delimiter)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_splitn [INFO] [stdout] = note: `#[warn(clippy::needless_splitn)]` 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/utils/misc.rs:112:48 [INFO] [stdout] | [INFO] [stdout] 112 | text.splitn(2, delimiter).next().unwrap_or(&text).trim() [INFO] [stdout] | ^^^^^ help: change this to: `text` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/utils/misc.rs:103:39 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn wrapped_iter_enumerate(vec: &Vec, start: usize) -> impl Iterator { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 103 - pub fn wrapped_iter_enumerate(vec: &Vec, start: usize) -> impl Iterator { [INFO] [stdout] 103 + pub fn wrapped_iter_enumerate(vec: &[T], start: usize) -> impl Iterator { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `splitn` [INFO] [stdout] --> src/utils/misc.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | text.splitn(2, delimiter).next().unwrap_or(&text).trim() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `text.split(delimiter)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_splitn [INFO] [stdout] = note: `#[warn(clippy::needless_splitn)]` 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/utils/misc.rs:112:48 [INFO] [stdout] | [INFO] [stdout] 112 | text.splitn(2, delimiter).next().unwrap_or(&text).trim() [INFO] [stdout] | ^^^^^ help: change this to: `text` [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 `impl` can be derived [INFO] [stdout] --> src/utils/clargs.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / impl Default for Args { [INFO] [stdout] 31 | | fn default() -> Self { [INFO] [stdout] 32 | | Self { [INFO] [stdout] 33 | | search: None, [INFO] [stdout] ... | [INFO] [stdout] 40 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 12 + #[derive(Default)] [INFO] [stdout] 13 | pub struct Args { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/utils/clargs.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | / match serde_json::from_reader::, Args>(reader) { [INFO] [stdout] 64 | | Ok(new_args) => Some(new_args), [INFO] [stdout] 65 | | Err(_) => None, [INFO] [stdout] 66 | | } [INFO] [stdout] | |_________________^ help: replace with: `serde_json::from_reader::, Args>(reader).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/utils/clargs.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / impl Default for Args { [INFO] [stdout] 31 | | fn default() -> Self { [INFO] [stdout] 32 | | Self { [INFO] [stdout] 33 | | search: None, [INFO] [stdout] ... | [INFO] [stdout] 40 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 12 + #[derive(Default)] [INFO] [stdout] 13 | pub struct Args { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/utils/clargs.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | / match serde_json::from_reader::, Args>(reader) { [INFO] [stdout] 64 | | Ok(new_args) => Some(new_args), [INFO] [stdout] 65 | | Err(_) => None, [INFO] [stdout] 66 | | } [INFO] [stdout] | |_________________^ help: replace with: `serde_json::from_reader::, Args>(reader).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/widgets/scrollbar.rs:55:28 [INFO] [stdout] | [INFO] [stdout] 55 | buf.set_string(area.x as u16, area.y + y as u16, "║", self._bar_style); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `area.x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/widgets/scrollbar.rs:55:28 [INFO] [stdout] | [INFO] [stdout] 55 | buf.set_string(area.x as u16, area.y + y as u16, "║", self._bar_style); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `area.x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/widgets/scrollbar.rs:59:28 [INFO] [stdout] | [INFO] [stdout] 59 | buf.set_string(area.x as u16, area.y + y as u16, "█", self._handle_style); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `area.x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/widgets/scrollbar.rs:59:28 [INFO] [stdout] | [INFO] [stdout] 59 | buf.set_string(area.x as u16, area.y + y as u16, "█", self._handle_style); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `area.x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/widgets/textbox.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 59 | char.to_string(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use: `char` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/widgets/textbox.rs:83:24 [INFO] [stdout] | [INFO] [stdout] 83 | if char_index as usize == self.cursor_pos { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `char_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/widgets/textbox.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 59 | char.to_string(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use: `char` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/widgets/textbox.rs:83:24 [INFO] [stdout] | [INFO] [stdout] 83 | if char_index as usize == self.cursor_pos { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `char_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wikipedia.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | return spans; [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] 53 - return spans; [INFO] [stdout] 53 + spans [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wikipedia.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | return spans; [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] 53 - return spans; [INFO] [stdout] 53 + spans [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/wikipedia.rs:118:41 [INFO] [stdout] | [INFO] [stdout] 118 | let markdown_text = match converter.convert(&html_content) { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 119 | | Ok(content) => content, [INFO] [stdout] 120 | | Err(_) => String::from(""), [INFO] [stdout] 121 | | }; [INFO] [stdout] | |_____________________^ help: replace it with: `converter.convert(&html_content).unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/wikipedia.rs:118:41 [INFO] [stdout] | [INFO] [stdout] 118 | let markdown_text = match converter.convert(&html_content) { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 119 | | Ok(content) => content, [INFO] [stdout] 120 | | Err(_) => String::from(""), [INFO] [stdout] 121 | | }; [INFO] [stdout] | |_____________________^ help: replace it with: `converter.convert(&html_content).unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wikipedia.rs:185:25 [INFO] [stdout] | [INFO] [stdout] 185 | return true; [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] 185 - return true; [INFO] [stdout] 185 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wikipedia.rs:187:25 [INFO] [stdout] | [INFO] [stdout] 187 | return false; [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 - return false; [INFO] [stdout] 187 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/wikipedia.rs:184:28 [INFO] [stdout] | [INFO] [stdout] 184 | if let Some(_) = formatted_span.link { [INFO] [stdout] | -------^^^^^^^---------------------- help: try: `if formatted_span.link.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wikipedia.rs:185:25 [INFO] [stdout] | [INFO] [stdout] 185 | return true; [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] 185 - return true; [INFO] [stdout] 185 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wikipedia.rs:187:25 [INFO] [stdout] | [INFO] [stdout] 187 | return false; [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 - return false; [INFO] [stdout] 187 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/wikipedia.rs:184:28 [INFO] [stdout] | [INFO] [stdout] 184 | if let Some(_) = formatted_span.link { [INFO] [stdout] | -------^^^^^^^---------------------- help: try: `if formatted_span.link.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/wikipedia.rs:214:34 [INFO] [stdout] | [INFO] [stdout] 214 | for (_, span) in spans.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 214 - for (_, span) in spans.iter().enumerate() { [INFO] [stdout] 214 + for span in spans.iter() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/wikipedia.rs:214:34 [INFO] [stdout] | [INFO] [stdout] 214 | for (_, span) in spans.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 214 - for (_, span) in spans.iter().enumerate() { [INFO] [stdout] 214 + for span in spans.iter() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/wikipedia.rs:228:25 [INFO] [stdout] | [INFO] [stdout] 228 | spans.retain(|span| remove_by_index[span.index] == false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!remove_by_index[span.index]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/wikipedia.rs:228:25 [INFO] [stdout] | [INFO] [stdout] 228 | spans.retain(|span| remove_by_index[span.index] == false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!remove_by_index[span.index]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::symbols::line` [INFO] [stdout] --> src/app.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use ratatui::symbols::line; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/styles.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | name: name, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/widgets/scrollbar.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | height: height, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/widgets/scrollbar.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | position: position, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/widgets/scrollbar.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | total_items: total_items, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_items` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::symbols::line` [INFO] [stdout] --> src/app.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use ratatui::symbols::line; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parsing/markdown_parse.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | index: index, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/styles.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | name: name, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/widgets/scrollbar.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | height: height, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/widgets/scrollbar.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | position: position, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/widgets/scrollbar.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | total_items: total_items, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_items` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DOWN` contains a capitalized acronym [INFO] [stdout] --> src/app.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | DOWN, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Down` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `LEFT` contains a capitalized acronym [INFO] [stdout] --> src/app.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | LEFT, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RIGHT` contains a capitalized acronym [INFO] [stdout] --> src/app.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | RIGHT, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Right` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:69:60 [INFO] [stdout] | [INFO] [stdout] 69 | fn scroll(&mut self, scroll_direction: ScrollDirection) -> () { [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] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:108:37 [INFO] [stdout] | [INFO] [stdout] 108 | fn trigger_text_focus(&mut self) -> () {} [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:110:39 [INFO] [stdout] | [INFO] [stdout] 110 | fn move_cursor_to_start(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:115:37 [INFO] [stdout] | [INFO] [stdout] 115 | fn move_cursor_to_end(&mut self) -> () { [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: this boolean expression can be simplified [INFO] [stdout] --> src/app.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | if !(self.get_cursor_pos() > self.get_input().len()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(self.get_cursor_pos() <= self.get_input().len())` [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: this `if` statement can be collapsed [INFO] [stdout] --> src/app.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | / if !(self.get_input().is_empty()) { [INFO] [stdout] 146 | | if self.get_cursor_pos() > 0 { [INFO] [stdout] 147 | | self.remove_from_input_at_cursor(); [INFO] [stdout] 148 | | self.move_cursor_one_step(CursorDirection::LEFT); [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 145 ~ if !(self.get_input().is_empty()) [INFO] [stdout] 146 ~ && self.get_cursor_pos() > 0 { [INFO] [stdout] 147 | self.remove_from_input_at_cursor(); [INFO] [stdout] 148 | self.move_cursor_one_step(CursorDirection::LEFT); [INFO] [stdout] 149 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:189:53 [INFO] [stdout] | [INFO] [stdout] 189 | fn insert_to_input_at_cursor(&mut self, c: char) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:193:46 [INFO] [stdout] | [INFO] [stdout] 193 | fn remove_from_input_at_cursor(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:203:56 [INFO] [stdout] | [INFO] [stdout] 203 | fn set_cursor_pos(&mut self, new_cursor_pos: usize) -> () { [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: length comparison to zero [INFO] [stdout] --> src/app.rs:229:16 [INFO] [stdout] | [INFO] [stdout] 229 | if results.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!results.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: manual implementation of `Option::map` [INFO] [stdout] --> src/app.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | / match self.results.lock().unwrap().get(self.selected_index) { [INFO] [stdout] 247 | | Some(result) => Some(result.title.clone()), [INFO] [stdout] 248 | | None => None, [INFO] [stdout] 249 | | } [INFO] [stdout] | |_________^ help: try: `self.results.lock().unwrap().get(self.selected_index).map(|result| result.title.clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:258:53 [INFO] [stdout] | [INFO] [stdout] 258 | fn insert_to_input_at_cursor(&mut self, c: char) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:262:46 [INFO] [stdout] | [INFO] [stdout] 262 | fn remove_from_input_at_cursor(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:272:56 [INFO] [stdout] | [INFO] [stdout] 272 | fn set_cursor_pos(&mut self, new_cursor_pos: usize) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:276:37 [INFO] [stdout] | [INFO] [stdout] 276 | fn trigger_text_focus(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:290:46 [INFO] [stdout] | [INFO] [stdout] 290 | fn set_index(&mut self, new_index: usize) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:313:46 [INFO] [stdout] | [INFO] [stdout] 313 | fn set_index(&mut self, new_index: usize) -> () { [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: unneeded `return` statement [INFO] [stdout] --> src/app.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | 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] 370 - return None; [INFO] [stdout] 370 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:402:46 [INFO] [stdout] | [INFO] [stdout] 402 | fn set_index(&mut self, new_index: usize) -> () { [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: unnecessary `if let` since only the `Ok` variant of the iterator element is used [INFO] [stdout] --> src/app.rs:508:13 [INFO] [stdout] | [INFO] [stdout] 508 | / for line_result in reader.lines() { [INFO] [stdout] 509 | | if let Ok(line) = line_result { [INFO] [stdout] 510 | | let line_split: Vec<&str> = line.split(' ').collect(); [INFO] [stdout] 511 | | let maybe_theme_name = line_split.get(0); [INFO] [stdout] ... | [INFO] [stdout] 526 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: try `.flatten()` and remove the `if let` statement in the for loop [INFO] [stdout] --> src/app.rs:509:17 [INFO] [stdout] | [INFO] [stdout] 509 | / if let Ok(line) = line_result { [INFO] [stdout] 510 | | let line_split: Vec<&str> = line.split(' ').collect(); [INFO] [stdout] 511 | | let maybe_theme_name = line_split.get(0); [INFO] [stdout] 512 | | let maybe_theme_colours = line_split.get(1); [INFO] [stdout] ... | [INFO] [stdout] 525 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_flatten [INFO] [stdout] = note: `#[warn(clippy::manual_flatten)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 508 ~ for line in reader.lines().flatten() { [INFO] [stdout] 509 + let line_split: Vec<&str> = line.split(' ').collect(); [INFO] [stdout] 510 + let maybe_theme_name = line_split.get(0); [INFO] [stdout] 511 + let maybe_theme_colours = line_split.get(1); [INFO] [stdout] 512 + // if let Some(&theme_colours) = maybe_theme_colours { [INFO] [stdout] 513 + if maybe_theme_colours.is_none() { [INFO] [stdout] 514 + break; [INFO] [stdout] 515 + } [INFO] [stdout] 516 + if maybe_theme_name.is_none() { [INFO] [stdout] 517 + break; [INFO] [stdout] 518 + } [INFO] [stdout] 519 + app.theme_menu.themes.push(Theme::from_hex_string_series( [INFO] [stdout] 520 + String::from(maybe_theme_name.unwrap().to_owned()), [INFO] [stdout] 521 + String::from(maybe_theme_colours.unwrap().to_owned()), [INFO] [stdout] 522 + )); [INFO] [stdout] 523 + // } [INFO] [stdout] 524 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `line_split.get(0)` [INFO] [stdout] --> src/app.rs:511:44 [INFO] [stdout] | [INFO] [stdout] 511 | let maybe_theme_name = line_split.get(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `line_split.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: length comparison to zero [INFO] [stdout] --> src/app.rs:528:12 [INFO] [stdout] | [INFO] [stdout] 528 | if app.theme_menu.themes.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `app.theme_menu.themes.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] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/app.rs:552:9 [INFO] [stdout] | [INFO] [stdout] 552 | / if self.search.input.len() > 0 { [INFO] [stdout] 553 | | if !self.search.currently_loading() { [INFO] [stdout] 554 | | let input = self.search.input.clone(); [INFO] [stdout] 555 | | self.search.current_query = input.clone(); [INFO] [stdout] ... | [INFO] [stdout] 568 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 552 ~ if self.search.input.len() > 0 [INFO] [stdout] 553 ~ && !self.search.currently_loading() { [INFO] [stdout] 554 | let input = self.search.input.clone(); [INFO] [stdout] ... [INFO] [stdout] 566 | ); [INFO] [stdout] 567 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/app.rs:552:12 [INFO] [stdout] | [INFO] [stdout] 552 | if self.search.input.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.search.input.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] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/caching.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | / session.session_name = rand::thread_rng() [INFO] [stdout] 37 | | .sample_iter(&Alphanumeric) [INFO] [stdout] 38 | | .take(10) [INFO] [stdout] 39 | | .map(char::from) [INFO] [stdout] 40 | | .collect(); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `caching::CachingSession { session_name: rand::thread_rng() [INFO] [stdout] .sample_iter(&Alphanumeric) [INFO] [stdout] .take(10) [INFO] [stdout] .map(char::from) [INFO] [stdout] .collect(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/caching.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let mut session = Self::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: name `DOWN` contains a capitalized acronym [INFO] [stdout] --> src/app.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | DOWN, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Down` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `LEFT` contains a capitalized acronym [INFO] [stdout] --> src/app.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | LEFT, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Left` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RIGHT` contains a capitalized acronym [INFO] [stdout] --> src/app.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | RIGHT, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Right` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:69:60 [INFO] [stdout] | [INFO] [stdout] 69 | fn scroll(&mut self, scroll_direction: ScrollDirection) -> () { [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] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/caching.rs:94:21 [INFO] [stdout] | [INFO] [stdout] 94 | 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] 94 - return None; [INFO] [stdout] 94 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:108:37 [INFO] [stdout] | [INFO] [stdout] 108 | fn trigger_text_focus(&mut self) -> () {} [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: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/caching.rs:93:24 [INFO] [stdout] | [INFO] [stdout] 93 | if let Err(_) = file_result { [INFO] [stdout] | -------^^^^^^-------------- help: try: `if file_result.is_err()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:110:39 [INFO] [stdout] | [INFO] [stdout] 110 | fn move_cursor_to_start(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:115:37 [INFO] [stdout] | [INFO] [stdout] 115 | fn move_cursor_to_end(&mut self) -> () { [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: manual implementation of `ok` [INFO] [stdout] --> src/caching.rs:97:21 [INFO] [stdout] | [INFO] [stdout] 97 | / match serde_json::from_reader::<_, T>(reader) { [INFO] [stdout] 98 | | Ok(deserialized_object) => Some(deserialized_object), [INFO] [stdout] 99 | | Err(_) => None, [INFO] [stdout] 100 | | } [INFO] [stdout] | |_____________________^ help: replace with: `serde_json::from_reader::<_, T>(reader).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] = note: `#[warn(clippy::manual_ok_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/app.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | if !(self.get_cursor_pos() > self.get_input().len()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(self.get_cursor_pos() <= self.get_input().len())` [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: this `if` statement can be collapsed [INFO] [stdout] --> src/app.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | / if !(self.get_input().is_empty()) { [INFO] [stdout] 146 | | if self.get_cursor_pos() > 0 { [INFO] [stdout] 147 | | self.remove_from_input_at_cursor(); [INFO] [stdout] 148 | | self.move_cursor_one_step(CursorDirection::LEFT); [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 145 ~ if !(self.get_input().is_empty()) [INFO] [stdout] 146 ~ && self.get_cursor_pos() > 0 { [INFO] [stdout] 147 | self.remove_from_input_at_cursor(); [INFO] [stdout] 148 | self.move_cursor_one_step(CursorDirection::LEFT); [INFO] [stdout] 149 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:189:53 [INFO] [stdout] | [INFO] [stdout] 189 | fn insert_to_input_at_cursor(&mut self, c: char) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:193:46 [INFO] [stdout] | [INFO] [stdout] 193 | fn remove_from_input_at_cursor(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:203:56 [INFO] [stdout] | [INFO] [stdout] 203 | fn set_cursor_pos(&mut self, new_cursor_pos: usize) -> () { [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: length comparison to zero [INFO] [stdout] --> src/app.rs:229:16 [INFO] [stdout] | [INFO] [stdout] 229 | if results.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!results.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: manual implementation of `Option::map` [INFO] [stdout] --> src/app.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | / match self.results.lock().unwrap().get(self.selected_index) { [INFO] [stdout] 247 | | Some(result) => Some(result.title.clone()), [INFO] [stdout] 248 | | None => None, [INFO] [stdout] 249 | | } [INFO] [stdout] | |_________^ help: try: `self.results.lock().unwrap().get(self.selected_index).map(|result| result.title.clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:258:53 [INFO] [stdout] | [INFO] [stdout] 258 | fn insert_to_input_at_cursor(&mut self, c: char) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:262:46 [INFO] [stdout] | [INFO] [stdout] 262 | fn remove_from_input_at_cursor(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:272:56 [INFO] [stdout] | [INFO] [stdout] 272 | fn set_cursor_pos(&mut self, new_cursor_pos: usize) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:276:37 [INFO] [stdout] | [INFO] [stdout] 276 | fn trigger_text_focus(&mut self) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:290:46 [INFO] [stdout] | [INFO] [stdout] 290 | fn set_index(&mut self, new_index: usize) -> () { [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: unneeded unit return type [INFO] [stdout] --> src/app.rs:313:46 [INFO] [stdout] | [INFO] [stdout] 313 | fn set_index(&mut self, new_index: usize) -> () { [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: unneeded `return` statement [INFO] [stdout] --> src/app.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | 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] 370 - return None; [INFO] [stdout] 370 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/app.rs:402:46 [INFO] [stdout] | [INFO] [stdout] 402 | fn set_index(&mut self, new_index: usize) -> () { [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: this `impl` can be derived [INFO] [stdout] --> src/parsing/formatted_span.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | / impl Default for FormattedSpan { [INFO] [stdout] 38 | | fn default() -> Self { [INFO] [stdout] 39 | | Self { [INFO] [stdout] 40 | | index: 0, [INFO] [stdout] ... | [INFO] [stdout] 48 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Default)] [INFO] [stdout] 7 | pub struct FormattedSpan { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `if let` since only the `Ok` variant of the iterator element is used [INFO] [stdout] --> src/app.rs:508:13 [INFO] [stdout] | [INFO] [stdout] 508 | / for line_result in reader.lines() { [INFO] [stdout] 509 | | if let Ok(line) = line_result { [INFO] [stdout] 510 | | let line_split: Vec<&str> = line.split(' ').collect(); [INFO] [stdout] 511 | | let maybe_theme_name = line_split.get(0); [INFO] [stdout] ... | [INFO] [stdout] 526 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: try `.flatten()` and remove the `if let` statement in the for loop [INFO] [stdout] --> src/app.rs:509:17 [INFO] [stdout] | [INFO] [stdout] 509 | / if let Ok(line) = line_result { [INFO] [stdout] 510 | | let line_split: Vec<&str> = line.split(' ').collect(); [INFO] [stdout] 511 | | let maybe_theme_name = line_split.get(0); [INFO] [stdout] 512 | | let maybe_theme_colours = line_split.get(1); [INFO] [stdout] ... | [INFO] [stdout] 525 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_flatten [INFO] [stdout] = note: `#[warn(clippy::manual_flatten)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 508 ~ for line in reader.lines().flatten() { [INFO] [stdout] 509 + let line_split: Vec<&str> = line.split(' ').collect(); [INFO] [stdout] 510 + let maybe_theme_name = line_split.get(0); [INFO] [stdout] 511 + let maybe_theme_colours = line_split.get(1); [INFO] [stdout] 512 + // if let Some(&theme_colours) = maybe_theme_colours { [INFO] [stdout] 513 + if maybe_theme_colours.is_none() { [INFO] [stdout] 514 + break; [INFO] [stdout] 515 + } [INFO] [stdout] 516 + if maybe_theme_name.is_none() { [INFO] [stdout] 517 + break; [INFO] [stdout] 518 + } [INFO] [stdout] 519 + app.theme_menu.themes.push(Theme::from_hex_string_series( [INFO] [stdout] 520 + String::from(maybe_theme_name.unwrap().to_owned()), [INFO] [stdout] 521 + String::from(maybe_theme_colours.unwrap().to_owned()), [INFO] [stdout] 522 + )); [INFO] [stdout] 523 + // } [INFO] [stdout] 524 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `line_split.get(0)` [INFO] [stdout] --> src/app.rs:511:44 [INFO] [stdout] | [INFO] [stdout] 511 | let maybe_theme_name = line_split.get(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `line_split.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: length comparison to zero [INFO] [stdout] --> src/app.rs:528:12 [INFO] [stdout] | [INFO] [stdout] 528 | if app.theme_menu.themes.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `app.theme_menu.themes.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] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/parsing/markdown_parse.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | } else if let Some(_) = image_regex.captures(line) { [INFO] [stdout] | -------^^^^^^^----------------------------- help: try: `if image_regex.captures(line).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/app.rs:552:9 [INFO] [stdout] | [INFO] [stdout] 552 | / if self.search.input.len() > 0 { [INFO] [stdout] 553 | | if !self.search.currently_loading() { [INFO] [stdout] 554 | | let input = self.search.input.clone(); [INFO] [stdout] 555 | | self.search.current_query = input.clone(); [INFO] [stdout] ... | [INFO] [stdout] 568 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 552 ~ if self.search.input.len() > 0 [INFO] [stdout] 553 ~ && !self.search.currently_loading() { [INFO] [stdout] 554 | let input = self.search.input.clone(); [INFO] [stdout] ... [INFO] [stdout] 566 | ); [INFO] [stdout] 567 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/app.rs:552:12 [INFO] [stdout] | [INFO] [stdout] 552 | if self.search.input.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!self.search.input.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] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/caching.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | / session.session_name = rand::thread_rng() [INFO] [stdout] 37 | | .sample_iter(&Alphanumeric) [INFO] [stdout] 38 | | .take(10) [INFO] [stdout] 39 | | .map(char::from) [INFO] [stdout] 40 | | .collect(); [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `caching::CachingSession { session_name: rand::thread_rng() [INFO] [stdout] .sample_iter(&Alphanumeric) [INFO] [stdout] .take(10) [INFO] [stdout] .map(char::from) [INFO] [stdout] .collect(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/caching.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let mut session = Self::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: unneeded `return` statement [INFO] [stdout] --> src/caching.rs:94:21 [INFO] [stdout] | [INFO] [stdout] 94 | 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] 94 - return None; [INFO] [stdout] 94 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/caching.rs:93:24 [INFO] [stdout] | [INFO] [stdout] 93 | if let Err(_) = file_result { [INFO] [stdout] | -------^^^^^^-------------- help: try: `if file_result.is_err()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/caching.rs:97:21 [INFO] [stdout] | [INFO] [stdout] 97 | / match serde_json::from_reader::<_, T>(reader) { [INFO] [stdout] 98 | | Ok(deserialized_object) => Some(deserialized_object), [INFO] [stdout] 99 | | Err(_) => None, [INFO] [stdout] 100 | | } [INFO] [stdout] | |_____________________^ help: replace with: `serde_json::from_reader::<_, T>(reader).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] = note: `#[warn(clippy::manual_ok_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter(..).map(..)` can be simplified as `filter_map(..)` [INFO] [stdout] --> src/styles.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | .filter(|maybe_color| maybe_color.is_some()) [INFO] [stdout] | ______________^ [INFO] [stdout] 100 | | .map(|some_color| some_color.expect("Color parsing error")) [INFO] [stdout] | |_______________________________________________________________________^ help: try: `filter_map(|some_color| some_color)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_filter_map [INFO] [stdout] = note: `#[warn(clippy::manual_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/styles.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | / if let Ok(color) = hex_to_rgb(hex_string) { [INFO] [stdout] 94 | | Some(color) [INFO] [stdout] 95 | | } else { [INFO] [stdout] 96 | | None [INFO] [stdout] 97 | | } [INFO] [stdout] | |_________________^ help: replace with: `hex_to_rgb(hex_string).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/ui.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | if app.debug_text.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!app.debug_text.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] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `u16` [INFO] [stdout] --> src/ui.rs:124:17 [INFO] [stdout] | [INFO] [stdout] 124 | .margin(app.config.margin.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `app.config.margin` [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: this `impl` can be derived [INFO] [stdout] --> src/parsing/formatted_span.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | / impl Default for FormattedSpan { [INFO] [stdout] 38 | | fn default() -> Self { [INFO] [stdout] 39 | | Self { [INFO] [stdout] 40 | | index: 0, [INFO] [stdout] ... | [INFO] [stdout] 48 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Default)] [INFO] [stdout] 7 | pub struct FormattedSpan { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/parsing/markdown_parse.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | } else if let Some(_) = image_regex.captures(line) { [INFO] [stdout] | -------^^^^^^^----------------------------- help: try: `if image_regex.captures(line).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/ui.rs:183:33 [INFO] [stdout] | [INFO] [stdout] 183 | ... &search_result, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `search_result` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/ui.rs:233:19 [INFO] [stdout] | [INFO] [stdout] 233 | action_items: &'a Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 233 - action_items: &'a Vec, [INFO] [stdout] 233 + action_items: &'a [ActionItem], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/ui.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 291 | &app.theme_menu.get_options(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `app.theme_menu.get_options()` [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 use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/ui.rs:356:21 [INFO] [stdout] | [INFO] [stdout] 356 | .enumerate() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] = note: `#[warn(clippy::unused_enumerate_index)]` on by default [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 356 ~ [INFO] [stdout] 357 ~ .map(|formatted_spans| -> Line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/ui.rs:361:33 [INFO] [stdout] | [INFO] [stdout] 361 | ... .enumerate() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 361 ~ [INFO] [stdout] 362 ~ .map(|formatted_span| -> Span { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | return blended_value.round() as u8; [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] 54 - return blended_value.round() as u8; [INFO] [stdout] 54 + blended_value.round() as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | / return Color::Rgb( [INFO] [stdout] 63 | | blend_color_value(r1, r2, alpha), [INFO] [stdout] 64 | | blend_color_value(g1, g2, alpha), [INFO] [stdout] 65 | | blend_color_value(b1, b2, alpha), [INFO] [stdout] 66 | | ); [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] 62 ~ Color::Rgb( [INFO] [stdout] 63 + blend_color_value(r1, r2, alpha), [INFO] [stdout] 64 + blend_color_value(g1, g2, alpha), [INFO] [stdout] 65 + blend_color_value(b1, b2, alpha), [INFO] [stdout] 66 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | return base_color; [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] 69 - return base_color; [INFO] [stdout] 69 + base_color [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | return base_color; [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] 73 - return base_color; [INFO] [stdout] 73 + base_color [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | return color; [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] 100 - return color; [INFO] [stdout] 100 + color [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter(..).map(..)` can be simplified as `filter_map(..)` [INFO] [stdout] --> src/styles.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | .filter(|maybe_color| maybe_color.is_some()) [INFO] [stdout] | ______________^ [INFO] [stdout] 100 | | .map(|some_color| some_color.expect("Color parsing error")) [INFO] [stdout] | |_______________________________________________________________________^ help: try: `filter_map(|some_color| some_color)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_filter_map [INFO] [stdout] = note: `#[warn(clippy::manual_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/utils/misc.rs:103:39 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn wrapped_iter_enumerate(vec: &Vec, start: usize) -> impl Iterator { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 103 - pub fn wrapped_iter_enumerate(vec: &Vec, start: usize) -> impl Iterator { [INFO] [stdout] 103 + pub fn wrapped_iter_enumerate(vec: &[T], start: usize) -> impl Iterator { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/styles.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | / if let Ok(color) = hex_to_rgb(hex_string) { [INFO] [stdout] 94 | | Some(color) [INFO] [stdout] 95 | | } else { [INFO] [stdout] 96 | | None [INFO] [stdout] 97 | | } [INFO] [stdout] | |_________________^ help: replace with: `hex_to_rgb(hex_string).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `splitn` [INFO] [stdout] --> src/utils/misc.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | text.splitn(2, delimiter).next().unwrap_or(&text).trim() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `text.split(delimiter)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_splitn [INFO] [stdout] = note: `#[warn(clippy::needless_splitn)]` 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/utils/misc.rs:112:48 [INFO] [stdout] | [INFO] [stdout] 112 | text.splitn(2, delimiter).next().unwrap_or(&text).trim() [INFO] [stdout] | ^^^^^ help: change this to: `text` [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: length comparison to zero [INFO] [stdout] --> src/ui.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | if app.debug_text.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!app.debug_text.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] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `u16` [INFO] [stdout] --> src/ui.rs:124:17 [INFO] [stdout] | [INFO] [stdout] 124 | .margin(app.config.margin.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `app.config.margin` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/ui.rs:183:33 [INFO] [stdout] | [INFO] [stdout] 183 | ... &search_result, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `search_result` [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: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/ui.rs:233:19 [INFO] [stdout] | [INFO] [stdout] 233 | action_items: &'a Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 233 - action_items: &'a Vec, [INFO] [stdout] 233 + action_items: &'a [ActionItem], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/ui.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 291 | &app.theme_menu.get_options(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `app.theme_menu.get_options()` [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 use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/ui.rs:356:21 [INFO] [stdout] | [INFO] [stdout] 356 | .enumerate() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] = note: `#[warn(clippy::unused_enumerate_index)]` on by default [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 356 ~ [INFO] [stdout] 357 ~ .map(|formatted_spans| -> Line { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/ui.rs:361:33 [INFO] [stdout] | [INFO] [stdout] 361 | ... .enumerate() [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 361 ~ [INFO] [stdout] 362 ~ .map(|formatted_span| -> Span { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/utils/clargs.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / impl Default for Args { [INFO] [stdout] 31 | | fn default() -> Self { [INFO] [stdout] 32 | | Self { [INFO] [stdout] 33 | | search: None, [INFO] [stdout] ... | [INFO] [stdout] 40 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 12 + #[derive(Default)] [INFO] [stdout] 13 | pub struct Args { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/utils/clargs.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | / match serde_json::from_reader::, Args>(reader) { [INFO] [stdout] 64 | | Ok(new_args) => Some(new_args), [INFO] [stdout] 65 | | Err(_) => None, [INFO] [stdout] 66 | | } [INFO] [stdout] | |_________________^ help: replace with: `serde_json::from_reader::, Args>(reader).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | return blended_value.round() as u8; [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] 54 - return blended_value.round() as u8; [INFO] [stdout] 54 + blended_value.round() as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | / return Color::Rgb( [INFO] [stdout] 63 | | blend_color_value(r1, r2, alpha), [INFO] [stdout] 64 | | blend_color_value(g1, g2, alpha), [INFO] [stdout] 65 | | blend_color_value(b1, b2, alpha), [INFO] [stdout] 66 | | ); [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] 62 ~ Color::Rgb( [INFO] [stdout] 63 + blend_color_value(r1, r2, alpha), [INFO] [stdout] 64 + blend_color_value(g1, g2, alpha), [INFO] [stdout] 65 + blend_color_value(b1, b2, alpha), [INFO] [stdout] 66 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | return base_color; [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] 69 - return base_color; [INFO] [stdout] 69 + base_color [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | return base_color; [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] 73 - return base_color; [INFO] [stdout] 73 + base_color [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/misc.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | return color; [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] 100 - return color; [INFO] [stdout] 100 + color [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/utils/misc.rs:103:39 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn wrapped_iter_enumerate(vec: &Vec, start: usize) -> impl Iterator { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 103 - pub fn wrapped_iter_enumerate(vec: &Vec, start: usize) -> impl Iterator { [INFO] [stdout] 103 + pub fn wrapped_iter_enumerate(vec: &[T], start: usize) -> impl Iterator { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `splitn` [INFO] [stdout] --> src/utils/misc.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | text.splitn(2, delimiter).next().unwrap_or(&text).trim() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `text.split(delimiter)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_splitn [INFO] [stdout] = note: `#[warn(clippy::needless_splitn)]` 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/utils/misc.rs:112:48 [INFO] [stdout] | [INFO] [stdout] 112 | text.splitn(2, delimiter).next().unwrap_or(&text).trim() [INFO] [stdout] | ^^^^^ help: change this to: `text` [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: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/widgets/scrollbar.rs:55:28 [INFO] [stdout] | [INFO] [stdout] 55 | buf.set_string(area.x as u16, area.y + y as u16, "║", self._bar_style); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `area.x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/widgets/scrollbar.rs:59:28 [INFO] [stdout] | [INFO] [stdout] 59 | buf.set_string(area.x as u16, area.y + y as u16, "█", self._handle_style); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `area.x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/widgets/textbox.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 59 | char.to_string(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use: `char` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/widgets/textbox.rs:83:24 [INFO] [stdout] | [INFO] [stdout] 83 | if char_index as usize == self.cursor_pos { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `char_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wikipedia.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | return spans; [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] 53 - return spans; [INFO] [stdout] 53 + spans [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/utils/clargs.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / impl Default for Args { [INFO] [stdout] 31 | | fn default() -> Self { [INFO] [stdout] 32 | | Self { [INFO] [stdout] 33 | | search: None, [INFO] [stdout] ... | [INFO] [stdout] 40 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 12 + #[derive(Default)] [INFO] [stdout] 13 | pub struct Args { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `ok` [INFO] [stdout] --> src/utils/clargs.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | / match serde_json::from_reader::, Args>(reader) { [INFO] [stdout] 64 | | Ok(new_args) => Some(new_args), [INFO] [stdout] 65 | | Err(_) => None, [INFO] [stdout] 66 | | } [INFO] [stdout] | |_________________^ help: replace with: `serde_json::from_reader::, Args>(reader).ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/widgets/scrollbar.rs:55:28 [INFO] [stdout] | [INFO] [stdout] 55 | buf.set_string(area.x as u16, area.y + y as u16, "║", self._bar_style); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `area.x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/widgets/scrollbar.rs:59:28 [INFO] [stdout] | [INFO] [stdout] 59 | buf.set_string(area.x as u16, area.y + y as u16, "█", self._handle_style); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `area.x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/wikipedia.rs:118:41 [INFO] [stdout] | [INFO] [stdout] 118 | let markdown_text = match converter.convert(&html_content) { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 119 | | Ok(content) => content, [INFO] [stdout] 120 | | Err(_) => String::from(""), [INFO] [stdout] 121 | | }; [INFO] [stdout] | |_____________________^ help: replace it with: `converter.convert(&html_content).unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/widgets/textbox.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 59 | char.to_string(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use: `char` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/widgets/textbox.rs:83:24 [INFO] [stdout] | [INFO] [stdout] 83 | if char_index as usize == self.cursor_pos { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `char_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wikipedia.rs:185:25 [INFO] [stdout] | [INFO] [stdout] 185 | return true; [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] 185 - return true; [INFO] [stdout] 185 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wikipedia.rs:187:25 [INFO] [stdout] | [INFO] [stdout] 187 | return false; [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 - return false; [INFO] [stdout] 187 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/wikipedia.rs:184:28 [INFO] [stdout] | [INFO] [stdout] 184 | if let Some(_) = formatted_span.link { [INFO] [stdout] | -------^^^^^^^---------------------- help: try: `if formatted_span.link.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/wikipedia.rs:214:34 [INFO] [stdout] | [INFO] [stdout] 214 | for (_, span) in spans.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 214 - for (_, span) in spans.iter().enumerate() { [INFO] [stdout] 214 + for span in spans.iter() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/wikipedia.rs:228:25 [INFO] [stdout] | [INFO] [stdout] 228 | spans.retain(|span| remove_by_index[span.index] == false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!remove_by_index[span.index]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wikipedia.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | return spans; [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] 53 - return spans; [INFO] [stdout] 53 + spans [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | return Ok((width, height)); [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] 279 - return Ok((width, height)); [INFO] [stdout] 279 + Ok((width, height)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/wikipedia.rs:118:41 [INFO] [stdout] | [INFO] [stdout] 118 | let markdown_text = match converter.convert(&html_content) { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 119 | | Ok(content) => content, [INFO] [stdout] 120 | | Err(_) => String::from(""), [INFO] [stdout] 121 | | }; [INFO] [stdout] | |_____________________^ help: replace it with: `converter.convert(&html_content).unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wikipedia.rs:185:25 [INFO] [stdout] | [INFO] [stdout] 185 | return true; [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] 185 - return true; [INFO] [stdout] 185 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/wikipedia.rs:187:25 [INFO] [stdout] | [INFO] [stdout] 187 | return false; [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 - return false; [INFO] [stdout] 187 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> src/wikipedia.rs:184:28 [INFO] [stdout] | [INFO] [stdout] 184 | if let Some(_) = formatted_span.link { [INFO] [stdout] | -------^^^^^^^---------------------- help: try: `if formatted_span.link.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/wikipedia.rs:214:34 [INFO] [stdout] | [INFO] [stdout] 214 | for (_, span) in spans.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 214 - for (_, span) in spans.iter().enumerate() { [INFO] [stdout] 214 + for span in spans.iter() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/wikipedia.rs:228:25 [INFO] [stdout] | [INFO] [stdout] 228 | spans.retain(|span| remove_by_index[span.index] == false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!remove_by_index[span.index]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | return Ok((width, height)); [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] 279 - return Ok((width, height)); [INFO] [stdout] 279 + Ok((width, height)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.09s [INFO] running `Command { std: "docker" "inspect" "c0236a2963dfe14609ced251dd89e6db1852005702733f58c123eeaee39df3f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c0236a2963dfe14609ced251dd89e6db1852005702733f58c123eeaee39df3f4", kill_on_drop: false }` [INFO] [stdout] c0236a2963dfe14609ced251dd89e6db1852005702733f58c123eeaee39df3f4