[INFO] cloning repository https://github.com/codebender828/redis-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/codebender828/redis-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodebender828%2Fredis-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodebender828%2Fredis-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 996777871673b39c02520e07e56a56bd9eeb8698 [INFO] linting codebender828/redis-rs against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodebender828%2Fredis-rs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/codebender828/redis-rs [INFO] finished tweaking git repo https://github.com/codebender828/redis-rs [INFO] tweaked toml for git repo https://github.com/codebender828/redis-rs written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/codebender828/redis-rs 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/codebender828/redis-rs 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] Downloading crates ... [INFO] [stderr] Downloaded tokio-macros v2.3.0 [INFO] [stderr] Downloaded syn v2.0.69 [INFO] [stderr] Downloaded cc v1.0.105 [INFO] [stderr] Downloaded object v0.36.1 [INFO] [stderr] Downloaded tokio v1.38.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] ba0a55452eaee5c298f13cff749a24d3693e544e14f00623b9bf6c4b8a0811e5 [INFO] running `Command { std: "docker" "start" "-a" "ba0a55452eaee5c298f13cff749a24d3693e544e14f00623b9bf6c4b8a0811e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ba0a55452eaee5c298f13cff749a24d3693e544e14f00623b9bf6c4b8a0811e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ba0a55452eaee5c298f13cff749a24d3693e544e14f00623b9bf6c4b8a0811e5", kill_on_drop: false }` [INFO] [stdout] ba0a55452eaee5c298f13cff749a24d3693e544e14f00623b9bf6c4b8a0811e5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 60daee55752eb33fd8b764b1b6992abbc5add1c0923e39be044ed3cc41b3049b [INFO] running `Command { std: "docker" "start" "-a" "60daee55752eb33fd8b764b1b6992abbc5add1c0923e39be044ed3cc41b3049b", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Checking anstyle-parse v0.2.5 [INFO] [stderr] Checking colorchoice v1.0.2 [INFO] [stderr] Checking anstyle-query v1.1.1 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Compiling thiserror v1.0.61 [INFO] [stderr] Checking bytes v1.6.0 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Checking anstream v0.6.15 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Compiling syn v2.0.69 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking dashmap v6.0.1 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking env_filter v0.1.2 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Compiling tokio-macros v2.3.0 [INFO] [stderr] Checking env_logger v0.11.5 [INFO] [stderr] Checking tokio v1.38.0 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking nanoid v0.4.0 [INFO] [stderr] Checking redis-starter-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/database.rs:512:3 [INFO] [stdout] | [INFO] [stdout] 512 | / /// This function is responsible for processing all database entries [INFO] [stdout] 513 | | [INFO] [stdout] | |_^ [INFO] [stdout] 514 | pub fn process_entries( [INFO] [stdout] | ---------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/database.rs:512:3 [INFO] [stdout] | [INFO] [stdout] 512 | / /// This function is responsible for processing all database entries [INFO] [stdout] 513 | | [INFO] [stdout] | |_^ [INFO] [stdout] 514 | pub fn process_entries( [INFO] [stdout] | ---------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | return Err("Invalid ECHO command format".to_string()); [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] 45 - return Err("Invalid ECHO command format".to_string()); [INFO] [stdout] 45 + Err("Invalid ECHO command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | return Err("Invalid PING command format".to_string()); [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] 52 - return Err("Invalid PING command format".to_string()); [INFO] [stdout] 52 + Err("Invalid PING command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | return Err("Invalid SET command format".to_string()); [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 - return Err("Invalid SET command format".to_string()); [INFO] [stdout] 62 + Err("Invalid SET command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | return Err("Invalid SET command format: value not provided".to_string()); [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] 64 - return Err("Invalid SET command format: value not provided".to_string()); [INFO] [stdout] 64 + Err("Invalid SET command format: value not provided".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:94:11 [INFO] [stdout] | [INFO] [stdout] 94 | return Err("Invalid SET command format: Unknown optional parameters".to_string()); [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 Err("Invalid SET command format: Unknown optional parameters".to_string()); [INFO] [stdout] 94 + Err("Invalid SET command format: Unknown optional parameters".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:101:11 [INFO] [stdout] | [INFO] [stdout] 101 | return Err("Invalid GET command format".to_string()); [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] 101 - return Err("Invalid GET command format".to_string()); [INFO] [stdout] 101 + Err("Invalid GET command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:103:11 [INFO] [stdout] | [INFO] [stdout] 103 | return Err("Invalid GET command format: key not provided".to_string()); [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] 103 - return Err("Invalid GET command format: key not provided".to_string()); [INFO] [stdout] 103 + Err("Invalid GET command format: key not provided".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | return Err("Invalid CONFIG GET command format".to_string()); [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] 111 - return Err("Invalid CONFIG GET command format".to_string()); [INFO] [stdout] 111 + Err("Invalid CONFIG GET command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | return Err("Invalid KEYS command format".to_string()); [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] 118 - return Err("Invalid KEYS command format".to_string()); [INFO] [stdout] 118 + Err("Invalid KEYS command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | return Err("Invalid INFO command format".to_string()); [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] 131 - return Err("Invalid INFO command format".to_string()); [INFO] [stdout] 131 + Err("Invalid INFO command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `parts` [INFO] [stdout] --> src/parser.rs:76:20 [INFO] [stdout] | [INFO] [stdout] 76 | for i in 8..parts.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 76 - for i in 8..parts.len() { [INFO] [stdout] 76 + for in parts.iter().skip(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/parser.rs:80:38 [INFO] [stdout] | [INFO] [stdout] 80 | let options: Vec = optional_args [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 81 | | .iter() [INFO] [stdout] 82 | | .filter(|s| !s.starts_with("$")) [INFO] [stdout] 83 | | .map(|f| f.clone()) [INFO] [stdout] | |_______________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 80 ~ let options: Vec = optional_args [INFO] [stdout] 81 + .iter() [INFO] [stdout] 82 + .filter(|s| !s.starts_with("$")).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Storage` [INFO] [stdout] --> src/storage.rs:29:3 [INFO] [stdout] | [INFO] [stdout] 29 | / pub fn new() -> Self { [INFO] [stdout] 30 | | Self { [INFO] [stdout] 31 | | storage: DashMap::new(), [INFO] [stdout] 32 | | } [INFO] [stdout] 33 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 27 + impl Default for Storage { [INFO] [stdout] 28 + fn default() -> Self { [INFO] [stdout] 29 + Self::new() [INFO] [stdout] 30 + } [INFO] [stdout] 31 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/storage.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | "" => return vec![], [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] 105 - "" => return vec![], [INFO] [stdout] 105 + "" => vec![], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/storage.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | / return self [INFO] [stdout] 108 | | .storage [INFO] [stdout] 109 | | .iter() [INFO] [stdout] 110 | | .map(|entry| entry.key().clone()) [INFO] [stdout] 111 | | .collect(); [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] 107 ~ self [INFO] [stdout] 108 + .storage [INFO] [stdout] 109 + .iter() [INFO] [stdout] 110 + .map(|entry| entry.key().clone()) [INFO] [stdout] 111 ~ .collect() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/storage.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | / return self [INFO] [stdout] 115 | | .storage [INFO] [stdout] 116 | | .iter() [INFO] [stdout] 117 | | .filter_map(|entry| { [INFO] [stdout] ... | [INFO] [stdout] 123 | | }) [INFO] [stdout] 124 | | .collect(); [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] 114 ~ self [INFO] [stdout] 115 + .storage [INFO] [stdout] 116 + .iter() [INFO] [stdout] 117 + .filter_map(|entry| { [INFO] [stdout] 118 + if entry.key().contains(pattern) { [INFO] [stdout] 119 + Some(entry.key().clone()) [INFO] [stdout] 120 + } else { [INFO] [stdout] 121 + None [INFO] [stdout] 122 + } [INFO] [stdout] 123 + }) [INFO] [stdout] 124 ~ .collect() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Config` [INFO] [stdout] --> src/config.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 8 | / pub fn new() -> Self { [INFO] [stdout] 9 | | Self { [INFO] [stdout] 10 | | config: DashMap::new(), [INFO] [stdout] 11 | | } [INFO] [stdout] 12 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 7 + impl Default for Config { [INFO] [stdout] 8 + fn default() -> Self { [INFO] [stdout] 9 + Self::new() [INFO] [stdout] 10 + } [INFO] [stdout] 11 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | return Err("Invalid ECHO command format".to_string()); [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] 45 - return Err("Invalid ECHO command format".to_string()); [INFO] [stdout] 45 + Err("Invalid ECHO command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | return Err("Invalid PING command format".to_string()); [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] 52 - return Err("Invalid PING command format".to_string()); [INFO] [stdout] 52 + Err("Invalid PING command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | return Err("Invalid SET command format".to_string()); [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 - return Err("Invalid SET command format".to_string()); [INFO] [stdout] 62 + Err("Invalid SET command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | return Err("Invalid SET command format: value not provided".to_string()); [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] 64 - return Err("Invalid SET command format: value not provided".to_string()); [INFO] [stdout] 64 + Err("Invalid SET command format: value not provided".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:94:11 [INFO] [stdout] | [INFO] [stdout] 94 | return Err("Invalid SET command format: Unknown optional parameters".to_string()); [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 Err("Invalid SET command format: Unknown optional parameters".to_string()); [INFO] [stdout] 94 + Err("Invalid SET command format: Unknown optional parameters".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:101:11 [INFO] [stdout] | [INFO] [stdout] 101 | return Err("Invalid GET command format".to_string()); [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] 101 - return Err("Invalid GET command format".to_string()); [INFO] [stdout] 101 + Err("Invalid GET command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:103:11 [INFO] [stdout] | [INFO] [stdout] 103 | return Err("Invalid GET command format: key not provided".to_string()); [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] 103 - return Err("Invalid GET command format: key not provided".to_string()); [INFO] [stdout] 103 + Err("Invalid GET command format: key not provided".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | return Err("Invalid CONFIG GET command format".to_string()); [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] 111 - return Err("Invalid CONFIG GET command format".to_string()); [INFO] [stdout] 111 + Err("Invalid CONFIG GET command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | return Err("Invalid KEYS command format".to_string()); [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] 118 - return Err("Invalid KEYS command format".to_string()); [INFO] [stdout] 118 + Err("Invalid KEYS command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/parser.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | return Err("Invalid INFO command format".to_string()); [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] 131 - return Err("Invalid INFO command format".to_string()); [INFO] [stdout] 131 + Err("Invalid INFO command format".to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `parts` [INFO] [stdout] --> src/parser.rs:76:20 [INFO] [stdout] | [INFO] [stdout] 76 | for i in 8..parts.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 76 - for i in 8..parts.len() { [INFO] [stdout] 76 + for in parts.iter().skip(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/parser.rs:80:38 [INFO] [stdout] | [INFO] [stdout] 80 | let options: Vec = optional_args [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 81 | | .iter() [INFO] [stdout] 82 | | .filter(|s| !s.starts_with("$")) [INFO] [stdout] 83 | | .map(|f| f.clone()) [INFO] [stdout] | |_______________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 80 ~ let options: Vec = optional_args [INFO] [stdout] 81 + .iter() [INFO] [stdout] 82 + .filter(|s| !s.starts_with("$")).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Storage` [INFO] [stdout] --> src/storage.rs:29:3 [INFO] [stdout] | [INFO] [stdout] 29 | / pub fn new() -> Self { [INFO] [stdout] 30 | | Self { [INFO] [stdout] 31 | | storage: DashMap::new(), [INFO] [stdout] 32 | | } [INFO] [stdout] 33 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 27 + impl Default for Storage { [INFO] [stdout] 28 + fn default() -> Self { [INFO] [stdout] 29 + Self::new() [INFO] [stdout] 30 + } [INFO] [stdout] 31 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/storage.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | "" => return vec![], [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] 105 - "" => return vec![], [INFO] [stdout] 105 + "" => vec![], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/storage.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | / return self [INFO] [stdout] 108 | | .storage [INFO] [stdout] 109 | | .iter() [INFO] [stdout] 110 | | .map(|entry| entry.key().clone()) [INFO] [stdout] 111 | | .collect(); [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] 107 ~ self [INFO] [stdout] 108 + .storage [INFO] [stdout] 109 + .iter() [INFO] [stdout] 110 + .map(|entry| entry.key().clone()) [INFO] [stdout] 111 ~ .collect() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/storage.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | / return self [INFO] [stdout] 115 | | .storage [INFO] [stdout] 116 | | .iter() [INFO] [stdout] 117 | | .filter_map(|entry| { [INFO] [stdout] ... | [INFO] [stdout] 123 | | }) [INFO] [stdout] 124 | | .collect(); [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] 114 ~ self [INFO] [stdout] 115 + .storage [INFO] [stdout] 116 + .iter() [INFO] [stdout] 117 + .filter_map(|entry| { [INFO] [stdout] 118 + if entry.key().contains(pattern) { [INFO] [stdout] 119 + Some(entry.key().clone()) [INFO] [stdout] 120 + } else { [INFO] [stdout] 121 + None [INFO] [stdout] 122 + } [INFO] [stdout] 123 + }) [INFO] [stdout] 124 ~ .collect() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: some ranges overlap [INFO] [stdout] --> src/database.rs:261:7 [INFO] [stdout] | [INFO] [stdout] 261 | 0xC0 => Ok((2, data[1] as i64)), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: overlaps with this [INFO] [stdout] --> src/database.rs:295:7 [INFO] [stdout] | [INFO] [stdout] 295 | 192..=223 => Ok((1, (first_byte & 0x3f) as i64)), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_overlapping_arm [INFO] [stdout] = note: `#[warn(clippy::match_overlapping_arm)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Config` [INFO] [stdout] --> src/config.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 8 | / pub fn new() -> Self { [INFO] [stdout] 9 | | Self { [INFO] [stdout] 10 | | config: DashMap::new(), [INFO] [stdout] 11 | | } [INFO] [stdout] 12 | | } [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 7 + impl Default for Config { [INFO] [stdout] 8 + fn default() -> Self { [INFO] [stdout] 9 + Self::new() [INFO] [stdout] 10 + } [INFO] [stdout] 11 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/database.rs:362:10 [INFO] [stdout] | [INFO] [stdout] 362 | if (data[index] >= 0xC0 && data[index] <= 0xC3) || (data[index] >= 192 && data[index] <= 223) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 362 - if (data[index] >= 0xC0 && data[index] <= 0xC3) || (data[index] >= 192 && data[index] <= 223) [INFO] [stdout] 362 + if !(data[index] < 0xC0 || data[index] > 0xC3 && data[index] > 223) [INFO] [stdout] | [INFO] [stdout] 362 - if (data[index] >= 0xC0 && data[index] <= 0xC3) || (data[index] >= 192 && data[index] <= 223) [INFO] [stdout] 362 + if (data[index] <= 223 || data[index] <= 0xC3) && data[index] >= 0xC0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this OR pattern can be rewritten using a range [INFO] [stdout] --> src/database.rs:470:7 [INFO] [stdout] | [INFO] [stdout] 470 | 9 | 10 | 11 | 12 => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `9..=12` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_patterns [INFO] [stdout] = note: `#[warn(clippy::manual_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/database.rs:517:8 [INFO] [stdout] | [INFO] [stdout] 517 | ) -> Result<(Vec<(Vec, Vec)>, Vec<(Vec, Vec, SystemTime)>), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> src/main.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | / match argument.as_str() { [INFO] [stdout] 40 | | "--port" => { [INFO] [stdout] 41 | | println!("Port: {}", argument_value); [INFO] [stdout] 42 | | port = argument_value.clone(); [INFO] [stdout] 43 | | } [INFO] [stdout] 44 | | _ => {} [INFO] [stdout] 45 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 39 ~ if argument.as_str() == "--port" { [INFO] [stdout] 40 + println!("Port: {}", argument_value); [INFO] [stdout] 41 + port = argument_value.clone(); [INFO] [stdout] 42 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: some ranges overlap [INFO] [stdout] --> src/database.rs:261:7 [INFO] [stdout] | [INFO] [stdout] 261 | 0xC0 => Ok((2, data[1] as i64)), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: overlaps with this [INFO] [stdout] --> src/database.rs:295:7 [INFO] [stdout] | [INFO] [stdout] 295 | 192..=223 => Ok((1, (first_byte & 0x3f) as i64)), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_overlapping_arm [INFO] [stdout] = note: `#[warn(clippy::match_overlapping_arm)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/database.rs:362:10 [INFO] [stdout] | [INFO] [stdout] 362 | if (data[index] >= 0xC0 && data[index] <= 0xC3) || (data[index] >= 192 && data[index] <= 223) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 362 - if (data[index] >= 0xC0 && data[index] <= 0xC3) || (data[index] >= 192 && data[index] <= 223) [INFO] [stdout] 362 + if !(data[index] < 0xC0 || data[index] > 0xC3 && data[index] > 223) [INFO] [stdout] | [INFO] [stdout] 362 - if (data[index] >= 0xC0 && data[index] <= 0xC3) || (data[index] >= 192 && data[index] <= 223) [INFO] [stdout] 362 + if (data[index] <= 223 || data[index] <= 0xC3) && data[index] >= 0xC0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/main.rs:141:15 [INFO] [stdout] | [INFO] [stdout] 141 | / let mut result = Vec::new(); [INFO] [stdout] 142 | | result.push(entry); [INFO] [stdout] 143 | | result.push(value.unwrap_or_default()); [INFO] [stdout] | |_____________________________________________________^ help: consider using the `vec![]` macro: `let result = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this OR pattern can be rewritten using a range [INFO] [stdout] --> src/database.rs:470:7 [INFO] [stdout] | [INFO] [stdout] 470 | 9 | 10 | 11 | 12 => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `9..=12` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_patterns [INFO] [stdout] = note: `#[warn(clippy::manual_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/database.rs:517:8 [INFO] [stdout] | [INFO] [stdout] 517 | ) -> Result<(Vec<(Vec, Vec)>, Vec<(Vec, Vec, SystemTime)>), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> src/main.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | / match argument.as_str() { [INFO] [stdout] 40 | | "--port" => { [INFO] [stdout] 41 | | println!("Port: {}", argument_value); [INFO] [stdout] 42 | | port = argument_value.clone(); [INFO] [stdout] 43 | | } [INFO] [stdout] 44 | | _ => {} [INFO] [stdout] 45 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 39 ~ if argument.as_str() == "--port" { [INFO] [stdout] 40 + println!("Port: {}", argument_value); [INFO] [stdout] 41 + port = argument_value.clone(); [INFO] [stdout] 42 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/main.rs:141:15 [INFO] [stdout] | [INFO] [stdout] 141 | / let mut result = Vec::new(); [INFO] [stdout] 142 | | result.push(entry); [INFO] [stdout] 143 | | result.push(value.unwrap_or_default()); [INFO] [stdout] | |_____________________________________________________^ help: consider using the `vec![]` macro: `let result = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.51s [INFO] running `Command { std: "docker" "inspect" "60daee55752eb33fd8b764b1b6992abbc5add1c0923e39be044ed3cc41b3049b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "60daee55752eb33fd8b764b1b6992abbc5add1c0923e39be044ed3cc41b3049b", kill_on_drop: false }` [INFO] [stdout] 60daee55752eb33fd8b764b1b6992abbc5add1c0923e39be044ed3cc41b3049b