[INFO] crate fred 0.2.3 is already in cache [INFO] extracting crate fred 0.2.3 into work/ex/clippy-test-run/sources/stable/reg/fred/0.2.3 [INFO] extracting crate fred 0.2.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/fred/0.2.3 [INFO] validating manifest of fred-0.2.3 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of fred-0.2.3 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing fred-0.2.3 [INFO] finished frobbing fred-0.2.3 [INFO] frobbed toml for fred-0.2.3 written to work/ex/clippy-test-run/sources/stable/reg/fred/0.2.3/Cargo.toml [INFO] started frobbing fred-0.2.3 [INFO] finished frobbing fred-0.2.3 [INFO] frobbed toml for fred-0.2.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/fred/0.2.3/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting fred-0.2.3 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/fred/0.2.3:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] f614610ff72f66160eda7b532ecae26c643c03b740c8ba5c8e1d9d6c7215f9fd [INFO] running `"docker" "start" "-a" "f614610ff72f66160eda7b532ecae26c643c03b740c8ba5c8e1d9d6c7215f9fd"` [INFO] [stderr] Checking cookie-factory v0.2.4 [INFO] [stderr] Checking boxfnonce v0.0.3 [INFO] [stderr] Checking tokio-timer-patched v0.1.3 [INFO] [stderr] Checking flame v0.2.2 [INFO] [stderr] Checking pretty_env_logger v0.2.5 [INFO] [stderr] Checking redis-protocol v0.1.1 [INFO] [stderr] Checking fred v0.2.3 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | port: port, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `port` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:462:7 [INFO] [stderr] | [INFO] [stderr] 462 | clustered: clustered, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `clustered` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:463:7 [INFO] [stderr] | [INFO] [stderr] 463 | message_tx: message_tx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `message_tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:464:7 [INFO] [stderr] | [INFO] [stderr] 464 | error_tx: error_tx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `error_tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:465:7 [INFO] [stderr] | [INFO] [stderr] 465 | command_tx: command_tx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `command_tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:466:7 [INFO] [stderr] | [INFO] [stderr] 466 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:470:7 [INFO] [stderr] | [INFO] [stderr] 470 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `config` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:471:7 [INFO] [stderr] | [INFO] [stderr] 471 | streams: streams, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `streams` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:472:7 [INFO] [stderr] | [INFO] [stderr] 472 | sinks: sinks, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `sinks` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/error.rs:262:7 [INFO] [stderr] | [INFO] [stderr] 262 | kind: kind, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kind` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/error.rs:263:7 [INFO] [stderr] | [INFO] [stderr] 263 | desc: desc, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `desc` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:200:7 [INFO] [stderr] | [INFO] [stderr] 200 | port: port, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `port` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:201:7 [INFO] [stderr] | [INFO] [stderr] 201 | key: key, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `key` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:213:7 [INFO] [stderr] | [INFO] [stderr] 213 | hosts: hosts, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `hosts` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:214:7 [INFO] [stderr] | [INFO] [stderr] 214 | key: key, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `key` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:368:16 [INFO] [stderr] | [INFO] [stderr] 368 | RedisKey { key: key } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `key` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sync/owned.rs:122:7 [INFO] [stderr] | [INFO] [stderr] 122 | connect_tx: connect_tx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `connect_tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sync/owned.rs:123:7 [INFO] [stderr] | [INFO] [stderr] 123 | error_tx: error_tx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `error_tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sync/owned.rs:124:7 [INFO] [stderr] | [INFO] [stderr] 124 | message_tx: message_tx [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `message_tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol/types.rs:842:7 [INFO] [stderr] | [INFO] [stderr] 842 | servers: servers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `servers` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol/types.rs:968:7 [INFO] [stderr] | [INFO] [stderr] 968 | kind: kind, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kind` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol/types.rs:969:7 [INFO] [stderr] | [INFO] [stderr] 969 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol/types.rs:970:7 [INFO] [stderr] | [INFO] [stderr] 970 | tx: tx [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | port: port, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `port` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:462:7 [INFO] [stderr] | [INFO] [stderr] 462 | clustered: clustered, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `clustered` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:463:7 [INFO] [stderr] | [INFO] [stderr] 463 | message_tx: message_tx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `message_tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:464:7 [INFO] [stderr] | [INFO] [stderr] 464 | error_tx: error_tx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `error_tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:465:7 [INFO] [stderr] | [INFO] [stderr] 465 | command_tx: command_tx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `command_tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:466:7 [INFO] [stderr] | [INFO] [stderr] 466 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:470:7 [INFO] [stderr] | [INFO] [stderr] 470 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `config` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:471:7 [INFO] [stderr] | [INFO] [stderr] 471 | streams: streams, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `streams` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multiplexer/multiplexer.rs:472:7 [INFO] [stderr] | [INFO] [stderr] 472 | sinks: sinks, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `sinks` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/error.rs:262:7 [INFO] [stderr] | [INFO] [stderr] 262 | kind: kind, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kind` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/error.rs:263:7 [INFO] [stderr] | [INFO] [stderr] 263 | desc: desc, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `desc` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:200:7 [INFO] [stderr] | [INFO] [stderr] 200 | port: port, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `port` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:201:7 [INFO] [stderr] | [INFO] [stderr] 201 | key: key, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `key` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:213:7 [INFO] [stderr] | [INFO] [stderr] 213 | hosts: hosts, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `hosts` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:214:7 [INFO] [stderr] | [INFO] [stderr] 214 | key: key, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `key` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:368:16 [INFO] [stderr] | [INFO] [stderr] 368 | RedisKey { key: key } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `key` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sync/owned.rs:122:7 [INFO] [stderr] | [INFO] [stderr] 122 | connect_tx: connect_tx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `connect_tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sync/owned.rs:123:7 [INFO] [stderr] | [INFO] [stderr] 123 | error_tx: error_tx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `error_tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sync/owned.rs:124:7 [INFO] [stderr] | [INFO] [stderr] 124 | message_tx: message_tx [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `message_tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol/types.rs:842:7 [INFO] [stderr] | [INFO] [stderr] 842 | servers: servers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `servers` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol/types.rs:968:7 [INFO] [stderr] | [INFO] [stderr] 968 | kind: kind, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kind` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol/types.rs:969:7 [INFO] [stderr] | [INFO] [stderr] 969 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol/types.rs:970:7 [INFO] [stderr] | [INFO] [stderr] 970 | tx: tx [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/utils.rs:223:3 [INFO] [stderr] | [INFO] [stderr] 223 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/utils.rs:218:13 [INFO] [stderr] | [INFO] [stderr] 218 | let res = match send_command(command_tx, command) { [INFO] [stderr] | _____________^ [INFO] [stderr] 219 | | Ok(_) => Box::new(rx.from_err::().flatten()), [INFO] [stderr] 220 | | Err(e) => future_error(e) [INFO] [stderr] 221 | | }; [INFO] [stderr] | |___^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/multiplexer/utils.rs:88:16 [INFO] [stderr] | [INFO] [stderr] 88 | pub const OK: &'static str = "OK"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/multiplexer/utils.rs:275:3 [INFO] [stderr] | [INFO] [stderr] 275 | taken [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/multiplexer/utils.rs:274:15 [INFO] [stderr] | [INFO] [stderr] 274 | let taken = messages_ref.drain(..).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/multiplexer/utils.rs:663:5 [INFO] [stderr] | [INFO] [stderr] 663 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/multiplexer/utils.rs:651:15 [INFO] [stderr] | [INFO] [stderr] 651 | let res = match result { [INFO] [stderr] | _______________^ [INFO] [stderr] 652 | | Ok((_multiplexer, _)) => { [INFO] [stderr] 653 | | debug!("Command stream closing after quit."); [INFO] [stderr] 654 | | [INFO] [stderr] ... | [INFO] [stderr] 660 | | Err(_) => client_utils::future_ok(()) [INFO] [stderr] 661 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/multiplexer/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod multiplexer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/multiplexer/multiplexer.rs:546:7 [INFO] [stderr] | [INFO] [stderr] 546 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/multiplexer/multiplexer.rs:534:17 [INFO] [stderr] | [INFO] [stderr] 534 | let res = if frame.kind() == FrameKind::Moved || frame.kind() == FrameKind::Ask { [INFO] [stderr] | _________________^ [INFO] [stderr] 535 | | // pause commands to refresh the cached cluster state [INFO] [stderr] 536 | | let _ = multiplexer.close_commands(); [INFO] [stderr] 537 | | [INFO] [stderr] ... | [INFO] [stderr] 543 | | Ok(multiplexer) [INFO] [stderr] 544 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/multiplexer/multiplexer.rs:575:5 [INFO] [stderr] | [INFO] [stderr] 575 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/multiplexer/multiplexer.rs:569:15 [INFO] [stderr] | [INFO] [stderr] 569 | let res = if request.kind == RedisCommandKind::Quit { [INFO] [stderr] | _______________^ [INFO] [stderr] 570 | | self.sinks.quit(frame) [INFO] [stderr] 571 | | }else{ [INFO] [stderr] 572 | | self.sinks.write_command(key, frame, no_cluster) [INFO] [stderr] 573 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `RedisProtocolErrorKind` [INFO] [stderr] --> src/error.rs:19:3 [INFO] [stderr] | [INFO] [stderr] 19 | RedisProtocolErrorKind [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/sync/utils.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | tmp [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/sync/utils.rs:63:15 [INFO] [stderr] | [INFO] [stderr] 63 | let tmp = src_ref.drain(..).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `FrameKind as ProtocolFrameKind` [INFO] [stderr] --> src/protocol/types.rs:42:3 [INFO] [stderr] | [INFO] [stderr] 42 | FrameKind as ProtocolFrameKind, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/utils.rs:223:3 [INFO] [stderr] | [INFO] [stderr] 223 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/utils.rs:218:13 [INFO] [stderr] | [INFO] [stderr] 218 | let res = match send_command(command_tx, command) { [INFO] [stderr] | _____________^ [INFO] [stderr] 219 | | Ok(_) => Box::new(rx.from_err::().flatten()), [INFO] [stderr] 220 | | Err(e) => future_error(e) [INFO] [stderr] 221 | | }; [INFO] [stderr] | |___^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/multiplexer/utils.rs:88:16 [INFO] [stderr] | [INFO] [stderr] 88 | pub const OK: &'static str = "OK"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:923:7 [INFO] [stderr] | [INFO] [stderr] 923 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:916:17 [INFO] [stderr] | [INFO] [stderr] 916 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 917 | | RedisValue::Integer(num) => Ok((self, num as usize)), [INFO] [stderr] 918 | | _ => Err(RedisError::new( [INFO] [stderr] 919 | | RedisErrorKind::ProtocolError, "Invalid DEL response." [INFO] [stderr] 920 | | )) [INFO] [stderr] 921 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1162:7 [INFO] [stderr] | [INFO] [stderr] 1162 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1155:17 [INFO] [stderr] | [INFO] [stderr] 1155 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1156 | | RedisValue::Integer(num) => Ok((self, num as usize)), [INFO] [stderr] 1157 | | _ => Err(RedisError::new( [INFO] [stderr] 1158 | | RedisErrorKind::ProtocolError, "Invalid HDEL response." [INFO] [stderr] 1159 | | )) [INFO] [stderr] 1160 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1217:7 [INFO] [stderr] | [INFO] [stderr] 1217 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1212:17 [INFO] [stderr] | [INFO] [stderr] 1212 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1213 | | RedisValue::Null => Ok((self, None)), [INFO] [stderr] 1214 | | _ => Ok((self, Some(resp))) [INFO] [stderr] 1215 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1443:7 [INFO] [stderr] | [INFO] [stderr] 1443 | res [INFO] [stderr] | ^^^ [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/multiplexer/utils.rs:275:3 [INFO] [stderr] | [INFO] [stderr] 275 | taken [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/multiplexer/utils.rs:274:15 [INFO] [stderr] | [INFO] [stderr] 274 | let taken = messages_ref.drain(..).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/multiplexer/utils.rs:663:5 [INFO] [stderr] | [INFO] [stderr] 663 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/multiplexer/utils.rs:651:15 [INFO] [stderr] | [INFO] [stderr] 651 | let res = match result { [INFO] [stderr] | _______________^ [INFO] [stderr] 652 | | Ok((_multiplexer, _)) => { [INFO] [stderr] 653 | | debug!("Command stream closing after quit."); [INFO] [stderr] 654 | | [INFO] [stderr] ... | [INFO] [stderr] 660 | | Err(_) => client_utils::future_ok(()) [INFO] [stderr] 661 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1436:17 [INFO] [stderr] | [INFO] [stderr] 1436 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1437 | | RedisValue::Integer(num) => Ok((self, num as usize)), [INFO] [stderr] 1438 | | _ => Err(RedisError::new( [INFO] [stderr] 1439 | | RedisErrorKind::Unknown , "Invalid HSET response." [INFO] [stderr] 1440 | | )) [INFO] [stderr] 1441 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1528:7 [INFO] [stderr] | [INFO] [stderr] 1528 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1521:17 [INFO] [stderr] | [INFO] [stderr] 1521 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1522 | | RedisValue::Integer(num) => Ok((self, num as i64)), [INFO] [stderr] 1523 | | _ => Err(RedisError::new( [INFO] [stderr] 1524 | | RedisErrorKind::InvalidArgument, "Invalid INCR response." [INFO] [stderr] 1525 | | )) [INFO] [stderr] 1526 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1622:7 [INFO] [stderr] | [INFO] [stderr] 1622 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1615:17 [INFO] [stderr] | [INFO] [stderr] 1615 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1616 | | RedisValue::Integer(num) => Ok((self, num as usize)), [INFO] [stderr] 1617 | | _ => Err(RedisError::new( [INFO] [stderr] 1618 | | RedisErrorKind::Unknown , "Invalid LPUSH response." [INFO] [stderr] 1619 | | )) [INFO] [stderr] 1620 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1684:7 [INFO] [stderr] | [INFO] [stderr] 1684 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1677:17 [INFO] [stderr] | [INFO] [stderr] 1677 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1678 | | RedisValue::Integer(num) => Ok((self, num as usize)), [INFO] [stderr] 1679 | | _ => Err(RedisError::new( [INFO] [stderr] 1680 | | RedisErrorKind::Unknown , "Invalid SADD response." [INFO] [stderr] 1681 | | )) [INFO] [stderr] 1682 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1723:7 [INFO] [stderr] | [INFO] [stderr] 1723 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1716:17 [INFO] [stderr] | [INFO] [stderr] 1716 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1717 | | RedisValue::Integer(num) => Ok((self, num as usize)), [INFO] [stderr] 1718 | | _ => Err(RedisError::new( [INFO] [stderr] 1719 | | RedisErrorKind::Unknown , "Invalid SREM response." [INFO] [stderr] 1720 | | )) [INFO] [stderr] 1721 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/multiplexer/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod multiplexer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/multiplexer/multiplexer.rs:546:7 [INFO] [stderr] | [INFO] [stderr] 546 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/multiplexer/multiplexer.rs:534:17 [INFO] [stderr] | [INFO] [stderr] 534 | let res = if frame.kind() == FrameKind::Moved || frame.kind() == FrameKind::Ask { [INFO] [stderr] | _________________^ [INFO] [stderr] 535 | | // pause commands to refresh the cached cluster state [INFO] [stderr] 536 | | let _ = multiplexer.close_commands(); [INFO] [stderr] 537 | | [INFO] [stderr] ... | [INFO] [stderr] 543 | | Ok(multiplexer) [INFO] [stderr] 544 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/multiplexer/multiplexer.rs:575:5 [INFO] [stderr] | [INFO] [stderr] 575 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/multiplexer/multiplexer.rs:569:15 [INFO] [stderr] | [INFO] [stderr] 569 | let res = if request.kind == RedisCommandKind::Quit { [INFO] [stderr] | _______________^ [INFO] [stderr] 570 | | self.sinks.quit(frame) [INFO] [stderr] 571 | | }else{ [INFO] [stderr] 572 | | self.sinks.write_command(key, frame, no_cluster) [INFO] [stderr] 573 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `RedisProtocolErrorKind` [INFO] [stderr] --> src/error.rs:19:3 [INFO] [stderr] | [INFO] [stderr] 19 | RedisProtocolErrorKind [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/sync/utils.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | tmp [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/sync/utils.rs:63:15 [INFO] [stderr] | [INFO] [stderr] 63 | let tmp = src_ref.drain(..).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `FrameKind as ProtocolFrameKind` [INFO] [stderr] --> src/protocol/types.rs:42:3 [INFO] [stderr] | [INFO] [stderr] 42 | FrameKind as ProtocolFrameKind, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:923:7 [INFO] [stderr] | [INFO] [stderr] 923 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:916:17 [INFO] [stderr] | [INFO] [stderr] 916 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 917 | | RedisValue::Integer(num) => Ok((self, num as usize)), [INFO] [stderr] 918 | | _ => Err(RedisError::new( [INFO] [stderr] 919 | | RedisErrorKind::ProtocolError, "Invalid DEL response." [INFO] [stderr] 920 | | )) [INFO] [stderr] 921 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1162:7 [INFO] [stderr] | [INFO] [stderr] 1162 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1155:17 [INFO] [stderr] | [INFO] [stderr] 1155 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1156 | | RedisValue::Integer(num) => Ok((self, num as usize)), [INFO] [stderr] 1157 | | _ => Err(RedisError::new( [INFO] [stderr] 1158 | | RedisErrorKind::ProtocolError, "Invalid HDEL response." [INFO] [stderr] 1159 | | )) [INFO] [stderr] 1160 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1217:7 [INFO] [stderr] | [INFO] [stderr] 1217 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1212:17 [INFO] [stderr] | [INFO] [stderr] 1212 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1213 | | RedisValue::Null => Ok((self, None)), [INFO] [stderr] 1214 | | _ => Ok((self, Some(resp))) [INFO] [stderr] 1215 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1443:7 [INFO] [stderr] | [INFO] [stderr] 1443 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1436:17 [INFO] [stderr] | [INFO] [stderr] 1436 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1437 | | RedisValue::Integer(num) => Ok((self, num as usize)), [INFO] [stderr] 1438 | | _ => Err(RedisError::new( [INFO] [stderr] 1439 | | RedisErrorKind::Unknown , "Invalid HSET response." [INFO] [stderr] 1440 | | )) [INFO] [stderr] 1441 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1528:7 [INFO] [stderr] | [INFO] [stderr] 1528 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1521:17 [INFO] [stderr] | [INFO] [stderr] 1521 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1522 | | RedisValue::Integer(num) => Ok((self, num as i64)), [INFO] [stderr] 1523 | | _ => Err(RedisError::new( [INFO] [stderr] 1524 | | RedisErrorKind::InvalidArgument, "Invalid INCR response." [INFO] [stderr] 1525 | | )) [INFO] [stderr] 1526 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1622:7 [INFO] [stderr] | [INFO] [stderr] 1622 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1615:17 [INFO] [stderr] | [INFO] [stderr] 1615 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1616 | | RedisValue::Integer(num) => Ok((self, num as usize)), [INFO] [stderr] 1617 | | _ => Err(RedisError::new( [INFO] [stderr] 1618 | | RedisErrorKind::Unknown , "Invalid LPUSH response." [INFO] [stderr] 1619 | | )) [INFO] [stderr] 1620 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1684:7 [INFO] [stderr] | [INFO] [stderr] 1684 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1677:17 [INFO] [stderr] | [INFO] [stderr] 1677 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1678 | | RedisValue::Integer(num) => Ok((self, num as usize)), [INFO] [stderr] 1679 | | _ => Err(RedisError::new( [INFO] [stderr] 1680 | | RedisErrorKind::Unknown , "Invalid SADD response." [INFO] [stderr] 1681 | | )) [INFO] [stderr] 1682 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/lib.rs:1723:7 [INFO] [stderr] | [INFO] [stderr] 1723 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/lib.rs:1716:17 [INFO] [stderr] | [INFO] [stderr] 1716 | let res = match resp { [INFO] [stderr] | _________________^ [INFO] [stderr] 1717 | | RedisValue::Integer(num) => Ok((self, num as usize)), [INFO] [stderr] 1718 | | _ => Err(RedisError::new( [INFO] [stderr] 1719 | | RedisErrorKind::Unknown , "Invalid SREM response." [INFO] [stderr] 1720 | | )) [INFO] [stderr] 1721 | | }; [INFO] [stderr] | |_______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | use tokio_io::codec::Framed; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:365:33 [INFO] [stderr] | [INFO] [stderr] 365 | -> Box>, SplitStream>), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:365:77 [INFO] [stderr] | [INFO] [stderr] 365 | -> Box>, SplitStream>), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:425:33 [INFO] [stderr] | [INFO] [stderr] 425 | ) -> Box>, SplitStream>), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:425:77 [INFO] [stderr] | [INFO] [stderr] 425 | ) -> Box>, SplitStream>), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:447:39 [INFO] [stderr] | [INFO] [stderr] 447 | pub fn request_response(transport: Framed, mut request: RedisCommand) -> Box), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:447:116 [INFO] [stderr] | [INFO] [stderr] 447 | pub fn request_response(transport: Framed, mut request: RedisCommand) -> Box), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:466:35 [INFO] [stderr] | [INFO] [stderr] 466 | pub fn authenticate(transport: Framed, key: Option) -> Box, Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:466:98 [INFO] [stderr] | [INFO] [stderr] 466 | pub fn authenticate(transport: Framed, key: Option) -> Box, Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:689:63 [INFO] [stderr] | [INFO] [stderr] 689 | -> Box>, Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:805:35 [INFO] [stderr] | [INFO] [stderr] 805 | -> Box)>, Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/multiplexer.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | use tokio_io::codec::Framed; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | use tokio_io::codec::Framed; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:96:35 [INFO] [stderr] | [INFO] [stderr] 96 | type TlsTransports = Vec<(String, Framed)>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:99:35 [INFO] [stderr] | [INFO] [stderr] 99 | type TcpTransports = Vec<(String, Framed)>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:274:35 [INFO] [stderr] | [INFO] [stderr] 274 | type TlsTransportSink = SplitSink>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:276:39 [INFO] [stderr] | [INFO] [stderr] 276 | type TlsTransportStream = SplitStream>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:278:35 [INFO] [stderr] | [INFO] [stderr] 278 | type TcpTransportSink = SplitSink>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:279:39 [INFO] [stderr] | [INFO] [stderr] 279 | type TcpTransportStream = SplitStream>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | use tokio_io::codec::Framed; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:365:33 [INFO] [stderr] | [INFO] [stderr] 365 | -> Box>, SplitStream>), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:365:77 [INFO] [stderr] | [INFO] [stderr] 365 | -> Box>, SplitStream>), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:425:33 [INFO] [stderr] | [INFO] [stderr] 425 | ) -> Box>, SplitStream>), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:425:77 [INFO] [stderr] | [INFO] [stderr] 425 | ) -> Box>, SplitStream>), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:447:39 [INFO] [stderr] | [INFO] [stderr] 447 | pub fn request_response(transport: Framed, mut request: RedisCommand) -> Box), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:447:116 [INFO] [stderr] | [INFO] [stderr] 447 | pub fn request_response(transport: Framed, mut request: RedisCommand) -> Box), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:466:35 [INFO] [stderr] | [INFO] [stderr] 466 | pub fn authenticate(transport: Framed, key: Option) -> Box, Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:466:98 [INFO] [stderr] | [INFO] [stderr] 466 | pub fn authenticate(transport: Framed, key: Option) -> Box, Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:689:63 [INFO] [stderr] | [INFO] [stderr] 689 | -> Box>, Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/utils.rs:805:35 [INFO] [stderr] | [INFO] [stderr] 805 | -> Box)>, Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/multiplexer.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | use tokio_io::codec::Framed; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | use tokio_io::codec::Framed; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:96:35 [INFO] [stderr] | [INFO] [stderr] 96 | type TlsTransports = Vec<(String, Framed)>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:99:35 [INFO] [stderr] | [INFO] [stderr] 99 | type TcpTransports = Vec<(String, Framed)>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:274:35 [INFO] [stderr] | [INFO] [stderr] 274 | type TlsTransportSink = SplitSink>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:276:39 [INFO] [stderr] | [INFO] [stderr] 276 | type TlsTransportStream = SplitStream>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:278:35 [INFO] [stderr] | [INFO] [stderr] 278 | type TcpTransportSink = SplitSink>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/multiplexer/mod.rs:279:39 [INFO] [stderr] | [INFO] [stderr] 279 | type TcpTransportStream = SplitStream>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::AsyncRead::framed': Use tokio_codec::Decoder::framed instead [INFO] [stderr] --> src/multiplexer/utils.rs:435:39 [INFO] [stderr] | [INFO] [stderr] 435 | .and_then(move |socket| Ok(socket.framed(codec))) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'tokio_io::AsyncRead::framed': Use tokio_codec::Decoder::framed instead [INFO] [stderr] --> src/multiplexer/utils.rs:435:39 [INFO] [stderr] | [INFO] [stderr] 435 | .and_then(move |socket| Ok(socket.framed(codec))) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils.rs:136:25 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn compare_f64(lhs: &f64, rhs: &f64) -> bool { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `f64` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils.rs:136:36 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn compare_f64(lhs: &f64, rhs: &f64) -> bool { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `f64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/utils.rs:146:3 [INFO] [stderr] | [INFO] [stderr] 146 | closed_guard.deref().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*closed_guard.deref()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/utils.rs:212:3 [INFO] [stderr] | [INFO] [stderr] 212 | let _ = fry!(check_connected(state)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/utils.rs:264:34 [INFO] [stderr] | [INFO] [stderr] 264 | let timer_ft = timer.sleep(timeout.clone()).map_err(|_| RedisError::new( [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `timeout` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:110:39 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn close_messages_tx(messages_tx: &Rc>>>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:120:37 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn close_connect_tx(connect_tx: &Rc>>>>, remote_tx: &Rc>>>>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:120:120 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn close_connect_tx(connect_tx: &Rc>>>>, remote_tx: &Rc>>>>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/multiplexer/utils.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | / match tx.unbounded_send(error.clone()) { [INFO] [stderr] 146 | | Ok(_) => true, [INFO] [stderr] 147 | | Err(_) => false [INFO] [stderr] 148 | | } [INFO] [stderr] | |_____^ help: try this: `tx.unbounded_send(error.clone()).is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/multiplexer/utils.rs:161:5 [INFO] [stderr] | [INFO] [stderr] 161 | / match tx.unbounded_send(client.clone()) { [INFO] [stderr] 162 | | Ok(_) => true, [INFO] [stderr] 163 | | Err(_) => false [INFO] [stderr] 164 | | } [INFO] [stderr] | |_____^ help: try this: `tx.unbounded_send(client.clone()).is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:171:33 [INFO] [stderr] | [INFO] [stderr] 171 | pub fn emit_connect(connect_tx: &Rc>>>>, remote_tx: Rc>>>>, client: &RedisClient) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:171:116 [INFO] [stderr] | [INFO] [stderr] 171 | pub fn emit_connect(connect_tx: &Rc>>>>, remote_tx: Rc>>>>, client: &RedisClient) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:188:39 [INFO] [stderr] | [INFO] [stderr] 188 | pub fn emit_connect_error(connect_tx: &Rc>>>>, remote_tx: Rc>>>>, err: &RedisError) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:188:122 [INFO] [stderr] | [INFO] [stderr] 188 | pub fn emit_connect_error(connect_tx: &Rc>>>>, remote_tx: Rc>>>>, err: &RedisError) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:272:38 [INFO] [stderr] | [INFO] [stderr] 272 | pub fn take_message_sender(messages: &Rc>>>) -> VecDeque> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:278:37 [INFO] [stderr] | [INFO] [stderr] 278 | pub fn set_message_sender(messages: &Rc>>>, sender: VecDeque>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:365:6 [INFO] [stderr] | [INFO] [stderr] 365 | -> Box>, SplitStream>), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:425:6 [INFO] [stderr] | [INFO] [stderr] 425 | ) -> Box>, SplitStream>), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils.rs:136:25 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn compare_f64(lhs: &f64, rhs: &f64) -> bool { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `f64` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils.rs:136:36 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn compare_f64(lhs: &f64, rhs: &f64) -> bool { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `f64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/utils.rs:146:3 [INFO] [stderr] | [INFO] [stderr] 146 | closed_guard.deref().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*closed_guard.deref()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/multiplexer/utils.rs:444:18 [INFO] [stderr] | [INFO] [stderr] 444 | .map_err(|e| e.into())) [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/multiplexer/utils.rs:453:68 [INFO] [stderr] | [INFO] [stderr] 453 | .and_then(|transport| transport.into_future().map_err(|(e, _)| e.into())) [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/utils.rs:212:3 [INFO] [stderr] | [INFO] [stderr] 212 | let _ = fry!(check_connected(state)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/multiplexer/utils.rs:524:16 [INFO] [stderr] | [INFO] [stderr] 524 | if let Err(_) = tx.unbounded_send((channel.clone(), message.clone())) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 525 | | to_remove.push_back(idx); [INFO] [stderr] 526 | | } [INFO] [stderr] | |_________- help: try this: `if tx.unbounded_send((channel.clone(), message.clone())).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/multiplexer/utils.rs:531:16 [INFO] [stderr] | [INFO] [stderr] 531 | if let Err(_) = tx.unbounded_send((channel, message)) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 532 | | to_remove.push_back(to_send); [INFO] [stderr] 533 | | } [INFO] [stderr] | |_________- help: try this: `if tx.unbounded_send((channel, message)).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/multiplexer/utils.rs:537:8 [INFO] [stderr] | [INFO] [stderr] 537 | if to_remove.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!to_remove.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/utils.rs:264:34 [INFO] [stderr] | [INFO] [stderr] 264 | let timer_ft = timer.sleep(timeout.clone()).map_err(|_| RedisError::new( [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `timeout` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/multiplexer/utils.rs:680:16 [INFO] [stderr] | [INFO] [stderr] 680 | Some(e.into()) [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:110:39 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn close_messages_tx(messages_tx: &Rc>>>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:120:37 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn close_connect_tx(connect_tx: &Rc>>>>, remote_tx: &Rc>>>>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:120:120 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn close_connect_tx(connect_tx: &Rc>>>>, remote_tx: &Rc>>>>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/multiplexer/utils.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | / match tx.unbounded_send(error.clone()) { [INFO] [stderr] 146 | | Ok(_) => true, [INFO] [stderr] 147 | | Err(_) => false [INFO] [stderr] 148 | | } [INFO] [stderr] | |_____^ help: try this: `tx.unbounded_send(error.clone()).is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/multiplexer/utils.rs:161:5 [INFO] [stderr] | [INFO] [stderr] 161 | / match tx.unbounded_send(client.clone()) { [INFO] [stderr] 162 | | Ok(_) => true, [INFO] [stderr] 163 | | Err(_) => false [INFO] [stderr] 164 | | } [INFO] [stderr] | |_____^ help: try this: `tx.unbounded_send(client.clone()).is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:171:33 [INFO] [stderr] | [INFO] [stderr] 171 | pub fn emit_connect(connect_tx: &Rc>>>>, remote_tx: Rc>>>>, client: &RedisClient) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:171:116 [INFO] [stderr] | [INFO] [stderr] 171 | pub fn emit_connect(connect_tx: &Rc>>>>, remote_tx: Rc>>>>, client: &RedisClient) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:188:39 [INFO] [stderr] | [INFO] [stderr] 188 | pub fn emit_connect_error(connect_tx: &Rc>>>>, remote_tx: Rc>>>>, err: &RedisError) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:188:122 [INFO] [stderr] | [INFO] [stderr] 188 | pub fn emit_connect_error(connect_tx: &Rc>>>>, remote_tx: Rc>>>>, err: &RedisError) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:805:6 [INFO] [stderr] | [INFO] [stderr] 805 | -> Box)>, Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:878:6 [INFO] [stderr] | [INFO] [stderr] 878 | -> Box)>, Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:272:38 [INFO] [stderr] | [INFO] [stderr] 272 | pub fn take_message_sender(messages: &Rc>>>) -> VecDeque> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:278:37 [INFO] [stderr] | [INFO] [stderr] 278 | pub fn set_message_sender(messages: &Rc>>>, sender: VecDeque>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:365:6 [INFO] [stderr] | [INFO] [stderr] 365 | -> Box>, SplitStream>), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:425:6 [INFO] [stderr] | [INFO] [stderr] 425 | ) -> Box>, SplitStream>), Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:1005:15 [INFO] [stderr] | [INFO] [stderr] 1005 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:1008:15 [INFO] [stderr] | [INFO] [stderr] 1008 | connect_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:1009:14 [INFO] [stderr] | [INFO] [stderr] 1009 | remote_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:1011:6 [INFO] [stderr] | [INFO] [stderr] 1011 | ) -> Box, Error=RedisError>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/multiplexer/utils.rs:444:18 [INFO] [stderr] | [INFO] [stderr] 444 | .map_err(|e| e.into())) [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/multiplexer/utils.rs:453:68 [INFO] [stderr] | [INFO] [stderr] 453 | .and_then(|transport| transport.into_future().map_err(|(e, _)| e.into())) [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/multiplexer/utils.rs:998:1 [INFO] [stderr] | [INFO] [stderr] 998 | / pub fn reconnect( [INFO] [stderr] 999 | | handle: Handle, [INFO] [stderr] 1000 | | timer: Timer, [INFO] [stderr] 1001 | | mut policy: ReconnectPolicy, [INFO] [stderr] ... | [INFO] [stderr] 1084 | | } [INFO] [stderr] 1085 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/multiplexer/utils.rs:1039:52 [INFO] [stderr] | [INFO] [stderr] 1039 | Box::new(timer.sleep(Duration::from_millis(delay as u64)).from_err::().and_then(move |_| { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(delay)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/multiplexer/utils.rs:1073:50 [INFO] [stderr] | [INFO] [stderr] 1073 | Box::new(timer.sleep(Duration::from_millis(delay as u64)).from_err::().and_then(move |_| { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(delay)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/multiplexer/utils.rs:524:16 [INFO] [stderr] | [INFO] [stderr] 524 | if let Err(_) = tx.unbounded_send((channel.clone(), message.clone())) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 525 | | to_remove.push_back(idx); [INFO] [stderr] 526 | | } [INFO] [stderr] | |_________- help: try this: `if tx.unbounded_send((channel.clone(), message.clone())).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/multiplexer/utils.rs:531:16 [INFO] [stderr] | [INFO] [stderr] 531 | if let Err(_) = tx.unbounded_send((channel, message)) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 532 | | to_remove.push_back(to_send); [INFO] [stderr] 533 | | } [INFO] [stderr] | |_________- help: try this: `if tx.unbounded_send((channel, message)).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/multiplexer/utils.rs:537:8 [INFO] [stderr] | [INFO] [stderr] 537 | if to_remove.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!to_remove.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/multiplexer/multiplexer.rs:115:53 [INFO] [stderr] | [INFO] [stderr] 115 | let mut parts: Vec = ip_str.split(":").map(|part| { [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/multiplexer/multiplexer.rs:234:24 [INFO] [stderr] | [INFO] [stderr] 234 | .map_err(|e| e.into()) [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/multiplexer/utils.rs:680:16 [INFO] [stderr] | [INFO] [stderr] 680 | Some(e.into()) [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/multiplexer/multiplexer.rs:299:24 [INFO] [stderr] | [INFO] [stderr] 299 | .map_err(|e| e.into()) [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/multiplexer.rs:389:19 [INFO] [stderr] | [INFO] [stderr] 389 | pub message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/multiplexer.rs:424:26 [INFO] [stderr] | [INFO] [stderr] 424 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:805:6 [INFO] [stderr] | [INFO] [stderr] 805 | -> Box)>, Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:878:6 [INFO] [stderr] | [INFO] [stderr] 878 | -> Box)>, Error=RedisError>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/multiplexer/multiplexer.rs:552:5 [INFO] [stderr] | [INFO] [stderr] 552 | let _guard = flame_start!("redis:write_command"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:128:15 [INFO] [stderr] | [INFO] [stderr] 128 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:130:15 [INFO] [stderr] | [INFO] [stderr] 130 | connect_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:132:14 [INFO] [stderr] | [INFO] [stderr] 132 | remote_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/multiplexer/mod.rs:122:1 [INFO] [stderr] | [INFO] [stderr] 122 | / fn init_clustered( [INFO] [stderr] 123 | | client: RedisClient, [INFO] [stderr] 124 | | handle: Handle, [INFO] [stderr] 125 | | config: Rc>, [INFO] [stderr] ... | [INFO] [stderr] 265 | | })) [INFO] [stderr] 266 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:1005:15 [INFO] [stderr] | [INFO] [stderr] 1005 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:1008:15 [INFO] [stderr] | [INFO] [stderr] 1008 | connect_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:1009:14 [INFO] [stderr] | [INFO] [stderr] 1009 | remote_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/utils.rs:1011:6 [INFO] [stderr] | [INFO] [stderr] 1011 | ) -> Box, Error=RedisError>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/multiplexer/utils.rs:998:1 [INFO] [stderr] | [INFO] [stderr] 998 | / pub fn reconnect( [INFO] [stderr] 999 | | handle: Handle, [INFO] [stderr] 1000 | | timer: Timer, [INFO] [stderr] 1001 | | mut policy: ReconnectPolicy, [INFO] [stderr] ... | [INFO] [stderr] 1084 | | } [INFO] [stderr] 1085 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/multiplexer/utils.rs:1039:52 [INFO] [stderr] | [INFO] [stderr] 1039 | Box::new(timer.sleep(Duration::from_millis(delay as u64)).from_err::().and_then(move |_| { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(delay)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/multiplexer/utils.rs:1073:50 [INFO] [stderr] | [INFO] [stderr] 1073 | Box::new(timer.sleep(Duration::from_millis(delay as u64)).from_err::().and_then(move |_| { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(delay)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/multiplexer/multiplexer.rs:115:53 [INFO] [stderr] | [INFO] [stderr] 115 | let mut parts: Vec = ip_str.split(":").map(|part| { [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/multiplexer/multiplexer.rs:234:24 [INFO] [stderr] | [INFO] [stderr] 234 | .map_err(|e| e.into()) [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/multiplexer/multiplexer.rs:299:24 [INFO] [stderr] | [INFO] [stderr] 299 | .map_err(|e| e.into()) [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/multiplexer.rs:389:19 [INFO] [stderr] | [INFO] [stderr] 389 | pub message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/multiplexer.rs:424:26 [INFO] [stderr] | [INFO] [stderr] 424 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/multiplexer/multiplexer.rs:552:5 [INFO] [stderr] | [INFO] [stderr] 552 | let _guard = flame_start!("redis:write_command"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/multiplexer/mod.rs:244:9 [INFO] [stderr] | [INFO] [stderr] 244 | let _ = utils::emit_reconnect(&mult_reconnect_tx, &mult_client); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:128:15 [INFO] [stderr] | [INFO] [stderr] 128 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:130:15 [INFO] [stderr] | [INFO] [stderr] 130 | connect_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:132:14 [INFO] [stderr] | [INFO] [stderr] 132 | remote_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/multiplexer/mod.rs:122:1 [INFO] [stderr] | [INFO] [stderr] 122 | / fn init_clustered( [INFO] [stderr] 123 | | client: RedisClient, [INFO] [stderr] 124 | | handle: Handle, [INFO] [stderr] 125 | | config: Rc>, [INFO] [stderr] ... | [INFO] [stderr] 265 | | })) [INFO] [stderr] 266 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:316:15 [INFO] [stderr] | [INFO] [stderr] 316 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:318:15 [INFO] [stderr] | [INFO] [stderr] 318 | connect_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:320:14 [INFO] [stderr] | [INFO] [stderr] 320 | remote_tx: Rc>>>>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/multiplexer/mod.rs:310:1 [INFO] [stderr] | [INFO] [stderr] 310 | / fn init_centralized( [INFO] [stderr] 311 | | client: RedisClient, [INFO] [stderr] 312 | | handle: &Handle, [INFO] [stderr] 313 | | config: Rc>, [INFO] [stderr] ... | [INFO] [stderr] 415 | | })) [INFO] [stderr] 416 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/multiplexer/mod.rs:400:5 [INFO] [stderr] | [INFO] [stderr] 400 | let _ = utils::emit_reconnect(&reconnect_tx, &client); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:425:15 [INFO] [stderr] | [INFO] [stderr] 425 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:427:15 [INFO] [stderr] | [INFO] [stderr] 427 | connect_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:429:14 [INFO] [stderr] | [INFO] [stderr] 429 | remote_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/multiplexer/mod.rs:419:1 [INFO] [stderr] | [INFO] [stderr] 419 | / pub fn init( [INFO] [stderr] 420 | | client: RedisClient, [INFO] [stderr] 421 | | handle: &Handle, [INFO] [stderr] 422 | | config: Rc>, [INFO] [stderr] ... | [INFO] [stderr] 445 | | } [INFO] [stderr] 446 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:456:15 [INFO] [stderr] | [INFO] [stderr] 456 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:459:15 [INFO] [stderr] | [INFO] [stderr] 459 | connect_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:460:14 [INFO] [stderr] | [INFO] [stderr] 460 | remote_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/multiplexer/mod.rs:449:1 [INFO] [stderr] | [INFO] [stderr] 449 | / pub fn init_with_policy( [INFO] [stderr] 450 | | client: RedisClient, [INFO] [stderr] 451 | | handle: &Handle, [INFO] [stderr] 452 | | config: Rc>, [INFO] [stderr] ... | [INFO] [stderr] 516 | | .from_err::()) [INFO] [stderr] 517 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/metrics/enabled.rs:16:34 [INFO] [stderr] | [INFO] [stderr] 16 | Some(time.timestamp() * 1000 + (time.timestamp_subsec_millis() as i64)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(time.timestamp_subsec_millis())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/error.rs:98:67 [INFO] [stderr] | [INFO] [stderr] 98 | RedisErrorKind::UrlError(ref e) => RedisErrorKind::UrlError(e.clone()), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/multiplexer/mod.rs:244:9 [INFO] [stderr] | [INFO] [stderr] 244 | let _ = utils::emit_reconnect(&mult_reconnect_tx, &mult_client); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/types.rs:123:57 [INFO] [stderr] | [INFO] [stderr] 123 | ReconnectPolicy::Constant { ref attempts, .. } => attempts.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*attempts` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/types.rs:124:55 [INFO] [stderr] | [INFO] [stderr] 124 | ReconnectPolicy::Linear { ref attempts, .. } => attempts.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*attempts` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/types.rs:125:60 [INFO] [stderr] | [INFO] [stderr] 125 | ReconnectPolicy::Exponential { ref attempts, .. } => attempts.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*attempts` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:316:15 [INFO] [stderr] | [INFO] [stderr] 316 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:318:15 [INFO] [stderr] | [INFO] [stderr] 318 | connect_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:320:14 [INFO] [stderr] | [INFO] [stderr] 320 | remote_tx: Rc>>>>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/multiplexer/mod.rs:310:1 [INFO] [stderr] | [INFO] [stderr] 310 | / fn init_centralized( [INFO] [stderr] 311 | | client: RedisClient, [INFO] [stderr] 312 | | handle: &Handle, [INFO] [stderr] 313 | | config: Rc>, [INFO] [stderr] ... | [INFO] [stderr] 415 | | })) [INFO] [stderr] 416 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/types.rs:272:60 [INFO] [stderr] | [INFO] [stderr] 272 | RedisConfig::Centralized {ref max_value_size, ..} => max_value_size.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*max_value_size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/types.rs:273:58 [INFO] [stderr] | [INFO] [stderr] 273 | RedisConfig::Clustered {ref max_value_size, ..} => max_value_size.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*max_value_size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/multiplexer/mod.rs:400:5 [INFO] [stderr] | [INFO] [stderr] 400 | let _ = utils::emit_reconnect(&reconnect_tx, &client); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:425:15 [INFO] [stderr] | [INFO] [stderr] 425 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:427:15 [INFO] [stderr] | [INFO] [stderr] 427 | connect_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:429:14 [INFO] [stderr] | [INFO] [stderr] 429 | remote_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/multiplexer/mod.rs:419:1 [INFO] [stderr] | [INFO] [stderr] 419 | / pub fn init( [INFO] [stderr] 420 | | client: RedisClient, [INFO] [stderr] 421 | | handle: &Handle, [INFO] [stderr] 422 | | config: Rc>, [INFO] [stderr] ... | [INFO] [stderr] 445 | | } [INFO] [stderr] 446 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:456:15 [INFO] [stderr] | [INFO] [stderr] 456 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:459:15 [INFO] [stderr] | [INFO] [stderr] 459 | connect_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/multiplexer/mod.rs:460:14 [INFO] [stderr] | [INFO] [stderr] 460 | remote_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/multiplexer/mod.rs:449:1 [INFO] [stderr] | [INFO] [stderr] 449 | / pub fn init_with_policy( [INFO] [stderr] 450 | | client: RedisClient, [INFO] [stderr] 451 | | handle: &Handle, [INFO] [stderr] 452 | | config: Rc>, [INFO] [stderr] ... | [INFO] [stderr] 516 | | .from_err::()) [INFO] [stderr] 517 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/types.rs:475:1 [INFO] [stderr] | [INFO] [stderr] 475 | / impl Hash for RedisKey { [INFO] [stderr] 476 | | fn hash(&self, state: &mut H) { [INFO] [stderr] 477 | | self.key.hash(state); [INFO] [stderr] 478 | | } [INFO] [stderr] 479 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/types.rs:360:28 [INFO] [stderr] | [INFO] [stderr] 360 | #[derive(Clone, Debug, Eq, PartialEq)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `types::MultipleKeys` [INFO] [stderr] --> src/types.rs:488:3 [INFO] [stderr] | [INFO] [stderr] 488 | / pub fn new() -> MultipleKeys { [INFO] [stderr] 489 | | MultipleKeys { keys: Vec::new() } [INFO] [stderr] 490 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 482 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/types.rs:604:36 [INFO] [stderr] | [INFO] [stderr] 604 | RedisValue::String(ref s) => match s.parse::() { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 605 | | Ok(_) => true, [INFO] [stderr] 606 | | Err(_) => false, [INFO] [stderr] 607 | | }, [INFO] [stderr] | |_______^ help: try this: `s.parse::().is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:725:25 [INFO] [stderr] | [INFO] [stderr] 725 | RedisValue::Integer(d as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:731:25 [INFO] [stderr] | [INFO] [stderr] 731 | RedisValue::Integer(d as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:737:25 [INFO] [stderr] | [INFO] [stderr] 737 | RedisValue::Integer(d as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:743:25 [INFO] [stderr] | [INFO] [stderr] 743 | RedisValue::Integer(d as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:749:25 [INFO] [stderr] | [INFO] [stderr] 749 | RedisValue::Integer(d as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:755:25 [INFO] [stderr] | [INFO] [stderr] 755 | RedisValue::Integer(d as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let res =` [INFO] [stderr] --> src/sync/utils.rs:157:3 [INFO] [stderr] | [INFO] [stderr] 157 | let res = client_error_tx_ref.push_back(tx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/sync/utils.rs:167:15 [INFO] [stderr] | [INFO] [stderr] 167 | message_tx: &Arc>>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/metrics/enabled.rs:16:34 [INFO] [stderr] | [INFO] [stderr] 16 | Some(time.timestamp() * 1000 + (time.timestamp_subsec_millis() as i64)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(time.timestamp_subsec_millis())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/sync/owned.rs:78:15 [INFO] [stderr] | [INFO] [stderr] 78 | message_tx: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `sync::owned::RedisClientRemote` [INFO] [stderr] --> src/sync/owned.rs:94:3 [INFO] [stderr] | [INFO] [stderr] 94 | / pub fn new() -> RedisClientRemote { [INFO] [stderr] 95 | | RedisClientRemote { [INFO] [stderr] 96 | | state: utils::init_state(), [INFO] [stderr] 97 | | borrowed: Arc::new(RwLock::new(None)), [INFO] [stderr] ... | [INFO] [stderr] 103 | | } [INFO] [stderr] 104 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 91 | impl Default for sync::owned::RedisClientRemote { [INFO] [stderr] 92 | fn default() -> Self { [INFO] [stderr] 93 | Self::new() [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/sync/owned.rs:240:5 [INFO] [stderr] | [INFO] [stderr] 240 | / match *borr_ref { [INFO] [stderr] 241 | | Some(ref mut borr) => borr.close(), [INFO] [stderr] 242 | | None => {} [INFO] [stderr] 243 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(ref mut borr) = *borr_ref { borr.close() }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/error.rs:98:67 [INFO] [stderr] | [INFO] [stderr] 98 | RedisErrorKind::UrlError(ref e) => RedisErrorKind::UrlError(e.clone()), [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/types.rs:123:57 [INFO] [stderr] | [INFO] [stderr] 123 | ReconnectPolicy::Constant { ref attempts, .. } => attempts.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*attempts` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/types.rs:124:55 [INFO] [stderr] | [INFO] [stderr] 124 | ReconnectPolicy::Linear { ref attempts, .. } => attempts.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*attempts` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/types.rs:125:60 [INFO] [stderr] | [INFO] [stderr] 125 | ReconnectPolicy::Exponential { ref attempts, .. } => attempts.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*attempts` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/types.rs:272:60 [INFO] [stderr] | [INFO] [stderr] 272 | RedisConfig::Centralized {ref max_value_size, ..} => max_value_size.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*max_value_size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/types.rs:273:58 [INFO] [stderr] | [INFO] [stderr] 273 | RedisConfig::Clustered {ref max_value_size, ..} => max_value_size.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*max_value_size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/sync/borrowed.rs:95:15 [INFO] [stderr] | [INFO] [stderr] 95 | message_tx: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `sync::borrowed::RedisClientRemote` [INFO] [stderr] --> src/sync/borrowed.rs:111:3 [INFO] [stderr] | [INFO] [stderr] 111 | / pub fn new() -> RedisClientRemote { [INFO] [stderr] 112 | | RedisClientRemote { [INFO] [stderr] 113 | | state: utils::init_state(), [INFO] [stderr] 114 | | command_tx: Arc::new(RwLock::new(None)), [INFO] [stderr] ... | [INFO] [stderr] 120 | | } [INFO] [stderr] 121 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 108 | impl Default for sync::borrowed::RedisClientRemote { [INFO] [stderr] 109 | fn default() -> Self { [INFO] [stderr] 110 | Self::new() [INFO] [stderr] 111 | } [INFO] [stderr] 112 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/types.rs:475:1 [INFO] [stderr] | [INFO] [stderr] 475 | / impl Hash for RedisKey { [INFO] [stderr] 476 | | fn hash(&self, state: &mut H) { [INFO] [stderr] 477 | | self.key.hash(state); [INFO] [stderr] 478 | | } [INFO] [stderr] 479 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/types.rs:360:28 [INFO] [stderr] | [INFO] [stderr] 360 | #[derive(Clone, Debug, Eq, PartialEq)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `types::MultipleKeys` [INFO] [stderr] --> src/types.rs:488:3 [INFO] [stderr] | [INFO] [stderr] 488 | / pub fn new() -> MultipleKeys { [INFO] [stderr] 489 | | MultipleKeys { keys: Vec::new() } [INFO] [stderr] 490 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 482 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/sync/borrowed.rs:193:42 [INFO] [stderr] | [INFO] [stderr] 193 | pub fn read_metrics_trackers(&self) -> (&Arc>>>>, &Arc>>>>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/sync/borrowed.rs:211:36 [INFO] [stderr] | [INFO] [stderr] 211 | pub fn read_message_tx(&self) -> &Arc>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/types.rs:604:36 [INFO] [stderr] | [INFO] [stderr] 604 | RedisValue::String(ref s) => match s.parse::() { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 605 | | Ok(_) => true, [INFO] [stderr] 606 | | Err(_) => false, [INFO] [stderr] 607 | | }, [INFO] [stderr] | |_______^ help: try this: `s.parse::().is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:725:25 [INFO] [stderr] | [INFO] [stderr] 725 | RedisValue::Integer(d as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:731:25 [INFO] [stderr] | [INFO] [stderr] 731 | RedisValue::Integer(d as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:737:25 [INFO] [stderr] | [INFO] [stderr] 737 | RedisValue::Integer(d as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:743:25 [INFO] [stderr] | [INFO] [stderr] 743 | RedisValue::Integer(d as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:749:25 [INFO] [stderr] | [INFO] [stderr] 749 | RedisValue::Integer(d as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:755:25 [INFO] [stderr] | [INFO] [stderr] 755 | RedisValue::Integer(d as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let res =` [INFO] [stderr] --> src/sync/utils.rs:157:3 [INFO] [stderr] | [INFO] [stderr] 157 | let res = client_error_tx_ref.push_back(tx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/sync/utils.rs:167:15 [INFO] [stderr] | [INFO] [stderr] 167 | message_tx: &Arc>>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/protocol/types.rs:55:11 [INFO] [stderr] | [INFO] [stderr] 55 | pub tx: Arc, RedisError>>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/protocol/types.rs:61:29 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn take(&mut self) -> (Option, RedisError>>>, Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/sync/owned.rs:78:15 [INFO] [stderr] | [INFO] [stderr] 78 | message_tx: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `sync::owned::RedisClientRemote` [INFO] [stderr] --> src/sync/owned.rs:94:3 [INFO] [stderr] | [INFO] [stderr] 94 | / pub fn new() -> RedisClientRemote { [INFO] [stderr] 95 | | RedisClientRemote { [INFO] [stderr] 96 | | state: utils::init_state(), [INFO] [stderr] 97 | | borrowed: Arc::new(RwLock::new(None)), [INFO] [stderr] ... | [INFO] [stderr] 103 | | } [INFO] [stderr] 104 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 91 | impl Default for sync::owned::RedisClientRemote { [INFO] [stderr] 92 | fn default() -> Self { [INFO] [stderr] 93 | Self::new() [INFO] [stderr] 94 | } [INFO] [stderr] 95 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/sync/owned.rs:240:5 [INFO] [stderr] | [INFO] [stderr] 240 | / match *borr_ref { [INFO] [stderr] 241 | | Some(ref mut borr) => borr.close(), [INFO] [stderr] 242 | | None => {} [INFO] [stderr] 243 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(ref mut borr) = *borr_ref { borr.close() }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/protocol/types.rs:652:34 [INFO] [stderr] | [INFO] [stderr] 652 | FrameKind::SimpleString => '+' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'+' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/protocol/types.rs:656:34 [INFO] [stderr] | [INFO] [stderr] 656 | | FrameKind::Canceled => '-' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'-' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/protocol/types.rs:657:34 [INFO] [stderr] | [INFO] [stderr] 657 | FrameKind::Integer => ':' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b':' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/protocol/types.rs:659:34 [INFO] [stderr] | [INFO] [stderr] 659 | | FrameKind::Null => '$' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'$' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/protocol/types.rs:660:34 [INFO] [stderr] | [INFO] [stderr] 660 | FrameKind::Array => '*' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'*' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/sync/borrowed.rs:95:15 [INFO] [stderr] | [INFO] [stderr] 95 | message_tx: Arc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `sync::borrowed::RedisClientRemote` [INFO] [stderr] --> src/sync/borrowed.rs:111:3 [INFO] [stderr] | [INFO] [stderr] 111 | / pub fn new() -> RedisClientRemote { [INFO] [stderr] 112 | | RedisClientRemote { [INFO] [stderr] 113 | | state: utils::init_state(), [INFO] [stderr] 114 | | command_tx: Arc::new(RwLock::new(None)), [INFO] [stderr] ... | [INFO] [stderr] 120 | | } [INFO] [stderr] 121 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 108 | impl Default for sync::borrowed::RedisClientRemote { [INFO] [stderr] 109 | fn default() -> Self { [INFO] [stderr] 110 | Self::new() [INFO] [stderr] 111 | } [INFO] [stderr] 112 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/protocol/types.rs:741:12 [INFO] [stderr] | [INFO] [stderr] 741 | && frames[0].to_string().unwrap_or(String::new()) == "message" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `frames[0].to_string().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/sync/borrowed.rs:193:42 [INFO] [stderr] | [INFO] [stderr] 193 | pub fn read_metrics_trackers(&self) -> (&Arc>>>>, &Arc>>>>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/sync/borrowed.rs:211:36 [INFO] [stderr] | [INFO] [stderr] 211 | pub fn read_message_tx(&self) -> &Arc>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/protocol/types.rs:795:20 [INFO] [stderr] | [INFO] [stderr] 795 | }else if res.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `res.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/protocol/types.rs:857:8 [INFO] [stderr] | [INFO] [stderr] 857 | if self.servers.len() == 0 { return None; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.servers.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/protocol/types.rs:936:8 [INFO] [stderr] | [INFO] [stderr] 936 | if self.data.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/protocol/types.rs:976:19 [INFO] [stderr] | [INFO] [stderr] 976 | pub fn to_frame(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/protocol/types.rs:1076:8 [INFO] [stderr] | [INFO] [stderr] 1076 | if buf.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/protocol/utils.rs:56:37 [INFO] [stderr] | [INFO] [stderr] 56 | if let Some(first) = server.split("@").next() { [INFO] [stderr] | ^^^ help: try using a char instead: `'@'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/protocol/utils.rs:63:29 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn binary_search(slots: &Vec>, slot: u16) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Rc]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/protocol/utils.rs:91:39 [INFO] [stderr] | [INFO] [stderr] 91 | let parts: Vec<&str> = line.split(" ").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/protocol/utils.rs:106:49 [INFO] [stderr] | [INFO] [stderr] 106 | let inner_parts: Vec<&str> = slot.split("-").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/protocol/utils.rs:129:39 [INFO] [stderr] | [INFO] [stderr] 129 | let parts: Vec<&str> = line.split(" ").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/protocol/utils.rs:184:11 [INFO] [stderr] | [INFO] [stderr] 184 | match first.as_ref(){ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try this: `first` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/protocol/utils.rs:188:28 [INFO] [stderr] | [INFO] [stderr] 188 | "Invalid" => match second.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try this: `second` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:214:15 [INFO] [stderr] | [INFO] [stderr] 214 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:218:15 [INFO] [stderr] | [INFO] [stderr] 218 | connect_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:225:14 [INFO] [stderr] | [INFO] [stderr] 225 | remote_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:356:36 [INFO] [stderr] | [INFO] [stderr] 356 | pub fn messages_cloned(&self) -> Rc>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/protocol/types.rs:55:11 [INFO] [stderr] | [INFO] [stderr] 55 | pub tx: Arc, RedisError>>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/protocol/types.rs:61:29 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn take(&mut self) -> (Option, RedisError>>>, Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:676:5 [INFO] [stderr] | [INFO] [stderr] 676 | let _guard = flame_start!("redis:get:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:682:7 [INFO] [stderr] | [INFO] [stderr] 682 | let _guard = flame_start!("redis:get:2"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:700:5 [INFO] [stderr] | [INFO] [stderr] 700 | let _guard = flame_start!("redis:set:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:704:7 [INFO] [stderr] | [INFO] [stderr] 704 | let _guard = flame_start!("redis:set:2"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:705:39 [INFO] [stderr] | [INFO] [stderr] 705 | let mut args = vec![key.into(), value.into()]; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:718:7 [INFO] [stderr] | [INFO] [stderr] 718 | let _guard = flame_start!("redis:set:3"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/protocol/types.rs:652:34 [INFO] [stderr] | [INFO] [stderr] 652 | FrameKind::SimpleString => '+' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'+' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/protocol/types.rs:656:34 [INFO] [stderr] | [INFO] [stderr] 656 | | FrameKind::Canceled => '-' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'-' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/protocol/types.rs:657:34 [INFO] [stderr] | [INFO] [stderr] 657 | FrameKind::Integer => ':' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b':' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/protocol/types.rs:659:34 [INFO] [stderr] | [INFO] [stderr] 659 | | FrameKind::Null => '$' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'$' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/protocol/types.rs:660:34 [INFO] [stderr] | [INFO] [stderr] 660 | FrameKind::Array => '*' as u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'*' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/protocol/types.rs:741:12 [INFO] [stderr] | [INFO] [stderr] 741 | && frames[0].to_string().unwrap_or(String::new()) == "message" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `frames[0].to_string().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:903:5 [INFO] [stderr] | [INFO] [stderr] 903 | let _guard = flame_start!("redis:del:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:912:7 [INFO] [stderr] | [INFO] [stderr] 912 | let _guard = flame_start!("redis:del:2"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/protocol/types.rs:795:20 [INFO] [stderr] | [INFO] [stderr] 795 | }else if res.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `res.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/protocol/types.rs:857:8 [INFO] [stderr] | [INFO] [stderr] 857 | if self.servers.len() == 0 { return None; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.servers.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/protocol/types.rs:936:8 [INFO] [stderr] | [INFO] [stderr] 936 | if self.data.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/protocol/types.rs:976:19 [INFO] [stderr] | [INFO] [stderr] 976 | pub fn to_frame(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:1117:52 [INFO] [stderr] | [INFO] [stderr] 1117 | let args: Vec = vec![key.into(), value.into()]; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1135:5 [INFO] [stderr] | [INFO] [stderr] 1135 | let _guard = flame_start!("redis:hdel:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1141:7 [INFO] [stderr] | [INFO] [stderr] 1141 | let _guard = flame_start!("redis:hdel:2"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1152:7 [INFO] [stderr] | [INFO] [stderr] 1152 | let _guard = flame_start!("redis:hdel:3"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/protocol/types.rs:1076:8 [INFO] [stderr] | [INFO] [stderr] 1076 | if buf.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1199:5 [INFO] [stderr] | [INFO] [stderr] 1199 | let _guard = flame_start!("redis:hget:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/protocol/utils.rs:56:37 [INFO] [stderr] | [INFO] [stderr] 56 | if let Some(first) = server.split("@").next() { [INFO] [stderr] | ^^^ help: try using a char instead: `'@'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/protocol/utils.rs:63:29 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn binary_search(slots: &Vec>, slot: u16) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Rc]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1208:7 [INFO] [stderr] | [INFO] [stderr] 1208 | let _guard = flame_start!("redis:hget:2"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/protocol/utils.rs:91:39 [INFO] [stderr] | [INFO] [stderr] 91 | let parts: Vec<&str> = line.split(" ").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/protocol/utils.rs:106:49 [INFO] [stderr] | [INFO] [stderr] 106 | let inner_parts: Vec<&str> = slot.split("-").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/protocol/utils.rs:129:39 [INFO] [stderr] | [INFO] [stderr] 129 | let parts: Vec<&str> = line.split(" ").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/protocol/utils.rs:184:11 [INFO] [stderr] | [INFO] [stderr] 184 | match first.as_ref(){ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try this: `first` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/protocol/utils.rs:188:28 [INFO] [stderr] | [INFO] [stderr] 188 | "Invalid" => match second.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try this: `second` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1421:5 [INFO] [stderr] | [INFO] [stderr] 1421 | let _guard = flame_start!("redis:hset:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:214:15 [INFO] [stderr] | [INFO] [stderr] 214 | message_tx: Rc>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:218:15 [INFO] [stderr] | [INFO] [stderr] 218 | connect_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:225:14 [INFO] [stderr] | [INFO] [stderr] 225 | remote_tx: Rc>>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1427:7 [INFO] [stderr] | [INFO] [stderr] 1427 | let _guard = flame_start!("redis:hset:2"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1433:7 [INFO] [stderr] | [INFO] [stderr] 1433 | let _guard = flame_start!("redis:hset:3"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/lib.rs:356:36 [INFO] [stderr] | [INFO] [stderr] 356 | pub fn messages_cloned(&self) -> Rc>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1518:7 [INFO] [stderr] | [INFO] [stderr] 1518 | let _guard = flame_start!("redis:incr:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:1609:52 [INFO] [stderr] | [INFO] [stderr] 1609 | let args: Vec = vec![key.into(), value.into()]; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:676:5 [INFO] [stderr] | [INFO] [stderr] 676 | let _guard = flame_start!("redis:get:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:682:7 [INFO] [stderr] | [INFO] [stderr] 682 | let _guard = flame_start!("redis:get:2"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:700:5 [INFO] [stderr] | [INFO] [stderr] 700 | let _guard = flame_start!("redis:set:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:704:7 [INFO] [stderr] | [INFO] [stderr] 704 | let _guard = flame_start!("redis:set:2"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:705:39 [INFO] [stderr] | [INFO] [stderr] 705 | let mut args = vec![key.into(), value.into()]; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:718:7 [INFO] [stderr] | [INFO] [stderr] 718 | let _guard = flame_start!("redis:set:3"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:903:5 [INFO] [stderr] | [INFO] [stderr] 903 | let _guard = flame_start!("redis:del:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:912:7 [INFO] [stderr] | [INFO] [stderr] 912 | let _guard = flame_start!("redis:del:2"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] error: Could not compile `fred`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:1117:52 [INFO] [stderr] | [INFO] [stderr] 1117 | let args: Vec = vec![key.into(), value.into()]; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1135:5 [INFO] [stderr] | [INFO] [stderr] 1135 | let _guard = flame_start!("redis:hdel:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1141:7 [INFO] [stderr] | [INFO] [stderr] 1141 | let _guard = flame_start!("redis:hdel:2"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1152:7 [INFO] [stderr] | [INFO] [stderr] 1152 | let _guard = flame_start!("redis:hdel:3"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1199:5 [INFO] [stderr] | [INFO] [stderr] 1199 | let _guard = flame_start!("redis:hget:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1208:7 [INFO] [stderr] | [INFO] [stderr] 1208 | let _guard = flame_start!("redis:hget:2"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1421:5 [INFO] [stderr] | [INFO] [stderr] 1421 | let _guard = flame_start!("redis:hset:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1427:7 [INFO] [stderr] | [INFO] [stderr] 1427 | let _guard = flame_start!("redis:hset:2"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1433:7 [INFO] [stderr] | [INFO] [stderr] 1433 | let _guard = flame_start!("redis:hset:3"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _guard =` [INFO] [stderr] --> src/lib.rs:1518:7 [INFO] [stderr] | [INFO] [stderr] 1518 | let _guard = flame_start!("redis:incr:1"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:1609:52 [INFO] [stderr] | [INFO] [stderr] 1609 | let args: Vec = vec![key.into(), value.into()]; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider removing `.into()`: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `fred`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "f614610ff72f66160eda7b532ecae26c643c03b740c8ba5c8e1d9d6c7215f9fd"` [INFO] running `"docker" "rm" "-f" "f614610ff72f66160eda7b532ecae26c643c03b740c8ba5c8e1d9d6c7215f9fd"` [INFO] [stdout] f614610ff72f66160eda7b532ecae26c643c03b740c8ba5c8e1d9d6c7215f9fd