[INFO] crate swindon 0.7.8 is already in cache [INFO] extracting crate swindon 0.7.8 into work/ex/clippy-test-run/sources/stable/reg/swindon/0.7.8 [INFO] extracting crate swindon 0.7.8 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/swindon/0.7.8 [INFO] validating manifest of swindon-0.7.8 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 swindon-0.7.8 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 swindon-0.7.8 [INFO] finished frobbing swindon-0.7.8 [INFO] frobbed toml for swindon-0.7.8 written to work/ex/clippy-test-run/sources/stable/reg/swindon/0.7.8/Cargo.toml [INFO] started frobbing swindon-0.7.8 [INFO] finished frobbing swindon-0.7.8 [INFO] frobbed toml for swindon-0.7.8 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/swindon/0.7.8/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 swindon-0.7.8 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/swindon/0.7.8:/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] e32ffb79f91134d981a2a7ac8725a777ab0eabfa34276125ed0fa297ae06b1c1 [INFO] running `"docker" "start" "-a" "e32ffb79f91134d981a2a7ac8725a777ab0eabfa34276125ed0fa297ae06b1c1"` [INFO] [stderr] Compiling serde v1.0.85 [INFO] [stderr] Checking atomic v0.3.4 [INFO] [stderr] Checking combine v2.5.2 [INFO] [stderr] Checking humannum v0.1.0 [INFO] [stderr] Checking digest-writer v0.3.1 [INFO] [stderr] Checking blake2 v0.7.1 [INFO] [stderr] Checking tk-listen v0.1.1 [INFO] [stderr] Checking tk-http v0.3.9 [INFO] [stderr] Checking tk-pool v0.5.3 [INFO] [stderr] Checking ns-router v0.1.6 [INFO] [stderr] Checking http-file-headers v0.1.8 [INFO] [stderr] Checking self-meter v0.6.0 [INFO] [stderr] Checking serde_json v1.0.37 [INFO] [stderr] Checking quire v0.3.1 [INFO] [stderr] Checking string-intern v0.1.7 [INFO] [stderr] Checking self-meter-http v0.4.1 [INFO] [stderr] Checking httpbin v0.3.3 [INFO] [stderr] Checking trimmer v0.3.6 [INFO] [stderr] Checking libcantal v0.3.2 [INFO] [stderr] Checking swindon v0.7.8 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/chat/authorize.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/backend.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | chat: chat, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `chat` [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/chat/backend.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/chat/backend.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/chat/backend.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | sender: sender, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `sender` [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/chat/backend.rs:120:17 [INFO] [stderr] | [INFO] [stderr] 120 | auth: auth, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `auth` [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/chat/backend.rs:121:17 [INFO] [stderr] | [INFO] [stderr] 121 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/chat/backend.rs:122:17 [INFO] [stderr] | [INFO] [stderr] 122 | 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/chat/backend.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | kw: kw, [INFO] [stderr] | ^^^^^^ help: replace it with: `kw` [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/chat/backend.rs:160:13 [INFO] [stderr] | [INFO] [stderr] 160 | tangle_auth: tangle_auth, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tangle_auth` [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/chat/dispatcher.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | timestamp: timestamp, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `timestamp` [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/chat/listener/codec.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/chat/listener/codec.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | wdata: wdata, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `wdata` [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/chat/listener/codec.rs:318:25 [INFO] [stderr] | [INFO] [stderr] 318 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/listener/codec.rs:338:25 [INFO] [stderr] | [INFO] [stderr] 338 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/listener/codec.rs:356:29 [INFO] [stderr] | [INFO] [stderr] 356 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/listener/codec.rs:357:29 [INFO] [stderr] | [INFO] [stderr] 357 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/chat/listener/codec.rs:389:29 [INFO] [stderr] | [INFO] [stderr] 389 | delta: delta, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delta` [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/chat/listener/codec.rs:439:29 [INFO] [stderr] | [INFO] [stderr] 439 | delta: delta, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delta` [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/chat/listener/codec.rs:467:33 [INFO] [stderr] | [INFO] [stderr] 467 | list: list, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `list` [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/chat/listener/codec.rs:495:29 [INFO] [stderr] | [INFO] [stderr] 495 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/chat/listener/codec.rs:496:29 [INFO] [stderr] | [INFO] [stderr] 496 | list: list, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `list` [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/chat/listener/pools.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | processor: processor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `processor` [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/chat/listener/pools.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | remote_sender: remote_sender, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remote_sender` [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/chat/message.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | meta: meta, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `meta` [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/chat/processor/pool.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/chat/processor/public.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/chat/processor/public.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/chat/processor/public.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/chat/processor/connection.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/chat/processor/connection.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/chat/processor/mod.rs:217:47 [INFO] [stderr] | [INFO] [stderr] 217 | tup.serialize_element(&Meta { topic: topic })?; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/processor/mod.rs:232:47 [INFO] [stderr] | [INFO] [stderr] 232 | tup.serialize_element(&Meta { namespace: namespace })?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/processor/mod.rs:243:21 [INFO] [stderr] | [INFO] [stderr] 243 | meta: meta, extra: json_err(err), [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `meta` [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/chat/replication/action.rs:99:21 [INFO] [stderr] | [INFO] [stderr] 99 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:100:21 [INFO] [stderr] | [INFO] [stderr] 100 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/replication/action.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:106:21 [INFO] [stderr] | [INFO] [stderr] 106 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/replication/action.rs:111:21 [INFO] [stderr] | [INFO] [stderr] 111 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/replication/action.rs:112:21 [INFO] [stderr] | [INFO] [stderr] 112 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/chat/replication/action.rs:117:21 [INFO] [stderr] | [INFO] [stderr] 117 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:118:21 [INFO] [stderr] | [INFO] [stderr] 118 | namespace: namespace, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/replication/action.rs:123:21 [INFO] [stderr] | [INFO] [stderr] 123 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:124:21 [INFO] [stderr] | [INFO] [stderr] 124 | namespace: namespace, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/replication/action.rs:129:21 [INFO] [stderr] | [INFO] [stderr] 129 | namespace: namespace, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/replication/action.rs:130:21 [INFO] [stderr] | [INFO] [stderr] 130 | delta: delta, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delta` [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/chat/replication/action.rs:135:21 [INFO] [stderr] | [INFO] [stderr] 135 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/chat/replication/action.rs:141:21 [INFO] [stderr] | [INFO] [stderr] 141 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:142:21 [INFO] [stderr] | [INFO] [stderr] 142 | list: list, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `list` [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/chat/replication/action.rs:150:21 [INFO] [stderr] | [INFO] [stderr] 150 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/session.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | processor: processor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `processor` [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/chat/replication/spawn.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | 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/chat/replication/server.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | sender: sender, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `sender` [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/chat/replication/server.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/chat/replication/server.rs:76:25 [INFO] [stderr] | [INFO] [stderr] 76 | remote_id: remote_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remote_id` [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/chat/replication/server.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | 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/chat/replication/client.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/config/routing.rs:117:17 [INFO] [stderr] | [INFO] [stderr] 117 | authorizer: authorizer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `authorizer` [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/config/chat.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | default: default, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `default` [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/handlers/files/pools.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | pools: pools, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pools` [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/handlers/files/pools.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | default: default, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `default` [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/handlers/swindon_chat.rs:133:37 [INFO] [stderr] | [INFO] [stderr] 133 | cid: cid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cid` [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/handlers/swindon_chat.rs:134:37 [INFO] [stderr] | [INFO] [stderr] 134 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/handlers/swindon_chat.rs:135:37 [INFO] [stderr] | [INFO] [stderr] 135 | auth: auth, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `auth` [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/handlers/swindon_chat.rs:138:37 [INFO] [stderr] | [INFO] [stderr] 138 | processor: processor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `processor` [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/handlers/swindon_chat.rs:139:37 [INFO] [stderr] | [INFO] [stderr] 139 | remote: remote, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `remote` [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/handlers/swindon_chat.rs:223:21 [INFO] [stderr] | [INFO] [stderr] 223 | cid: cid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cid` [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/handlers/swindon_chat.rs:230:25 [INFO] [stderr] | [INFO] [stderr] 230 | proto: proto, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `proto` [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/incoming/router.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/incoming/router.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | runtime: runtime, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `runtime` [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/incoming/router.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/incoming/router.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/incoming/router.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | headers: headers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [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/incoming/router.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/router.rs:133:29 [INFO] [stderr] | [INFO] [stderr] 133 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/router.rs:146:29 [INFO] [stderr] | [INFO] [stderr] 146 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/debug.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/encoder.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | 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/incoming/encoder.rs:53:21 [INFO] [stderr] | [INFO] [stderr] 53 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/incoming/encoder.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | enc: enc, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `enc` [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/incoming/encoder.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | 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/incoming/encoder.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/proxy/response.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | status: status, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `status` [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/proxy/response.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [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/proxy/request.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/proxy/request.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [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/routing.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | table: table, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/startup.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | meter: meter, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `meter` [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/startup.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/startup.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | http_pools: http_pools, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `http_pools` [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/startup.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | session_pools: session_pools, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_pools` [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/startup.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | replication_session: replication_session, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `replication_session` [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/startup.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | runtime: runtime, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `runtime` [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/startup.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | disk_pools: disk_pools, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_pools` [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/chat/authorize.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/backend.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | chat: chat, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `chat` [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/chat/backend.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/chat/backend.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/chat/backend.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | sender: sender, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `sender` [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/chat/backend.rs:120:17 [INFO] [stderr] | [INFO] [stderr] 120 | auth: auth, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `auth` [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/chat/backend.rs:121:17 [INFO] [stderr] | [INFO] [stderr] 121 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/chat/backend.rs:122:17 [INFO] [stderr] | [INFO] [stderr] 122 | 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/chat/backend.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | kw: kw, [INFO] [stderr] | ^^^^^^ help: replace it with: `kw` [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/chat/backend.rs:160:13 [INFO] [stderr] | [INFO] [stderr] 160 | tangle_auth: tangle_auth, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tangle_auth` [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/chat/dispatcher.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | timestamp: timestamp, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `timestamp` [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/chat/listener/codec.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/chat/listener/codec.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | wdata: wdata, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `wdata` [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/chat/listener/codec.rs:318:25 [INFO] [stderr] | [INFO] [stderr] 318 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/listener/codec.rs:338:25 [INFO] [stderr] | [INFO] [stderr] 338 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/listener/codec.rs:356:29 [INFO] [stderr] | [INFO] [stderr] 356 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/listener/codec.rs:357:29 [INFO] [stderr] | [INFO] [stderr] 357 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/chat/listener/codec.rs:389:29 [INFO] [stderr] | [INFO] [stderr] 389 | delta: delta, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delta` [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/chat/listener/codec.rs:439:29 [INFO] [stderr] | [INFO] [stderr] 439 | delta: delta, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delta` [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/chat/listener/codec.rs:467:33 [INFO] [stderr] | [INFO] [stderr] 467 | list: list, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `list` [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/chat/listener/codec.rs:495:29 [INFO] [stderr] | [INFO] [stderr] 495 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/chat/listener/codec.rs:496:29 [INFO] [stderr] | [INFO] [stderr] 496 | list: list, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `list` [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/chat/listener/pools.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | processor: processor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `processor` [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/chat/listener/pools.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | remote_sender: remote_sender, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remote_sender` [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/chat/message.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | meta: meta, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `meta` [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/chat/processor/pool.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/chat/processor/public.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/chat/processor/public.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/chat/processor/public.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/chat/processor/connection.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/chat/processor/connection.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/chat/processor/mod.rs:217:47 [INFO] [stderr] | [INFO] [stderr] 217 | tup.serialize_element(&Meta { topic: topic })?; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/processor/mod.rs:232:47 [INFO] [stderr] | [INFO] [stderr] 232 | tup.serialize_element(&Meta { namespace: namespace })?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/processor/mod.rs:243:21 [INFO] [stderr] | [INFO] [stderr] 243 | meta: meta, extra: json_err(err), [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `meta` [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/chat/replication/action.rs:99:21 [INFO] [stderr] | [INFO] [stderr] 99 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:100:21 [INFO] [stderr] | [INFO] [stderr] 100 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/replication/action.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:106:21 [INFO] [stderr] | [INFO] [stderr] 106 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/replication/action.rs:111:21 [INFO] [stderr] | [INFO] [stderr] 111 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/replication/action.rs:112:21 [INFO] [stderr] | [INFO] [stderr] 112 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/chat/replication/action.rs:117:21 [INFO] [stderr] | [INFO] [stderr] 117 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:118:21 [INFO] [stderr] | [INFO] [stderr] 118 | namespace: namespace, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/replication/action.rs:123:21 [INFO] [stderr] | [INFO] [stderr] 123 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:124:21 [INFO] [stderr] | [INFO] [stderr] 124 | namespace: namespace, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/replication/action.rs:129:21 [INFO] [stderr] | [INFO] [stderr] 129 | namespace: namespace, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/replication/action.rs:130:21 [INFO] [stderr] | [INFO] [stderr] 130 | delta: delta, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delta` [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/chat/replication/action.rs:135:21 [INFO] [stderr] | [INFO] [stderr] 135 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/chat/replication/action.rs:141:21 [INFO] [stderr] | [INFO] [stderr] 141 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:142:21 [INFO] [stderr] | [INFO] [stderr] 142 | list: list, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `list` [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/chat/replication/action.rs:150:21 [INFO] [stderr] | [INFO] [stderr] 150 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/session.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | processor: processor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `processor` [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/chat/replication/spawn.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | 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/chat/replication/server.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | sender: sender, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `sender` [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/chat/replication/server.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/chat/replication/server.rs:76:25 [INFO] [stderr] | [INFO] [stderr] 76 | remote_id: remote_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remote_id` [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/chat/replication/server.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | 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/chat/replication/client.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/config/routing.rs:117:17 [INFO] [stderr] | [INFO] [stderr] 117 | authorizer: authorizer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `authorizer` [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/config/chat.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | default: default, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `default` [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/handlers/files/pools.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | pools: pools, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pools` [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/handlers/files/pools.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | default: default, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `default` [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/handlers/swindon_chat.rs:133:37 [INFO] [stderr] | [INFO] [stderr] 133 | cid: cid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cid` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/chat/authorize.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/handlers/swindon_chat.rs:134:37 [INFO] [stderr] | [INFO] [stderr] 134 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/handlers/swindon_chat.rs:135:37 [INFO] [stderr] | [INFO] [stderr] 135 | auth: auth, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `auth` [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/handlers/swindon_chat.rs:138:37 [INFO] [stderr] | [INFO] [stderr] 138 | processor: processor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `processor` [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/handlers/swindon_chat.rs:139:37 [INFO] [stderr] | [INFO] [stderr] 139 | remote: remote, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `remote` [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/handlers/swindon_chat.rs:223:21 [INFO] [stderr] | [INFO] [stderr] 223 | cid: cid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cid` [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/handlers/swindon_chat.rs:230:25 [INFO] [stderr] | [INFO] [stderr] 230 | proto: proto, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `proto` [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/incoming/router.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/incoming/router.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | runtime: runtime, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `runtime` [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/incoming/router.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/incoming/router.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/incoming/router.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | headers: headers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [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/incoming/router.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/router.rs:133:29 [INFO] [stderr] | [INFO] [stderr] 133 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/router.rs:146:29 [INFO] [stderr] | [INFO] [stderr] 146 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/debug.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/encoder.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | 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/incoming/encoder.rs:53:21 [INFO] [stderr] | [INFO] [stderr] 53 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/incoming/encoder.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | enc: enc, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `enc` [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/incoming/encoder.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | 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/incoming/encoder.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/proxy/response.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | status: status, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `status` [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/chat/backend.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | chat: chat, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `chat` [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/chat/backend.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/chat/backend.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/proxy/response.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [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/chat/backend.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | sender: sender, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `sender` [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/proxy/request.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/chat/backend.rs:120:17 [INFO] [stderr] | [INFO] [stderr] 120 | auth: auth, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `auth` [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] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/chat/backend.rs:121:17 [INFO] [stderr] | [INFO] [stderr] 121 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/proxy/request.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [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/chat/backend.rs:122:17 [INFO] [stderr] | [INFO] [stderr] 122 | 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] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/routing.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | table: table, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/chat/backend.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | kw: kw, [INFO] [stderr] | ^^^^^^ help: replace it with: `kw` [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/chat/backend.rs:160:13 [INFO] [stderr] | [INFO] [stderr] 160 | tangle_auth: tangle_auth, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tangle_auth` [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/chat/dispatcher.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | timestamp: timestamp, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `timestamp` [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/startup.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | meter: meter, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `meter` [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/chat/listener/codec.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/startup.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/startup.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | http_pools: http_pools, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `http_pools` [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/startup.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | session_pools: session_pools, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_pools` [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/startup.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | replication_session: replication_session, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `replication_session` [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/startup.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | runtime: runtime, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `runtime` [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/startup.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | disk_pools: disk_pools, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_pools` [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] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/chat/listener/codec.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | wdata: wdata, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `wdata` [INFO] [stderr] [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/chat/listener/codec.rs:318:25 [INFO] [stderr] | [INFO] [stderr] 318 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/listener/codec.rs:338:25 [INFO] [stderr] | [INFO] [stderr] 338 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/listener/codec.rs:356:29 [INFO] [stderr] | [INFO] [stderr] 356 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/listener/codec.rs:357:29 [INFO] [stderr] | [INFO] [stderr] 357 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/chat/listener/codec.rs:389:29 [INFO] [stderr] | [INFO] [stderr] 389 | delta: delta, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delta` [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/chat/listener/codec.rs:439:29 [INFO] [stderr] | [INFO] [stderr] 439 | delta: delta, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delta` [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/chat/listener/codec.rs:467:33 [INFO] [stderr] | [INFO] [stderr] 467 | list: list, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `list` [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/chat/listener/codec.rs:495:29 [INFO] [stderr] | [INFO] [stderr] 495 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/chat/listener/codec.rs:496:29 [INFO] [stderr] | [INFO] [stderr] 496 | list: list, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `list` [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/chat/listener/pools.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | processor: processor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `processor` [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/chat/listener/pools.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | remote_sender: remote_sender, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remote_sender` [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/chat/message.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | meta: meta, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `meta` [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/chat/processor/pool.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/chat/processor/public.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/chat/processor/public.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/chat/processor/public.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/chat/processor/connection.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/chat/processor/connection.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/chat/processor/mod.rs:217:47 [INFO] [stderr] | [INFO] [stderr] 217 | tup.serialize_element(&Meta { topic: topic })?; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/processor/mod.rs:232:47 [INFO] [stderr] | [INFO] [stderr] 232 | tup.serialize_element(&Meta { namespace: namespace })?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/processor/mod.rs:243:21 [INFO] [stderr] | [INFO] [stderr] 243 | meta: meta, extra: json_err(err), [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `meta` [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/chat/replication/action.rs:99:21 [INFO] [stderr] | [INFO] [stderr] 99 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:100:21 [INFO] [stderr] | [INFO] [stderr] 100 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/replication/action.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:106:21 [INFO] [stderr] | [INFO] [stderr] 106 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/replication/action.rs:111:21 [INFO] [stderr] | [INFO] [stderr] 111 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/replication/action.rs:112:21 [INFO] [stderr] | [INFO] [stderr] 112 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/chat/replication/action.rs:117:21 [INFO] [stderr] | [INFO] [stderr] 117 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:118:21 [INFO] [stderr] | [INFO] [stderr] 118 | namespace: namespace, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/replication/action.rs:123:21 [INFO] [stderr] | [INFO] [stderr] 123 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:124:21 [INFO] [stderr] | [INFO] [stderr] 124 | namespace: namespace, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/replication/action.rs:129:21 [INFO] [stderr] | [INFO] [stderr] 129 | namespace: namespace, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/replication/action.rs:130:21 [INFO] [stderr] | [INFO] [stderr] 130 | delta: delta, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delta` [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/chat/replication/action.rs:135:21 [INFO] [stderr] | [INFO] [stderr] 135 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/chat/replication/action.rs:141:21 [INFO] [stderr] | [INFO] [stderr] 141 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:142:21 [INFO] [stderr] | [INFO] [stderr] 142 | list: list, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `list` [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/chat/replication/action.rs:150:21 [INFO] [stderr] | [INFO] [stderr] 150 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/session.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | processor: processor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `processor` [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/chat/replication/spawn.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | 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/chat/replication/server.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | sender: sender, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `sender` [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/chat/replication/server.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/chat/replication/server.rs:76:25 [INFO] [stderr] | [INFO] [stderr] 76 | remote_id: remote_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remote_id` [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/chat/replication/server.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | 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/chat/replication/client.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/config/routing.rs:117:17 [INFO] [stderr] | [INFO] [stderr] 117 | authorizer: authorizer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `authorizer` [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/config/chat.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | default: default, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `default` [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: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:112:17 [INFO] [stderr] | [INFO] [stderr] 112 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:135:17 [INFO] [stderr] | [INFO] [stderr] 135 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/handlers/files/pools.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | pools: pools, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pools` [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/handlers/files/pools.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | default: default, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `default` [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/handlers/swindon_chat.rs:133:37 [INFO] [stderr] | [INFO] [stderr] 133 | cid: cid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cid` [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/handlers/swindon_chat.rs:134:37 [INFO] [stderr] | [INFO] [stderr] 134 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/handlers/swindon_chat.rs:135:37 [INFO] [stderr] | [INFO] [stderr] 135 | auth: auth, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `auth` [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/handlers/swindon_chat.rs:138:37 [INFO] [stderr] | [INFO] [stderr] 138 | processor: processor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `processor` [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/handlers/swindon_chat.rs:139:37 [INFO] [stderr] | [INFO] [stderr] 139 | remote: remote, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `remote` [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/handlers/swindon_chat.rs:223:21 [INFO] [stderr] | [INFO] [stderr] 223 | cid: cid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cid` [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/handlers/swindon_chat.rs:230:25 [INFO] [stderr] | [INFO] [stderr] 230 | proto: proto, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `proto` [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/incoming/router.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/incoming/router.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | runtime: runtime, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `runtime` [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/incoming/router.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/incoming/router.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/incoming/router.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | headers: headers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [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/incoming/router.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/router.rs:133:29 [INFO] [stderr] | [INFO] [stderr] 133 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/router.rs:146:29 [INFO] [stderr] | [INFO] [stderr] 146 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/debug.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/encoder.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | 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/incoming/encoder.rs:53:21 [INFO] [stderr] | [INFO] [stderr] 53 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/incoming/encoder.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | enc: enc, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `enc` [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/incoming/encoder.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | 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/incoming/encoder.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/proxy/response.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | status: status, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `status` [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/proxy/response.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [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/proxy/request.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/proxy/request.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [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/routing.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | table: table, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/startup.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | meter: meter, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `meter` [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/startup.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/startup.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | http_pools: http_pools, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `http_pools` [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/startup.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | session_pools: session_pools, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_pools` [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/startup.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | replication_session: replication_session, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `replication_session` [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/startup.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | runtime: runtime, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `runtime` [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/startup.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | disk_pools: disk_pools, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_pools` [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/chat/authorize.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/backend.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | chat: chat, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `chat` [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/chat/backend.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/chat/backend.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/chat/backend.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | sender: sender, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `sender` [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/chat/backend.rs:120:17 [INFO] [stderr] | [INFO] [stderr] 120 | auth: auth, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `auth` [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/chat/backend.rs:121:17 [INFO] [stderr] | [INFO] [stderr] 121 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/chat/backend.rs:122:17 [INFO] [stderr] | [INFO] [stderr] 122 | 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/chat/backend.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | kw: kw, [INFO] [stderr] | ^^^^^^ help: replace it with: `kw` [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/chat/backend.rs:160:13 [INFO] [stderr] | [INFO] [stderr] 160 | tangle_auth: tangle_auth, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tangle_auth` [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/chat/dispatcher.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | timestamp: timestamp, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `timestamp` [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/chat/listener/codec.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/chat/listener/codec.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | wdata: wdata, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `wdata` [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/chat/listener/codec.rs:318:25 [INFO] [stderr] | [INFO] [stderr] 318 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/listener/codec.rs:338:25 [INFO] [stderr] | [INFO] [stderr] 338 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/listener/codec.rs:356:29 [INFO] [stderr] | [INFO] [stderr] 356 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/listener/codec.rs:357:29 [INFO] [stderr] | [INFO] [stderr] 357 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/chat/listener/codec.rs:389:29 [INFO] [stderr] | [INFO] [stderr] 389 | delta: delta, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delta` [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/chat/listener/codec.rs:439:29 [INFO] [stderr] | [INFO] [stderr] 439 | delta: delta, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delta` [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/chat/listener/codec.rs:467:33 [INFO] [stderr] | [INFO] [stderr] 467 | list: list, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `list` [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/chat/listener/codec.rs:495:29 [INFO] [stderr] | [INFO] [stderr] 495 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/chat/listener/codec.rs:496:29 [INFO] [stderr] | [INFO] [stderr] 496 | list: list, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `list` [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/chat/listener/pools.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | processor: processor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `processor` [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/chat/listener/pools.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | remote_sender: remote_sender, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remote_sender` [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/chat/message.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | meta: meta, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `meta` [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/chat/processor/pool.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/chat/processor/public.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/chat/processor/public.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/chat/processor/public.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/chat/processor/connection.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/chat/processor/connection.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/chat/processor/mod.rs:217:47 [INFO] [stderr] | [INFO] [stderr] 217 | tup.serialize_element(&Meta { topic: topic })?; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/processor/mod.rs:232:47 [INFO] [stderr] | [INFO] [stderr] 232 | tup.serialize_element(&Meta { namespace: namespace })?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/processor/mod.rs:243:21 [INFO] [stderr] | [INFO] [stderr] 243 | meta: meta, extra: json_err(err), [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `meta` [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/chat/replication/action.rs:99:21 [INFO] [stderr] | [INFO] [stderr] 99 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:100:21 [INFO] [stderr] | [INFO] [stderr] 100 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/replication/action.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:106:21 [INFO] [stderr] | [INFO] [stderr] 106 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/replication/action.rs:111:21 [INFO] [stderr] | [INFO] [stderr] 111 | topic: topic, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `topic` [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/chat/replication/action.rs:112:21 [INFO] [stderr] | [INFO] [stderr] 112 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/chat/replication/action.rs:117:21 [INFO] [stderr] | [INFO] [stderr] 117 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:118:21 [INFO] [stderr] | [INFO] [stderr] 118 | namespace: namespace, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/replication/action.rs:123:21 [INFO] [stderr] | [INFO] [stderr] 123 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:124:21 [INFO] [stderr] | [INFO] [stderr] 124 | namespace: namespace, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/replication/action.rs:129:21 [INFO] [stderr] | [INFO] [stderr] 129 | namespace: namespace, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `namespace` [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/chat/replication/action.rs:130:21 [INFO] [stderr] | [INFO] [stderr] 130 | delta: delta, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delta` [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/chat/replication/action.rs:135:21 [INFO] [stderr] | [INFO] [stderr] 135 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/chat/replication/action.rs:141:21 [INFO] [stderr] | [INFO] [stderr] 141 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/action.rs:142:21 [INFO] [stderr] | [INFO] [stderr] 142 | list: list, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `list` [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/chat/replication/action.rs:150:21 [INFO] [stderr] | [INFO] [stderr] 150 | conn_id: conn_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `conn_id` [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/chat/replication/session.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | processor: processor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `processor` [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/chat/replication/spawn.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | 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/chat/replication/server.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | sender: sender, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `sender` [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/chat/replication/server.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/chat/replication/server.rs:76:25 [INFO] [stderr] | [INFO] [stderr] 76 | remote_id: remote_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remote_id` [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/chat/replication/server.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | 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/chat/replication/client.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/config/routing.rs:117:17 [INFO] [stderr] | [INFO] [stderr] 117 | authorizer: authorizer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `authorizer` [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/config/chat.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | default: default, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `default` [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: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:112:17 [INFO] [stderr] | [INFO] [stderr] 112 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buf, "")` [INFO] [stderr] --> src/dev/mod.rs:135:17 [INFO] [stderr] | [INFO] [stderr] 135 | writeln!(buf, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/handlers/files/pools.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | pools: pools, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pools` [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/handlers/files/pools.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | default: default, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `default` [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/handlers/swindon_chat.rs:133:37 [INFO] [stderr] | [INFO] [stderr] 133 | cid: cid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cid` [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/handlers/swindon_chat.rs:134:37 [INFO] [stderr] | [INFO] [stderr] 134 | session_id: session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [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/handlers/swindon_chat.rs:135:37 [INFO] [stderr] | [INFO] [stderr] 135 | auth: auth, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `auth` [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/handlers/swindon_chat.rs:138:37 [INFO] [stderr] | [INFO] [stderr] 138 | processor: processor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `processor` [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/handlers/swindon_chat.rs:139:37 [INFO] [stderr] | [INFO] [stderr] 139 | remote: remote, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `remote` [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/handlers/swindon_chat.rs:223:21 [INFO] [stderr] | [INFO] [stderr] 223 | cid: cid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cid` [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/handlers/swindon_chat.rs:230:25 [INFO] [stderr] | [INFO] [stderr] 230 | proto: proto, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `proto` [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/incoming/router.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | addr: addr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `addr` [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/incoming/router.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | runtime: runtime, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `runtime` [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/incoming/router.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/incoming/router.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/incoming/router.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | headers: headers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [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/incoming/router.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/router.rs:133:29 [INFO] [stderr] | [INFO] [stderr] 133 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/router.rs:146:29 [INFO] [stderr] | [INFO] [stderr] 146 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/debug.rs:33:17 [INFO] [stderr] | [INFO] [stderr] 33 | request_id: request_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_id` [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/incoming/encoder.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | 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/incoming/encoder.rs:53:21 [INFO] [stderr] | [INFO] [stderr] 53 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/incoming/encoder.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | enc: enc, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `enc` [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/incoming/encoder.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | 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/incoming/encoder.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/proxy/response.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | status: status, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `status` [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/proxy/response.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [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/proxy/request.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/proxy/request.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | body: body, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `body` [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/routing.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | table: table, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/startup.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | meter: meter, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `meter` [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/startup.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | server_id: server_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `server_id` [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/startup.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | http_pools: http_pools, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `http_pools` [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/startup.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | session_pools: session_pools, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_pools` [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/startup.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | replication_session: replication_session, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `replication_session` [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/startup.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | runtime: runtime, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `runtime` [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/startup.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | disk_pools: disk_pools, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_pools` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/chat/authorize.rs:101:12 [INFO] [stderr] | [INFO] [stderr] 101 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 102 | | if dest.path == "/" { [INFO] [stderr] 103 | | "/swindon/authorize_connection".into() [INFO] [stderr] 104 | | } else { [INFO] [stderr] 105 | | (dest.path.to_string() + "/swindon/authorize_connection").into() [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 101 | } else if dest.path == "/" { [INFO] [stderr] 102 | "/swindon/authorize_connection".into() [INFO] [stderr] 103 | } else { [INFO] [stderr] 104 | (dest.path.to_string() + "/swindon/authorize_connection").into() [INFO] [stderr] 105 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/chat/backend.rs:28:28 [INFO] [stderr] | [INFO] [stderr] 28 | const INACTIVITY_PAYLOAD: &'static [u8] = b"[{}, [], {}]"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [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: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:310:12 [INFO] [stderr] | [INFO] [stderr] 310 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/chat/backend.rs:310:12 [INFO] [stderr] | [INFO] [stderr] 310 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:412:12 [INFO] [stderr] | [INFO] [stderr] 412 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/chat/backend.rs:412:12 [INFO] [stderr] | [INFO] [stderr] 412 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:450:12 [INFO] [stderr] | [INFO] [stderr] 450 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/chat/backend.rs:450:12 [INFO] [stderr] | [INFO] [stderr] 450 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/content_type.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | return cur; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cur` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/inactivity_handler.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | return tx; [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this looks like an `else if` but the `else` is missing [INFO] [stderr] --> src/chat/processor/pool.rs:265:10 [INFO] [stderr] | [INFO] [stderr] 265 | } if let Some(session) = self.sessions.active.get_mut(&session_id) [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::suspicious_else_formatting)] on by default [INFO] [stderr] = note: to remove this lint, add the missing `else` or add a new line before the second `if` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:364:9 [INFO] [stderr] | [INFO] [stderr] 364 | return None [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/chat/processor/pool.rs:725:12 [INFO] [stderr] | [INFO] [stderr] 725 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 726 | | if absent_is_ok { [INFO] [stderr] 727 | | info!("Never subscribed {:?} in {:?} to {:?}", [INFO] [stderr] 728 | | cid, session_id, namespace); [INFO] [stderr] ... | [INFO] [stderr] 733 | | } [INFO] [stderr] 734 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 725 | } else if absent_is_ok { [INFO] [stderr] 726 | info!("Never subscribed {:?} in {:?} to {:?}", [INFO] [stderr] 727 | cid, session_id, namespace); [INFO] [stderr] 728 | } else { [INFO] [stderr] 729 | // should we crash here? [INFO] [stderr] 730 | error!("Never subscribed {:?} in {:?} to {:?}", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:751:9 [INFO] [stderr] | [INFO] [stderr] 751 | return sub; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sub` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/chat/processor/pool.rs:746:9 [INFO] [stderr] | [INFO] [stderr] 746 | / if len == 0 { [INFO] [stderr] 747 | | if topics.remove(topic).is_some() { [INFO] [stderr] 748 | | TOPICS.decr(1); [INFO] [stderr] 749 | | } [INFO] [stderr] 750 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 746 | if len == 0 && topics.remove(topic).is_some() { [INFO] [stderr] 747 | TOPICS.decr(1); [INFO] [stderr] 748 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/public.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | / return Processor { [INFO] [stderr] 33 | | queue: tx, [INFO] [stderr] 34 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 32 | Processor { [INFO] [stderr] 33 | queue: tx, [INFO] [stderr] 34 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | return item [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `item` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | return idx [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `idx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:154:9 [INFO] [stderr] | [INFO] [stderr] 154 | return idx [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `idx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/connection.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | return (conn, self.users_lattice); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(conn, self.users_lattice)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/lattice.rs:203:9 [INFO] [stderr] | [INFO] [stderr] 203 | return delta [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `delta` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/lattice.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:97:41 [INFO] [stderr] | [INFO] [stderr] 97 | Subscribe { conn_id, topic, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Subscribe { conn_id, topic, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:103:43 [INFO] [stderr] | [INFO] [stderr] 103 | Unsubscribe { conn_id, topic, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Unsubscribe { conn_id, topic, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:115:42 [INFO] [stderr] | [INFO] [stderr] 115 | Attach { conn_id, namespace, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Attach { conn_id, namespace, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:139:42 [INFO] [stderr] | [INFO] [stderr] 139 | AttachUsers { conn_id, list, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `AttachUsers { conn_id, list, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:148:36 [INFO] [stderr] | [INFO] [stderr] 148 | DetachUsers { conn_id, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `DetachUsers { conn_id, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/read.rs:234:5 [INFO] [stderr] | [INFO] [stderr] 234 | return Ok((postprocess_config(src)?, files)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((postprocess_config(src)?, files))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/version.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | return Components(self.0.as_ref(), ch); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Components(self.0.as_ref(), ch)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/chat/authorize.rs:101:12 [INFO] [stderr] | [INFO] [stderr] 101 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 102 | | if dest.path == "/" { [INFO] [stderr] 103 | | "/swindon/authorize_connection".into() [INFO] [stderr] 104 | | } else { [INFO] [stderr] 105 | | (dest.path.to_string() + "/swindon/authorize_connection").into() [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 101 | } else if dest.path == "/" { [INFO] [stderr] 102 | "/swindon/authorize_connection".into() [INFO] [stderr] 103 | } else { [INFO] [stderr] 104 | (dest.path.to_string() + "/swindon/authorize_connection").into() [INFO] [stderr] 105 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/chat/backend.rs:28:28 [INFO] [stderr] | [INFO] [stderr] 28 | const INACTIVITY_PAYLOAD: &'static [u8] = b"[{}, [], {}]"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [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: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:310:12 [INFO] [stderr] | [INFO] [stderr] 310 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/chat/backend.rs:310:12 [INFO] [stderr] | [INFO] [stderr] 310 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:412:12 [INFO] [stderr] | [INFO] [stderr] 412 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/chat/backend.rs:412:12 [INFO] [stderr] | [INFO] [stderr] 412 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:450:12 [INFO] [stderr] | [INFO] [stderr] 450 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/chat/backend.rs:450:12 [INFO] [stderr] | [INFO] [stderr] 450 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/content_type.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | return cur; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cur` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/networks.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/inactivity_handler.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | return tx; [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/config/static_files.rs:100:39 [INFO] [stderr] | [INFO] [stderr] 100 | Numeric::new().min(0).default(100000)) [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | / return Ok(Static { [INFO] [stderr] 162 | | mode: int.mode, [INFO] [stderr] 163 | | path: int.path, [INFO] [stderr] 164 | | text_charset: int.text_charset, [INFO] [stderr] ... | [INFO] [stderr] 171 | | headers_config: config.done(), [INFO] [stderr] 172 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 161 | Ok(Static { [INFO] [stderr] 162 | mode: int.mode, [INFO] [stderr] 163 | path: int.path, [INFO] [stderr] 164 | text_charset: int.text_charset, [INFO] [stderr] 165 | pool: int.pool, [INFO] [stderr] 166 | extra_headers: int.extra_headers, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | / return Ok(SingleFile { [INFO] [stderr] 197 | | path: int.path, [INFO] [stderr] 198 | | content_type: int.content_type, [INFO] [stderr] 199 | | pool: int.pool, [INFO] [stderr] 200 | | extra_headers: int.extra_headers, [INFO] [stderr] 201 | | headers_config: config.done(), [INFO] [stderr] 202 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 196 | Ok(SingleFile { [INFO] [stderr] 197 | path: int.path, [INFO] [stderr] 198 | content_type: int.content_type, [INFO] [stderr] 199 | pool: int.pool, [INFO] [stderr] 200 | extra_headers: int.extra_headers, [INFO] [stderr] 201 | headers_config: config.done(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this looks like an `else if` but the `else` is missing [INFO] [stderr] --> src/chat/processor/pool.rs:265:10 [INFO] [stderr] | [INFO] [stderr] 265 | } if let Some(session) = self.sessions.active.get_mut(&session_id) [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::suspicious_else_formatting)] on by default [INFO] [stderr] = note: to remove this lint, add the missing `else` or add a new line before the second `if` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:364:9 [INFO] [stderr] | [INFO] [stderr] 364 | return None [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:231:9 [INFO] [stderr] | [INFO] [stderr] 231 | / return Ok(VersionedStatic { [INFO] [stderr] 232 | | version_len: int.version_split.iter().map(|&x| x as usize).sum(), [INFO] [stderr] 233 | | fallback: Arc::new(Static { [INFO] [stderr] 234 | | mode: int.fallback_mode.clone(), [INFO] [stderr] ... | [INFO] [stderr] 255 | | headers_config: config, [INFO] [stderr] 256 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 231 | Ok(VersionedStatic { [INFO] [stderr] 232 | version_len: int.version_split.iter().map(|&x| x as usize).sum(), [INFO] [stderr] 233 | fallback: Arc::new(Static { [INFO] [stderr] 234 | mode: int.fallback_mode.clone(), [INFO] [stderr] 235 | path: int.plain_root.clone(), [INFO] [stderr] 236 | text_charset: int.text_charset.clone(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/chat/processor/pool.rs:725:12 [INFO] [stderr] | [INFO] [stderr] 725 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 726 | | if absent_is_ok { [INFO] [stderr] 727 | | info!("Never subscribed {:?} in {:?} to {:?}", [INFO] [stderr] 728 | | cid, session_id, namespace); [INFO] [stderr] ... | [INFO] [stderr] 733 | | } [INFO] [stderr] 734 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 725 | } else if absent_is_ok { [INFO] [stderr] 726 | info!("Never subscribed {:?} in {:?} to {:?}", [INFO] [stderr] 727 | cid, session_id, namespace); [INFO] [stderr] 728 | } else { [INFO] [stderr] 729 | // should we crash here? [INFO] [stderr] 730 | error!("Never subscribed {:?} in {:?} to {:?}", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | / return a_mode == b_mode && [INFO] [stderr] 291 | | a_path == b_path && [INFO] [stderr] 292 | | a_text_charset == b_text_charset && [INFO] [stderr] 293 | | a_pool == b_pool && [INFO] [stderr] ... | [INFO] [stderr] 297 | | a_generate_index == b_generate_index && [INFO] [stderr] 298 | | a_generated_index_max_files == b_generated_index_max_files; [INFO] [stderr] | |__________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 290 | a_mode == b_mode && [INFO] [stderr] 291 | a_path == b_path && [INFO] [stderr] 292 | a_text_charset == b_text_charset && [INFO] [stderr] 293 | a_pool == b_pool && [INFO] [stderr] 294 | a_extra_headers == b_extra_headers && [INFO] [stderr] 295 | a_strip_host_suffix == b_strip_host_suffix && [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:276:13 [INFO] [stderr] | [INFO] [stderr] 276 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Static { mode: ref a_mode, path: ref a_path, text_charset: ref a_text_charset, pool: ref a_pool, extra_headers: ref a_extra_headers, strip_host_suffix: ref a_strip_host_suffix, index_files: ref a_index_files, generate_index: ref a_generate_index, generated_index_max_files: ref a_generated_index_max_files, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Static { mode: ref b_mode, path: ref b_path, text_charset: ref b_text_charset, pool: ref b_pool, extra_headers: ref b_extra_headers, strip_host_suffix: ref b_strip_host_suffix, index_files: ref b_index_files, generate_index: ref b_generate_index, generated_index_max_files: ref b_generated_index_max_files, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:319:9 [INFO] [stderr] | [INFO] [stderr] 319 | / return a_path == b_path && [INFO] [stderr] 320 | | a_content_type == b_content_type && [INFO] [stderr] 321 | | a_pool == b_pool && [INFO] [stderr] 322 | | a_extra_headers == b_extra_headers; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 319 | a_path == b_path && [INFO] [stderr] 320 | a_content_type == b_content_type && [INFO] [stderr] 321 | a_pool == b_pool && [INFO] [stderr] 322 | a_extra_headers == b_extra_headers [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:310:13 [INFO] [stderr] | [INFO] [stderr] 310 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `SingleFile { path: ref a_path, content_type: ref a_content_type, pool: ref a_pool, extra_headers: ref a_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `SingleFile { path: ref b_path, content_type: ref b_content_type, pool: ref b_pool, extra_headers: ref b_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:358:9 [INFO] [stderr] | [INFO] [stderr] 358 | / return a_versioned_root == b_versioned_root && [INFO] [stderr] 359 | | a_plain_root == b_plain_root && [INFO] [stderr] 360 | | a_version_arg == b_version_arg && [INFO] [stderr] 361 | | a_version_split == b_version_split && [INFO] [stderr] ... | [INFO] [stderr] 366 | | a_pool == b_pool && [INFO] [stderr] 367 | | a_extra_headers == b_extra_headers; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 358 | a_versioned_root == b_versioned_root && [INFO] [stderr] 359 | a_plain_root == b_plain_root && [INFO] [stderr] 360 | a_version_arg == b_version_arg && [INFO] [stderr] 361 | a_version_split == b_version_split && [INFO] [stderr] 362 | a_version_chars == b_version_chars && [INFO] [stderr] 363 | a_fallback_to_plain == b_fallback_to_plain && [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:339:13 [INFO] [stderr] | [INFO] [stderr] 339 | version_len: _, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:340:13 [INFO] [stderr] | [INFO] [stderr] 340 | fallback: _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:341:13 [INFO] [stderr] | [INFO] [stderr] 341 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `VersionedStatic { versioned_root: ref a_versioned_root, plain_root: ref a_plain_root, version_arg: ref a_version_arg, version_split: ref a_version_split, version_chars: ref a_version_chars, fallback_to_plain: ref a_fallback_to_plain, fallback_mode: ref a_fallback_mode, text_charset: ref a_text_charset, pool: ref a_pool, extra_headers: ref a_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:354:13 [INFO] [stderr] | [INFO] [stderr] 354 | version_len: _, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:355:13 [INFO] [stderr] | [INFO] [stderr] 355 | fallback: _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:356:13 [INFO] [stderr] | [INFO] [stderr] 356 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `VersionedStatic { versioned_root: ref b_versioned_root, plain_root: ref b_plain_root, version_arg: ref b_version_arg, version_split: ref b_version_split, version_chars: ref b_version_chars, fallback_to_plain: ref b_fallback_to_plain, fallback_mode: ref b_fallback_mode, text_charset: ref b_text_charset, pool: ref b_pool, extra_headers: ref b_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:751:9 [INFO] [stderr] | [INFO] [stderr] 751 | return sub; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sub` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/chat/processor/pool.rs:746:9 [INFO] [stderr] | [INFO] [stderr] 746 | / if len == 0 { [INFO] [stderr] 747 | | if topics.remove(topic).is_some() { [INFO] [stderr] 748 | | TOPICS.decr(1); [INFO] [stderr] 749 | | } [INFO] [stderr] 750 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 746 | if len == 0 && topics.remove(topic).is_some() { [INFO] [stderr] 747 | TOPICS.decr(1); [INFO] [stderr] 748 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/public.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | / return Processor { [INFO] [stderr] 33 | | queue: tx, [INFO] [stderr] 34 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 32 | Processor { [INFO] [stderr] 33 | queue: tx, [INFO] [stderr] 34 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | return item [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `item` [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/empty_gif.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / return Ok(EmptyGif { [INFO] [stderr] 28 | | overrides_content_type: [INFO] [stderr] 29 | | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | | extra_headers: int.extra_headers, [INFO] [stderr] 31 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] | [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 27 | Ok(EmptyGif { [INFO] [stderr] 28 | overrides_content_type: [INFO] [stderr] 29 | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | extra_headers: int.extra_headers, [INFO] [stderr] 31 | }) [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | return idx [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `idx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:154:9 [INFO] [stderr] | [INFO] [stderr] 154 | return idx [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `idx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/self_status.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / return Ok(SelfStatus { [INFO] [stderr] 28 | | overrides_content_type: [INFO] [stderr] 29 | | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | | extra_headers: int.extra_headers, [INFO] [stderr] 31 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 27 | Ok(SelfStatus { [INFO] [stderr] 28 | overrides_content_type: [INFO] [stderr] 29 | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | extra_headers: int.extra_headers, [INFO] [stderr] 31 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/connection.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | return (conn, self.users_lattice); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(conn, self.users_lattice)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/handlers/empty_gif.rs:10:19 [INFO] [stderr] | [INFO] [stderr] 10 | const EMPTY_GIF: &'static [u8] = include_bytes!("../empty.gif"); [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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: unneeded return statement [INFO] [stderr] --> src/chat/processor/lattice.rs:203:9 [INFO] [stderr] | [INFO] [stderr] 203 | return delta [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `delta` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/lattice.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/files/pools.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / return futures_cpupool::Builder::new() [INFO] [stderr] 31 | | .pool_size(cfg.num_threads) [INFO] [stderr] 32 | | .name_prefix(format!("disk-{}-", name)) [INFO] [stderr] 33 | | .after_start(move || m1.track_current_thread_by_name()) [INFO] [stderr] 34 | | .before_stop(move || m2.untrack_current_thread()) [INFO] [stderr] 35 | | .create(); [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 30 | futures_cpupool::Builder::new() [INFO] [stderr] 31 | .pool_size(cfg.num_threads) [INFO] [stderr] 32 | .name_prefix(format!("disk-{}-", name)) [INFO] [stderr] 33 | .after_start(move || m1.track_current_thread_by_name()) [INFO] [stderr] 34 | .before_stop(move || m2.untrack_current_thread()) [INFO] [stderr] 35 | .create() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/files/versioned.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/files/versioned.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | / return res.map_err(|e| { [INFO] [stderr] 159 | | if e.kind() == io::ErrorKind::PermissionDenied { [INFO] [stderr] 160 | | (NotFile::Status(Status::Forbidden), Cache::NoHeader) [INFO] [stderr] 161 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 165 | | } [INFO] [stderr] 166 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 158 | res.map_err(|e| { [INFO] [stderr] 159 | if e.kind() == io::ErrorKind::PermissionDenied { [INFO] [stderr] 160 | (NotFile::Status(Status::Forbidden), Cache::NoHeader) [INFO] [stderr] 161 | } else { [INFO] [stderr] 162 | error!("Error reading file {:?} / {:?}: {}", path, npath, e); [INFO] [stderr] 163 | (NotFile::Status(Status::InternalServerError), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:97:41 [INFO] [stderr] | [INFO] [stderr] 97 | Subscribe { conn_id, topic, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Subscribe { conn_id, topic, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:103:43 [INFO] [stderr] | [INFO] [stderr] 103 | Unsubscribe { conn_id, topic, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Unsubscribe { conn_id, topic, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:115:42 [INFO] [stderr] | [INFO] [stderr] 115 | Attach { conn_id, namespace, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Attach { conn_id, namespace, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:139:42 [INFO] [stderr] | [INFO] [stderr] 139 | AttachUsers { conn_id, list, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `AttachUsers { conn_id, list, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:148:36 [INFO] [stderr] | [INFO] [stderr] 148 | DetachUsers { conn_id, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `DetachUsers { conn_id, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/swindon_chat.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | return Ok(Some("v1.swindon-lattice+json")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some("v1.swindon-lattice+json"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/swindon_chat.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | return Ok(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/read.rs:234:5 [INFO] [stderr] | [INFO] [stderr] 234 | return Ok((postprocess_config(src)?, files)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((postprocess_config(src)?, files))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/version.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | return Components(self.0.as_ref(), ch); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Components(self.0.as_ref(), ch)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/intern.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | / return (first.is_ascii() && first.is_alphabetic() || first == '_') && [INFO] [stderr] 60 | | val.chars().all(|c| c.is_ascii() && (c.is_alphanumeric() || c == '_')) [INFO] [stderr] | |______________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 59 | (first.is_ascii() && first.is_alphabetic() || first == '_') && [INFO] [stderr] 60 | val.chars().all(|c| c.is_ascii() && (c.is_alphanumeric() || c == '_')) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/proxy/frontend.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | return Ok(Async::Ready(data.len())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Async::Ready(data.len()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/proxy/backend.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/proxy/backend.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/proxy/response.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | return e.done(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `e.done()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/proxy/request.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | return e.done(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `e.done()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/request_id.rs:34:19 [INFO] [stderr] | [INFO] [stderr] 34 | const CHARS: &'static[u8] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ\ [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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: unneeded return statement [INFO] [stderr] --> src/request_id.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | return RequestId(buf); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `RequestId(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/request_id.rs:72:38 [INFO] [stderr] | [INFO] [stderr] 72 | (time.subsec_nanos() / 1000_000) as u64) [INFO] [stderr] | ^^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::inconsistent_digit_grouping)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/request_id.rs:73:16 [INFO] [stderr] | [INFO] [stderr] 73 | & 0xFFFFFF_FFFFFF; // ensure there are six bytes [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_digit_groups)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/routing.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | return self.table == other.table; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.table == other.table` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/routing.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | return self.table == other.table; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.table == other.table` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/routing.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | handler: _, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `RouteDef { authorizer: Some(_), .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/routing.rs:143:24 [INFO] [stderr] | [INFO] [stderr] 143 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 144 | | if let Some(p) = domain.paths.get(&path[..idx]) { [INFO] [stderr] 145 | | inherit(ndef, p); [INFO] [stderr] 146 | | } [INFO] [stderr] 147 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 143 | } else if let Some(p) = domain.paths.get(&path[..idx]) { [INFO] [stderr] 144 | inherit(ndef, p); [INFO] [stderr] 145 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/routing.rs:345:5 [INFO] [stderr] | [INFO] [stderr] 345 | return Some((route, rpath, &path[rpath.len()..])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some((route, rpath, &path[rpath.len()..]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/networks.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/updater/mod.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | return rx; [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `rx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/config/static_files.rs:100:39 [INFO] [stderr] | [INFO] [stderr] 100 | Numeric::new().min(0).default(100000)) [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | / return Ok(Static { [INFO] [stderr] 162 | | mode: int.mode, [INFO] [stderr] 163 | | path: int.path, [INFO] [stderr] 164 | | text_charset: int.text_charset, [INFO] [stderr] ... | [INFO] [stderr] 171 | | headers_config: config.done(), [INFO] [stderr] 172 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 161 | Ok(Static { [INFO] [stderr] 162 | mode: int.mode, [INFO] [stderr] 163 | path: int.path, [INFO] [stderr] 164 | text_charset: int.text_charset, [INFO] [stderr] 165 | pool: int.pool, [INFO] [stderr] 166 | extra_headers: int.extra_headers, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | / return Ok(SingleFile { [INFO] [stderr] 197 | | path: int.path, [INFO] [stderr] 198 | | content_type: int.content_type, [INFO] [stderr] 199 | | pool: int.pool, [INFO] [stderr] 200 | | extra_headers: int.extra_headers, [INFO] [stderr] 201 | | headers_config: config.done(), [INFO] [stderr] 202 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 196 | Ok(SingleFile { [INFO] [stderr] 197 | path: int.path, [INFO] [stderr] 198 | content_type: int.content_type, [INFO] [stderr] 199 | pool: int.pool, [INFO] [stderr] 200 | extra_headers: int.extra_headers, [INFO] [stderr] 201 | headers_config: config.done(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:231:9 [INFO] [stderr] | [INFO] [stderr] 231 | / return Ok(VersionedStatic { [INFO] [stderr] 232 | | version_len: int.version_split.iter().map(|&x| x as usize).sum(), [INFO] [stderr] 233 | | fallback: Arc::new(Static { [INFO] [stderr] 234 | | mode: int.fallback_mode.clone(), [INFO] [stderr] ... | [INFO] [stderr] 255 | | headers_config: config, [INFO] [stderr] 256 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 231 | Ok(VersionedStatic { [INFO] [stderr] 232 | version_len: int.version_split.iter().map(|&x| x as usize).sum(), [INFO] [stderr] 233 | fallback: Arc::new(Static { [INFO] [stderr] 234 | mode: int.fallback_mode.clone(), [INFO] [stderr] 235 | path: int.plain_root.clone(), [INFO] [stderr] 236 | text_charset: int.text_charset.clone(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | / return a_mode == b_mode && [INFO] [stderr] 291 | | a_path == b_path && [INFO] [stderr] 292 | | a_text_charset == b_text_charset && [INFO] [stderr] 293 | | a_pool == b_pool && [INFO] [stderr] ... | [INFO] [stderr] 297 | | a_generate_index == b_generate_index && [INFO] [stderr] 298 | | a_generated_index_max_files == b_generated_index_max_files; [INFO] [stderr] | |__________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 290 | a_mode == b_mode && [INFO] [stderr] 291 | a_path == b_path && [INFO] [stderr] 292 | a_text_charset == b_text_charset && [INFO] [stderr] 293 | a_pool == b_pool && [INFO] [stderr] 294 | a_extra_headers == b_extra_headers && [INFO] [stderr] 295 | a_strip_host_suffix == b_strip_host_suffix && [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:276:13 [INFO] [stderr] | [INFO] [stderr] 276 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Static { mode: ref a_mode, path: ref a_path, text_charset: ref a_text_charset, pool: ref a_pool, extra_headers: ref a_extra_headers, strip_host_suffix: ref a_strip_host_suffix, index_files: ref a_index_files, generate_index: ref a_generate_index, generated_index_max_files: ref a_generated_index_max_files, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Static { mode: ref b_mode, path: ref b_path, text_charset: ref b_text_charset, pool: ref b_pool, extra_headers: ref b_extra_headers, strip_host_suffix: ref b_strip_host_suffix, index_files: ref b_index_files, generate_index: ref b_generate_index, generated_index_max_files: ref b_generated_index_max_files, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:319:9 [INFO] [stderr] | [INFO] [stderr] 319 | / return a_path == b_path && [INFO] [stderr] 320 | | a_content_type == b_content_type && [INFO] [stderr] 321 | | a_pool == b_pool && [INFO] [stderr] 322 | | a_extra_headers == b_extra_headers; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 319 | a_path == b_path && [INFO] [stderr] 320 | a_content_type == b_content_type && [INFO] [stderr] 321 | a_pool == b_pool && [INFO] [stderr] 322 | a_extra_headers == b_extra_headers [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:310:13 [INFO] [stderr] | [INFO] [stderr] 310 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `SingleFile { path: ref a_path, content_type: ref a_content_type, pool: ref a_pool, extra_headers: ref a_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `SingleFile { path: ref b_path, content_type: ref b_content_type, pool: ref b_pool, extra_headers: ref b_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:358:9 [INFO] [stderr] | [INFO] [stderr] 358 | / return a_versioned_root == b_versioned_root && [INFO] [stderr] 359 | | a_plain_root == b_plain_root && [INFO] [stderr] 360 | | a_version_arg == b_version_arg && [INFO] [stderr] 361 | | a_version_split == b_version_split && [INFO] [stderr] ... | [INFO] [stderr] 366 | | a_pool == b_pool && [INFO] [stderr] 367 | | a_extra_headers == b_extra_headers; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 358 | a_versioned_root == b_versioned_root && [INFO] [stderr] 359 | a_plain_root == b_plain_root && [INFO] [stderr] 360 | a_version_arg == b_version_arg && [INFO] [stderr] 361 | a_version_split == b_version_split && [INFO] [stderr] 362 | a_version_chars == b_version_chars && [INFO] [stderr] 363 | a_fallback_to_plain == b_fallback_to_plain && [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:339:13 [INFO] [stderr] | [INFO] [stderr] 339 | version_len: _, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:340:13 [INFO] [stderr] | [INFO] [stderr] 340 | fallback: _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:341:13 [INFO] [stderr] | [INFO] [stderr] 341 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `VersionedStatic { versioned_root: ref a_versioned_root, plain_root: ref a_plain_root, version_arg: ref a_version_arg, version_split: ref a_version_split, version_chars: ref a_version_chars, fallback_to_plain: ref a_fallback_to_plain, fallback_mode: ref a_fallback_mode, text_charset: ref a_text_charset, pool: ref a_pool, extra_headers: ref a_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:354:13 [INFO] [stderr] | [INFO] [stderr] 354 | version_len: _, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:355:13 [INFO] [stderr] | [INFO] [stderr] 355 | fallback: _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:356:13 [INFO] [stderr] | [INFO] [stderr] 356 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `VersionedStatic { versioned_root: ref b_versioned_root, plain_root: ref b_plain_root, version_arg: ref b_version_arg, version_split: ref b_version_split, version_chars: ref b_version_chars, fallback_to_plain: ref b_fallback_to_plain, fallback_mode: ref b_fallback_mode, text_charset: ref b_text_charset, pool: ref b_pool, extra_headers: ref b_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/empty_gif.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / return Ok(EmptyGif { [INFO] [stderr] 28 | | overrides_content_type: [INFO] [stderr] 29 | | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | | extra_headers: int.extra_headers, [INFO] [stderr] 31 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 27 | Ok(EmptyGif { [INFO] [stderr] 28 | overrides_content_type: [INFO] [stderr] 29 | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | extra_headers: int.extra_headers, [INFO] [stderr] 31 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/self_status.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / return Ok(SelfStatus { [INFO] [stderr] 28 | | overrides_content_type: [INFO] [stderr] 29 | | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | | extra_headers: int.extra_headers, [INFO] [stderr] 31 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 27 | Ok(SelfStatus { [INFO] [stderr] 28 | overrides_content_type: [INFO] [stderr] 29 | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | extra_headers: int.extra_headers, [INFO] [stderr] 31 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dev/mod.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | return buffer; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `buffer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/handlers/empty_gif.rs:10:19 [INFO] [stderr] | [INFO] [stderr] 10 | const EMPTY_GIF: &'static [u8] = include_bytes!("../empty.gif"); [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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: unneeded return statement [INFO] [stderr] --> src/handlers/files/pools.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / return futures_cpupool::Builder::new() [INFO] [stderr] 31 | | .pool_size(cfg.num_threads) [INFO] [stderr] 32 | | .name_prefix(format!("disk-{}-", name)) [INFO] [stderr] 33 | | .after_start(move || m1.track_current_thread_by_name()) [INFO] [stderr] 34 | | .before_stop(move || m2.untrack_current_thread()) [INFO] [stderr] 35 | | .create(); [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 30 | futures_cpupool::Builder::new() [INFO] [stderr] 31 | .pool_size(cfg.num_threads) [INFO] [stderr] 32 | .name_prefix(format!("disk-{}-", name)) [INFO] [stderr] 33 | .after_start(move || m1.track_current_thread_by_name()) [INFO] [stderr] 34 | .before_stop(move || m2.untrack_current_thread()) [INFO] [stderr] 35 | .create() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/files/versioned.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/files/versioned.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | / return res.map_err(|e| { [INFO] [stderr] 159 | | if e.kind() == io::ErrorKind::PermissionDenied { [INFO] [stderr] 160 | | (NotFile::Status(Status::Forbidden), Cache::NoHeader) [INFO] [stderr] 161 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 165 | | } [INFO] [stderr] 166 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 158 | res.map_err(|e| { [INFO] [stderr] 159 | if e.kind() == io::ErrorKind::PermissionDenied { [INFO] [stderr] 160 | (NotFile::Status(Status::Forbidden), Cache::NoHeader) [INFO] [stderr] 161 | } else { [INFO] [stderr] 162 | error!("Error reading file {:?} / {:?}: {}", path, npath, e); [INFO] [stderr] 163 | (NotFile::Status(Status::InternalServerError), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/swindon_chat.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | return Ok(Some("v1.swindon-lattice+json")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some("v1.swindon-lattice+json"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/swindon_chat.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | return Ok(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/intern.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | / return (first.is_ascii() && first.is_alphabetic() || first == '_') && [INFO] [stderr] 60 | | val.chars().all(|c| c.is_ascii() && (c.is_alphanumeric() || c == '_')) [INFO] [stderr] | |______________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 59 | (first.is_ascii() && first.is_alphabetic() || first == '_') && [INFO] [stderr] 60 | val.chars().all(|c| c.is_ascii() && (c.is_alphanumeric() || c == '_')) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/proxy/frontend.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | return Ok(Async::Ready(data.len())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Async::Ready(data.len()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/proxy/backend.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/proxy/backend.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/proxy/response.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | return e.done(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `e.done()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/proxy/request.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | return e.done(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `e.done()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/request_id.rs:34:19 [INFO] [stderr] | [INFO] [stderr] 34 | const CHARS: &'static[u8] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ\ [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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: unneeded return statement [INFO] [stderr] --> src/request_id.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | return RequestId(buf); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `RequestId(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/request_id.rs:72:38 [INFO] [stderr] | [INFO] [stderr] 72 | (time.subsec_nanos() / 1000_000) as u64) [INFO] [stderr] | ^^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::inconsistent_digit_grouping)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/request_id.rs:73:16 [INFO] [stderr] | [INFO] [stderr] 73 | & 0xFFFFFF_FFFFFF; // ensure there are six bytes [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_digit_groups)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/routing.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | return self.table == other.table; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.table == other.table` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/routing.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | return self.table == other.table; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.table == other.table` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/routing.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | handler: _, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `RouteDef { authorizer: Some(_), .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/routing.rs:143:24 [INFO] [stderr] | [INFO] [stderr] 143 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 144 | | if let Some(p) = domain.paths.get(&path[..idx]) { [INFO] [stderr] 145 | | inherit(ndef, p); [INFO] [stderr] 146 | | } [INFO] [stderr] 147 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 143 | } else if let Some(p) = domain.paths.get(&path[..idx]) { [INFO] [stderr] 144 | inherit(ndef, p); [INFO] [stderr] 145 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/routing.rs:345:5 [INFO] [stderr] | [INFO] [stderr] 345 | return Some((route, rpath, &path[rpath.len()..])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some((route, rpath, &path[rpath.len()..]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/chat/authorize.rs:101:12 [INFO] [stderr] | [INFO] [stderr] 101 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 102 | | if dest.path == "/" { [INFO] [stderr] 103 | | "/swindon/authorize_connection".into() [INFO] [stderr] 104 | | } else { [INFO] [stderr] 105 | | (dest.path.to_string() + "/swindon/authorize_connection").into() [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 101 | } else if dest.path == "/" { [INFO] [stderr] 102 | "/swindon/authorize_connection".into() [INFO] [stderr] 103 | } else { [INFO] [stderr] 104 | (dest.path.to_string() + "/swindon/authorize_connection").into() [INFO] [stderr] 105 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/chat/backend.rs:28:28 [INFO] [stderr] | [INFO] [stderr] 28 | const INACTIVITY_PAYLOAD: &'static [u8] = b"[{}, [], {}]"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [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: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:310:12 [INFO] [stderr] | [INFO] [stderr] 310 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/chat/backend.rs:310:12 [INFO] [stderr] | [INFO] [stderr] 310 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:412:12 [INFO] [stderr] | [INFO] [stderr] 412 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/chat/backend.rs:412:12 [INFO] [stderr] | [INFO] [stderr] 412 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:450:12 [INFO] [stderr] | [INFO] [stderr] 450 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/chat/backend.rs:450:12 [INFO] [stderr] | [INFO] [stderr] 450 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/content_type.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | return cur; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cur` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/inactivity_handler.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | return tx; [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this looks like an `else if` but the `else` is missing [INFO] [stderr] --> src/chat/processor/pool.rs:265:10 [INFO] [stderr] | [INFO] [stderr] 265 | } if let Some(session) = self.sessions.active.get_mut(&session_id) [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::suspicious_else_formatting)] on by default [INFO] [stderr] = note: to remove this lint, add the missing `else` or add a new line before the second `if` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:364:9 [INFO] [stderr] | [INFO] [stderr] 364 | return None [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/chat/processor/pool.rs:725:12 [INFO] [stderr] | [INFO] [stderr] 725 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 726 | | if absent_is_ok { [INFO] [stderr] 727 | | info!("Never subscribed {:?} in {:?} to {:?}", [INFO] [stderr] 728 | | cid, session_id, namespace); [INFO] [stderr] ... | [INFO] [stderr] 733 | | } [INFO] [stderr] 734 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 725 | } else if absent_is_ok { [INFO] [stderr] 726 | info!("Never subscribed {:?} in {:?} to {:?}", [INFO] [stderr] 727 | cid, session_id, namespace); [INFO] [stderr] 728 | } else { [INFO] [stderr] 729 | // should we crash here? [INFO] [stderr] 730 | error!("Never subscribed {:?} in {:?} to {:?}", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:751:9 [INFO] [stderr] | [INFO] [stderr] 751 | return sub; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sub` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/chat/processor/pool.rs:746:9 [INFO] [stderr] | [INFO] [stderr] 746 | / if len == 0 { [INFO] [stderr] 747 | | if topics.remove(topic).is_some() { [INFO] [stderr] 748 | | TOPICS.decr(1); [INFO] [stderr] 749 | | } [INFO] [stderr] 750 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 746 | if len == 0 && topics.remove(topic).is_some() { [INFO] [stderr] 747 | TOPICS.decr(1); [INFO] [stderr] 748 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:873:9 [INFO] [stderr] | [INFO] [stderr] 873 | return (pool, rx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(pool, rx)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:882:9 [INFO] [stderr] | [INFO] [stderr] 882 | return (cid, rx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(cid, rx)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:891:9 [INFO] [stderr] | [INFO] [stderr] 891 | return (cid, rx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(cid, rx)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/public.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | / return Processor { [INFO] [stderr] 33 | | queue: tx, [INFO] [stderr] 34 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 32 | Processor { [INFO] [stderr] 33 | queue: tx, [INFO] [stderr] 34 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | return item [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `item` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | return idx [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `idx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:154:9 [INFO] [stderr] | [INFO] [stderr] 154 | return idx [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `idx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:337:9 [INFO] [stderr] | [INFO] [stderr] 337 | return h [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `h` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/connection.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | return (conn, self.users_lattice); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(conn, self.users_lattice)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/lattice.rs:203:9 [INFO] [stderr] | [INFO] [stderr] 203 | return delta [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `delta` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/lattice.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/chat/authorize.rs:101:12 [INFO] [stderr] | [INFO] [stderr] 101 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 102 | | if dest.path == "/" { [INFO] [stderr] 103 | | "/swindon/authorize_connection".into() [INFO] [stderr] 104 | | } else { [INFO] [stderr] 105 | | (dest.path.to_string() + "/swindon/authorize_connection").into() [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 101 | } else if dest.path == "/" { [INFO] [stderr] 102 | "/swindon/authorize_connection".into() [INFO] [stderr] 103 | } else { [INFO] [stderr] 104 | (dest.path.to_string() + "/swindon/authorize_connection").into() [INFO] [stderr] 105 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/chat/backend.rs:28:28 [INFO] [stderr] | [INFO] [stderr] 28 | const INACTIVITY_PAYLOAD: &'static [u8] = b"[{}, [], {}]"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [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: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:310:12 [INFO] [stderr] | [INFO] [stderr] 310 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/chat/backend.rs:310:12 [INFO] [stderr] | [INFO] [stderr] 310 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:412:12 [INFO] [stderr] | [INFO] [stderr] 412 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/chat/backend.rs:412:12 [INFO] [stderr] | [INFO] [stderr] 412 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/chat/backend.rs:450:12 [INFO] [stderr] | [INFO] [stderr] 450 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/chat/backend.rs:450:12 [INFO] [stderr] | [INFO] [stderr] 450 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:97:41 [INFO] [stderr] | [INFO] [stderr] 97 | Subscribe { conn_id, topic, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Subscribe { conn_id, topic, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:103:43 [INFO] [stderr] | [INFO] [stderr] 103 | Unsubscribe { conn_id, topic, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Unsubscribe { conn_id, topic, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:115:42 [INFO] [stderr] | [INFO] [stderr] 115 | Attach { conn_id, namespace, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Attach { conn_id, namespace, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:139:42 [INFO] [stderr] | [INFO] [stderr] 139 | AttachUsers { conn_id, list, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `AttachUsers { conn_id, list, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:148:36 [INFO] [stderr] | [INFO] [stderr] 148 | DetachUsers { conn_id, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `DetachUsers { conn_id, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/content_type.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | return cur; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cur` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/read.rs:234:5 [INFO] [stderr] | [INFO] [stderr] 234 | return Ok((postprocess_config(src)?, files)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((postprocess_config(src)?, files))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/inactivity_handler.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | return tx; [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `tx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/version.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | return Components(self.0.as_ref(), ch); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Components(self.0.as_ref(), ch)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this looks like an `else if` but the `else` is missing [INFO] [stderr] --> src/chat/processor/pool.rs:265:10 [INFO] [stderr] | [INFO] [stderr] 265 | } if let Some(session) = self.sessions.active.get_mut(&session_id) [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::suspicious_else_formatting)] on by default [INFO] [stderr] = note: to remove this lint, add the missing `else` or add a new line before the second `if` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:364:9 [INFO] [stderr] | [INFO] [stderr] 364 | return None [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/chat/processor/pool.rs:725:12 [INFO] [stderr] | [INFO] [stderr] 725 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 726 | | if absent_is_ok { [INFO] [stderr] 727 | | info!("Never subscribed {:?} in {:?} to {:?}", [INFO] [stderr] 728 | | cid, session_id, namespace); [INFO] [stderr] ... | [INFO] [stderr] 733 | | } [INFO] [stderr] 734 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 725 | } else if absent_is_ok { [INFO] [stderr] 726 | info!("Never subscribed {:?} in {:?} to {:?}", [INFO] [stderr] 727 | cid, session_id, namespace); [INFO] [stderr] 728 | } else { [INFO] [stderr] 729 | // should we crash here? [INFO] [stderr] 730 | error!("Never subscribed {:?} in {:?} to {:?}", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:751:9 [INFO] [stderr] | [INFO] [stderr] 751 | return sub; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sub` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/chat/processor/pool.rs:746:9 [INFO] [stderr] | [INFO] [stderr] 746 | / if len == 0 { [INFO] [stderr] 747 | | if topics.remove(topic).is_some() { [INFO] [stderr] 748 | | TOPICS.decr(1); [INFO] [stderr] 749 | | } [INFO] [stderr] 750 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 746 | if len == 0 && topics.remove(topic).is_some() { [INFO] [stderr] 747 | TOPICS.decr(1); [INFO] [stderr] 748 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:873:9 [INFO] [stderr] | [INFO] [stderr] 873 | return (pool, rx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(pool, rx)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:882:9 [INFO] [stderr] | [INFO] [stderr] 882 | return (cid, rx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(cid, rx)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/pool.rs:891:9 [INFO] [stderr] | [INFO] [stderr] 891 | return (cid, rx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(cid, rx)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/networks.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/routing.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | return (host, path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(host, path)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/public.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | / return Processor { [INFO] [stderr] 33 | | queue: tx, [INFO] [stderr] 34 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 32 | Processor { [INFO] [stderr] 33 | queue: tx, [INFO] [stderr] 34 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | return item [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `item` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | return idx [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `idx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:154:9 [INFO] [stderr] | [INFO] [stderr] 154 | return idx [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `idx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/heap.rs:337:9 [INFO] [stderr] | [INFO] [stderr] 337 | return h [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `h` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/config/static_files.rs:100:39 [INFO] [stderr] | [INFO] [stderr] 100 | Numeric::new().min(0).default(100000)) [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | / return Ok(Static { [INFO] [stderr] 162 | | mode: int.mode, [INFO] [stderr] 163 | | path: int.path, [INFO] [stderr] 164 | | text_charset: int.text_charset, [INFO] [stderr] ... | [INFO] [stderr] 171 | | headers_config: config.done(), [INFO] [stderr] 172 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 161 | Ok(Static { [INFO] [stderr] 162 | mode: int.mode, [INFO] [stderr] 163 | path: int.path, [INFO] [stderr] 164 | text_charset: int.text_charset, [INFO] [stderr] 165 | pool: int.pool, [INFO] [stderr] 166 | extra_headers: int.extra_headers, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/connection.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | return (conn, self.users_lattice); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(conn, self.users_lattice)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | / return Ok(SingleFile { [INFO] [stderr] 197 | | path: int.path, [INFO] [stderr] 198 | | content_type: int.content_type, [INFO] [stderr] 199 | | pool: int.pool, [INFO] [stderr] 200 | | extra_headers: int.extra_headers, [INFO] [stderr] 201 | | headers_config: config.done(), [INFO] [stderr] 202 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/lattice.rs:203:9 [INFO] [stderr] | [INFO] [stderr] 203 | return delta [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `delta` [INFO] [stderr] | [INFO] [stderr] 196 | Ok(SingleFile { [INFO] [stderr] 197 | path: int.path, [INFO] [stderr] 198 | content_type: int.content_type, [INFO] [stderr] 199 | pool: int.pool, [INFO] [stderr] 200 | extra_headers: int.extra_headers, [INFO] [stderr] 201 | headers_config: config.done(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/chat/processor/lattice.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:231:9 [INFO] [stderr] | [INFO] [stderr] 231 | / return Ok(VersionedStatic { [INFO] [stderr] 232 | | version_len: int.version_split.iter().map(|&x| x as usize).sum(), [INFO] [stderr] 233 | | fallback: Arc::new(Static { [INFO] [stderr] 234 | | mode: int.fallback_mode.clone(), [INFO] [stderr] ... | [INFO] [stderr] 255 | | headers_config: config, [INFO] [stderr] 256 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 231 | Ok(VersionedStatic { [INFO] [stderr] 232 | version_len: int.version_split.iter().map(|&x| x as usize).sum(), [INFO] [stderr] 233 | fallback: Arc::new(Static { [INFO] [stderr] 234 | mode: int.fallback_mode.clone(), [INFO] [stderr] 235 | path: int.plain_root.clone(), [INFO] [stderr] 236 | text_charset: int.text_charset.clone(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | / return a_mode == b_mode && [INFO] [stderr] 291 | | a_path == b_path && [INFO] [stderr] 292 | | a_text_charset == b_text_charset && [INFO] [stderr] 293 | | a_pool == b_pool && [INFO] [stderr] ... | [INFO] [stderr] 297 | | a_generate_index == b_generate_index && [INFO] [stderr] 298 | | a_generated_index_max_files == b_generated_index_max_files; [INFO] [stderr] | |__________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 290 | a_mode == b_mode && [INFO] [stderr] 291 | a_path == b_path && [INFO] [stderr] 292 | a_text_charset == b_text_charset && [INFO] [stderr] 293 | a_pool == b_pool && [INFO] [stderr] 294 | a_extra_headers == b_extra_headers && [INFO] [stderr] 295 | a_strip_host_suffix == b_strip_host_suffix && [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:276:13 [INFO] [stderr] | [INFO] [stderr] 276 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Static { mode: ref a_mode, path: ref a_path, text_charset: ref a_text_charset, pool: ref a_pool, extra_headers: ref a_extra_headers, strip_host_suffix: ref a_strip_host_suffix, index_files: ref a_index_files, generate_index: ref a_generate_index, generated_index_max_files: ref a_generated_index_max_files, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Static { mode: ref b_mode, path: ref b_path, text_charset: ref b_text_charset, pool: ref b_pool, extra_headers: ref b_extra_headers, strip_host_suffix: ref b_strip_host_suffix, index_files: ref b_index_files, generate_index: ref b_generate_index, generated_index_max_files: ref b_generated_index_max_files, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:319:9 [INFO] [stderr] | [INFO] [stderr] 319 | / return a_path == b_path && [INFO] [stderr] 320 | | a_content_type == b_content_type && [INFO] [stderr] 321 | | a_pool == b_pool && [INFO] [stderr] 322 | | a_extra_headers == b_extra_headers; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 319 | a_path == b_path && [INFO] [stderr] 320 | a_content_type == b_content_type && [INFO] [stderr] 321 | a_pool == b_pool && [INFO] [stderr] 322 | a_extra_headers == b_extra_headers [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:310:13 [INFO] [stderr] | [INFO] [stderr] 310 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `SingleFile { path: ref a_path, content_type: ref a_content_type, pool: ref a_pool, extra_headers: ref a_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `SingleFile { path: ref b_path, content_type: ref b_content_type, pool: ref b_pool, extra_headers: ref b_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:358:9 [INFO] [stderr] | [INFO] [stderr] 358 | / return a_versioned_root == b_versioned_root && [INFO] [stderr] 359 | | a_plain_root == b_plain_root && [INFO] [stderr] 360 | | a_version_arg == b_version_arg && [INFO] [stderr] 361 | | a_version_split == b_version_split && [INFO] [stderr] ... | [INFO] [stderr] 366 | | a_pool == b_pool && [INFO] [stderr] 367 | | a_extra_headers == b_extra_headers; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 358 | a_versioned_root == b_versioned_root && [INFO] [stderr] 359 | a_plain_root == b_plain_root && [INFO] [stderr] 360 | a_version_arg == b_version_arg && [INFO] [stderr] 361 | a_version_split == b_version_split && [INFO] [stderr] 362 | a_version_chars == b_version_chars && [INFO] [stderr] 363 | a_fallback_to_plain == b_fallback_to_plain && [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:339:13 [INFO] [stderr] | [INFO] [stderr] 339 | version_len: _, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:340:13 [INFO] [stderr] | [INFO] [stderr] 340 | fallback: _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:341:13 [INFO] [stderr] | [INFO] [stderr] 341 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `VersionedStatic { versioned_root: ref a_versioned_root, plain_root: ref a_plain_root, version_arg: ref a_version_arg, version_split: ref a_version_split, version_chars: ref a_version_chars, fallback_to_plain: ref a_fallback_to_plain, fallback_mode: ref a_fallback_mode, text_charset: ref a_text_charset, pool: ref a_pool, extra_headers: ref a_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:354:13 [INFO] [stderr] | [INFO] [stderr] 354 | version_len: _, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:355:13 [INFO] [stderr] | [INFO] [stderr] 355 | fallback: _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:356:13 [INFO] [stderr] | [INFO] [stderr] 356 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `VersionedStatic { versioned_root: ref b_versioned_root, plain_root: ref b_plain_root, version_arg: ref b_version_arg, version_split: ref b_version_split, version_chars: ref b_version_chars, fallback_to_plain: ref b_fallback_to_plain, fallback_mode: ref b_fallback_mode, text_charset: ref b_text_charset, pool: ref b_pool, extra_headers: ref b_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/empty_gif.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / return Ok(EmptyGif { [INFO] [stderr] 28 | | overrides_content_type: [INFO] [stderr] 29 | | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | | extra_headers: int.extra_headers, [INFO] [stderr] 31 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 27 | Ok(EmptyGif { [INFO] [stderr] 28 | overrides_content_type: [INFO] [stderr] 29 | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | extra_headers: int.extra_headers, [INFO] [stderr] 31 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/self_status.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / return Ok(SelfStatus { [INFO] [stderr] 28 | | overrides_content_type: [INFO] [stderr] 29 | | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | | extra_headers: int.extra_headers, [INFO] [stderr] 31 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 27 | Ok(SelfStatus { [INFO] [stderr] 28 | overrides_content_type: [INFO] [stderr] 29 | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | extra_headers: int.extra_headers, [INFO] [stderr] 31 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dev/mod.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | return buffer; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `buffer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/handlers/empty_gif.rs:10:19 [INFO] [stderr] | [INFO] [stderr] 10 | const EMPTY_GIF: &'static [u8] = include_bytes!("../empty.gif"); [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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: unneeded return statement [INFO] [stderr] --> src/handlers/files/pools.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / return futures_cpupool::Builder::new() [INFO] [stderr] 31 | | .pool_size(cfg.num_threads) [INFO] [stderr] 32 | | .name_prefix(format!("disk-{}-", name)) [INFO] [stderr] 33 | | .after_start(move || m1.track_current_thread_by_name()) [INFO] [stderr] 34 | | .before_stop(move || m2.untrack_current_thread()) [INFO] [stderr] 35 | | .create(); [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 30 | futures_cpupool::Builder::new() [INFO] [stderr] 31 | .pool_size(cfg.num_threads) [INFO] [stderr] 32 | .name_prefix(format!("disk-{}-", name)) [INFO] [stderr] 33 | .after_start(move || m1.track_current_thread_by_name()) [INFO] [stderr] 34 | .before_stop(move || m2.untrack_current_thread()) [INFO] [stderr] 35 | .create() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:97:41 [INFO] [stderr] | [INFO] [stderr] 97 | Subscribe { conn_id, topic, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Subscribe { conn_id, topic, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:103:43 [INFO] [stderr] | [INFO] [stderr] 103 | Unsubscribe { conn_id, topic, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Unsubscribe { conn_id, topic, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:115:42 [INFO] [stderr] | [INFO] [stderr] 115 | Attach { conn_id, namespace, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Attach { conn_id, namespace, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:139:42 [INFO] [stderr] | [INFO] [stderr] 139 | AttachUsers { conn_id, list, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `AttachUsers { conn_id, list, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/chat/replication/action.rs:148:36 [INFO] [stderr] | [INFO] [stderr] 148 | DetachUsers { conn_id, server_id: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `DetachUsers { conn_id, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/files/versioned.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/files/versioned.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | / return res.map_err(|e| { [INFO] [stderr] 159 | | if e.kind() == io::ErrorKind::PermissionDenied { [INFO] [stderr] 160 | | (NotFile::Status(Status::Forbidden), Cache::NoHeader) [INFO] [stderr] 161 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 165 | | } [INFO] [stderr] 166 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 158 | res.map_err(|e| { [INFO] [stderr] 159 | if e.kind() == io::ErrorKind::PermissionDenied { [INFO] [stderr] 160 | (NotFile::Status(Status::Forbidden), Cache::NoHeader) [INFO] [stderr] 161 | } else { [INFO] [stderr] 162 | error!("Error reading file {:?} / {:?}: {}", path, npath, e); [INFO] [stderr] 163 | (NotFile::Status(Status::InternalServerError), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/swindon_chat.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | return Ok(Some("v1.swindon-lattice+json")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some("v1.swindon-lattice+json"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/swindon_chat.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | return Ok(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/read.rs:234:5 [INFO] [stderr] | [INFO] [stderr] 234 | return Ok((postprocess_config(src)?, files)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((postprocess_config(src)?, files))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/intern.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | / return (first.is_ascii() && first.is_alphabetic() || first == '_') && [INFO] [stderr] 60 | | val.chars().all(|c| c.is_ascii() && (c.is_alphanumeric() || c == '_')) [INFO] [stderr] | |______________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 59 | (first.is_ascii() && first.is_alphabetic() || first == '_') && [INFO] [stderr] 60 | val.chars().all(|c| c.is_ascii() && (c.is_alphanumeric() || c == '_')) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/proxy/frontend.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | return Ok(Async::Ready(data.len())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Async::Ready(data.len()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/proxy/backend.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/proxy/backend.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/proxy/response.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | return e.done(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `e.done()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/proxy/request.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | return e.done(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `e.done()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/request_id.rs:34:19 [INFO] [stderr] | [INFO] [stderr] 34 | const CHARS: &'static[u8] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ\ [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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: unneeded return statement [INFO] [stderr] --> src/request_id.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | return RequestId(buf); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `RequestId(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/request_id.rs:72:38 [INFO] [stderr] | [INFO] [stderr] 72 | (time.subsec_nanos() / 1000_000) as u64) [INFO] [stderr] | ^^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::inconsistent_digit_grouping)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/request_id.rs:73:16 [INFO] [stderr] | [INFO] [stderr] 73 | & 0xFFFFFF_FFFFFF; // ensure there are six bytes [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_digit_groups)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/routing.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | return self.table == other.table; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.table == other.table` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/routing.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | return self.table == other.table; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.table == other.table` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/routing.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | handler: _, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `RouteDef { authorizer: Some(_), .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/routing.rs:143:24 [INFO] [stderr] | [INFO] [stderr] 143 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 144 | | if let Some(p) = domain.paths.get(&path[..idx]) { [INFO] [stderr] 145 | | inherit(ndef, p); [INFO] [stderr] 146 | | } [INFO] [stderr] 147 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 143 | } else if let Some(p) = domain.paths.get(&path[..idx]) { [INFO] [stderr] 144 | inherit(ndef, p); [INFO] [stderr] 145 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/routing.rs:345:5 [INFO] [stderr] | [INFO] [stderr] 345 | return Some((route, rpath, &path[rpath.len()..])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some((route, rpath, &path[rpath.len()..]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/version.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | return Components(self.0.as_ref(), ch); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Components(self.0.as_ref(), ch)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/networks.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/routing.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | return (host, path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(host, path)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/config/static_files.rs:100:39 [INFO] [stderr] | [INFO] [stderr] 100 | Numeric::new().min(0).default(100000)) [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | / return Ok(Static { [INFO] [stderr] 162 | | mode: int.mode, [INFO] [stderr] 163 | | path: int.path, [INFO] [stderr] 164 | | text_charset: int.text_charset, [INFO] [stderr] ... | [INFO] [stderr] 171 | | headers_config: config.done(), [INFO] [stderr] 172 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 161 | Ok(Static { [INFO] [stderr] 162 | mode: int.mode, [INFO] [stderr] 163 | path: int.path, [INFO] [stderr] 164 | text_charset: int.text_charset, [INFO] [stderr] 165 | pool: int.pool, [INFO] [stderr] 166 | extra_headers: int.extra_headers, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | / return Ok(SingleFile { [INFO] [stderr] 197 | | path: int.path, [INFO] [stderr] 198 | | content_type: int.content_type, [INFO] [stderr] 199 | | pool: int.pool, [INFO] [stderr] 200 | | extra_headers: int.extra_headers, [INFO] [stderr] 201 | | headers_config: config.done(), [INFO] [stderr] 202 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 196 | Ok(SingleFile { [INFO] [stderr] 197 | path: int.path, [INFO] [stderr] 198 | content_type: int.content_type, [INFO] [stderr] 199 | pool: int.pool, [INFO] [stderr] 200 | extra_headers: int.extra_headers, [INFO] [stderr] 201 | headers_config: config.done(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:231:9 [INFO] [stderr] | [INFO] [stderr] 231 | / return Ok(VersionedStatic { [INFO] [stderr] 232 | | version_len: int.version_split.iter().map(|&x| x as usize).sum(), [INFO] [stderr] 233 | | fallback: Arc::new(Static { [INFO] [stderr] 234 | | mode: int.fallback_mode.clone(), [INFO] [stderr] ... | [INFO] [stderr] 255 | | headers_config: config, [INFO] [stderr] 256 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 231 | Ok(VersionedStatic { [INFO] [stderr] 232 | version_len: int.version_split.iter().map(|&x| x as usize).sum(), [INFO] [stderr] 233 | fallback: Arc::new(Static { [INFO] [stderr] 234 | mode: int.fallback_mode.clone(), [INFO] [stderr] 235 | path: int.plain_root.clone(), [INFO] [stderr] 236 | text_charset: int.text_charset.clone(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | / return a_mode == b_mode && [INFO] [stderr] 291 | | a_path == b_path && [INFO] [stderr] 292 | | a_text_charset == b_text_charset && [INFO] [stderr] 293 | | a_pool == b_pool && [INFO] [stderr] ... | [INFO] [stderr] 297 | | a_generate_index == b_generate_index && [INFO] [stderr] 298 | | a_generated_index_max_files == b_generated_index_max_files; [INFO] [stderr] | |__________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 290 | a_mode == b_mode && [INFO] [stderr] 291 | a_path == b_path && [INFO] [stderr] 292 | a_text_charset == b_text_charset && [INFO] [stderr] 293 | a_pool == b_pool && [INFO] [stderr] 294 | a_extra_headers == b_extra_headers && [INFO] [stderr] 295 | a_strip_host_suffix == b_strip_host_suffix && [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:276:13 [INFO] [stderr] | [INFO] [stderr] 276 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Static { mode: ref a_mode, path: ref a_path, text_charset: ref a_text_charset, pool: ref a_pool, extra_headers: ref a_extra_headers, strip_host_suffix: ref a_strip_host_suffix, index_files: ref a_index_files, generate_index: ref a_generate_index, generated_index_max_files: ref a_generated_index_max_files, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Static { mode: ref b_mode, path: ref b_path, text_charset: ref b_text_charset, pool: ref b_pool, extra_headers: ref b_extra_headers, strip_host_suffix: ref b_strip_host_suffix, index_files: ref b_index_files, generate_index: ref b_generate_index, generated_index_max_files: ref b_generated_index_max_files, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:319:9 [INFO] [stderr] | [INFO] [stderr] 319 | / return a_path == b_path && [INFO] [stderr] 320 | | a_content_type == b_content_type && [INFO] [stderr] 321 | | a_pool == b_pool && [INFO] [stderr] 322 | | a_extra_headers == b_extra_headers; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 319 | a_path == b_path && [INFO] [stderr] 320 | a_content_type == b_content_type && [INFO] [stderr] 321 | a_pool == b_pool && [INFO] [stderr] 322 | a_extra_headers == b_extra_headers [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:310:13 [INFO] [stderr] | [INFO] [stderr] 310 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `SingleFile { path: ref a_path, content_type: ref a_content_type, pool: ref a_pool, extra_headers: ref a_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `SingleFile { path: ref b_path, content_type: ref b_content_type, pool: ref b_pool, extra_headers: ref b_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/static_files.rs:358:9 [INFO] [stderr] | [INFO] [stderr] 358 | / return a_versioned_root == b_versioned_root && [INFO] [stderr] 359 | | a_plain_root == b_plain_root && [INFO] [stderr] 360 | | a_version_arg == b_version_arg && [INFO] [stderr] 361 | | a_version_split == b_version_split && [INFO] [stderr] ... | [INFO] [stderr] 366 | | a_pool == b_pool && [INFO] [stderr] 367 | | a_extra_headers == b_extra_headers; [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 358 | a_versioned_root == b_versioned_root && [INFO] [stderr] 359 | a_plain_root == b_plain_root && [INFO] [stderr] 360 | a_version_arg == b_version_arg && [INFO] [stderr] 361 | a_version_split == b_version_split && [INFO] [stderr] 362 | a_version_chars == b_version_chars && [INFO] [stderr] 363 | a_fallback_to_plain == b_fallback_to_plain && [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:339:13 [INFO] [stderr] | [INFO] [stderr] 339 | version_len: _, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:340:13 [INFO] [stderr] | [INFO] [stderr] 340 | fallback: _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:341:13 [INFO] [stderr] | [INFO] [stderr] 341 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `VersionedStatic { versioned_root: ref a_versioned_root, plain_root: ref a_plain_root, version_arg: ref a_version_arg, version_split: ref a_version_split, version_chars: ref a_version_chars, fallback_to_plain: ref a_fallback_to_plain, fallback_mode: ref a_fallback_mode, text_charset: ref a_text_charset, pool: ref a_pool, extra_headers: ref a_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:354:13 [INFO] [stderr] | [INFO] [stderr] 354 | version_len: _, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:355:13 [INFO] [stderr] | [INFO] [stderr] 355 | fallback: _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/config/static_files.rs:356:13 [INFO] [stderr] | [INFO] [stderr] 356 | headers_config: _, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `VersionedStatic { versioned_root: ref b_versioned_root, plain_root: ref b_plain_root, version_arg: ref b_version_arg, version_split: ref b_version_split, version_chars: ref b_version_chars, fallback_to_plain: ref b_fallback_to_plain, fallback_mode: ref b_fallback_mode, text_charset: ref b_text_charset, pool: ref b_pool, extra_headers: ref b_extra_headers, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/empty_gif.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / return Ok(EmptyGif { [INFO] [stderr] 28 | | overrides_content_type: [INFO] [stderr] 29 | | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | | extra_headers: int.extra_headers, [INFO] [stderr] 31 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 27 | Ok(EmptyGif { [INFO] [stderr] 28 | overrides_content_type: [INFO] [stderr] 29 | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | extra_headers: int.extra_headers, [INFO] [stderr] 31 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config/self_status.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / return Ok(SelfStatus { [INFO] [stderr] 28 | | overrides_content_type: [INFO] [stderr] 29 | | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | | extra_headers: int.extra_headers, [INFO] [stderr] 31 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 27 | Ok(SelfStatus { [INFO] [stderr] 28 | overrides_content_type: [INFO] [stderr] 29 | header_contains(&int.extra_headers, "Content-Type"), [INFO] [stderr] 30 | extra_headers: int.extra_headers, [INFO] [stderr] 31 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/handlers/empty_gif.rs:10:19 [INFO] [stderr] | [INFO] [stderr] 10 | const EMPTY_GIF: &'static [u8] = include_bytes!("../empty.gif"); [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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: unneeded return statement [INFO] [stderr] --> src/handlers/files/pools.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / return futures_cpupool::Builder::new() [INFO] [stderr] 31 | | .pool_size(cfg.num_threads) [INFO] [stderr] 32 | | .name_prefix(format!("disk-{}-", name)) [INFO] [stderr] 33 | | .after_start(move || m1.track_current_thread_by_name()) [INFO] [stderr] 34 | | .before_stop(move || m2.untrack_current_thread()) [INFO] [stderr] 35 | | .create(); [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 30 | futures_cpupool::Builder::new() [INFO] [stderr] 31 | .pool_size(cfg.num_threads) [INFO] [stderr] 32 | .name_prefix(format!("disk-{}-", name)) [INFO] [stderr] 33 | .after_start(move || m1.track_current_thread_by_name()) [INFO] [stderr] 34 | .before_stop(move || m2.untrack_current_thread()) [INFO] [stderr] 35 | .create() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/files/versioned.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/files/versioned.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | / return res.map_err(|e| { [INFO] [stderr] 159 | | if e.kind() == io::ErrorKind::PermissionDenied { [INFO] [stderr] 160 | | (NotFile::Status(Status::Forbidden), Cache::NoHeader) [INFO] [stderr] 161 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 165 | | } [INFO] [stderr] 166 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 158 | res.map_err(|e| { [INFO] [stderr] 159 | if e.kind() == io::ErrorKind::PermissionDenied { [INFO] [stderr] 160 | (NotFile::Status(Status::Forbidden), Cache::NoHeader) [INFO] [stderr] 161 | } else { [INFO] [stderr] 162 | error!("Error reading file {:?} / {:?}: {}", path, npath, e); [INFO] [stderr] 163 | (NotFile::Status(Status::InternalServerError), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/swindon_chat.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | return Ok(Some("v1.swindon-lattice+json")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some("v1.swindon-lattice+json"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/handlers/swindon_chat.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | return Ok(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/intern.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | / return (first.is_ascii() && first.is_alphabetic() || first == '_') && [INFO] [stderr] 60 | | val.chars().all(|c| c.is_ascii() && (c.is_alphanumeric() || c == '_')) [INFO] [stderr] | |______________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 59 | (first.is_ascii() && first.is_alphabetic() || first == '_') && [INFO] [stderr] 60 | val.chars().all(|c| c.is_ascii() && (c.is_alphanumeric() || c == '_')) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/proxy/frontend.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | return Ok(Async::Ready(data.len())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Async::Ready(data.len()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/proxy/backend.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/proxy/backend.rs:75:12 [INFO] [stderr] | [INFO] [stderr] 75 | Ok((Async::Ready(data.len()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/proxy/response.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | return e.done(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `e.done()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/proxy/request.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | return e.done(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `e.done()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/request_id.rs:34:19 [INFO] [stderr] | [INFO] [stderr] 34 | const CHARS: &'static[u8] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ\ [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [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: unneeded return statement [INFO] [stderr] --> src/request_id.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | return RequestId(buf); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `RequestId(buf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/request_id.rs:72:38 [INFO] [stderr] | [INFO] [stderr] 72 | (time.subsec_nanos() / 1000_000) as u64) [INFO] [stderr] | ^^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::inconsistent_digit_grouping)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: digit groups should be smaller [INFO] [stderr] --> src/request_id.rs:73:16 [INFO] [stderr] | [INFO] [stderr] 73 | & 0xFFFFFF_FFFFFF; // ensure there are six bytes [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_digit_groups)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_digit_groups [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/routing.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | return self.table == other.table; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.table == other.table` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/routing.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | return self.table == other.table; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.table == other.table` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/routing.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | handler: _, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `RouteDef { authorizer: Some(_), .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/routing.rs:143:24 [INFO] [stderr] | [INFO] [stderr] 143 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 144 | | if let Some(p) = domain.paths.get(&path[..idx]) { [INFO] [stderr] 145 | | inherit(ndef, p); [INFO] [stderr] 146 | | } [INFO] [stderr] 147 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 143 | } else if let Some(p) = domain.paths.get(&path[..idx]) { [INFO] [stderr] 144 | inherit(ndef, p); [INFO] [stderr] 145 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/routing.rs:345:5 [INFO] [stderr] | [INFO] [stderr] 345 | return Some((route, rpath, &path[rpath.len()..])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some((route, rpath, &path[rpath.len()..]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/updater/mod.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | return rx; [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `rx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/authorizers/source_ip.rs:46:16 [INFO] [stderr] | [INFO] [stderr] 46 | ip.unwrap_or(input.addr.ip()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| input.addr.ip())` [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:28:64 [INFO] [stderr] | [INFO] [stderr] 28 | let mut s_in = self.0[..len - mod_len].iter().map(|&x| x as u32); [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(x)` [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: the operation is ineffective. Consider reducing it to `n` [INFO] [stderr] --> src/base64.rs:44:23 [INFO] [stderr] | [INFO] [stderr] 44 | write(enc((n >> 0 ) & 63)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:52:25 [INFO] [stderr] | [INFO] [stderr] 52 | let n = (self.0[len-1] as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.0[len-1])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:59:25 [INFO] [stderr] | [INFO] [stderr] 59 | let n = (self.0[len-2] as u32) << 16 | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.0[len-2])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:60:25 [INFO] [stderr] | [INFO] [stderr] 60 | (self.0[len-1] as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.0[len-1])` [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/chat/authorize.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | .splitn(2, "?").nth(1).unwrap_or("").to_string(); [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/authorize.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | inp.runtime.server_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `inp.runtime.server_id` [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 function has too many arguments (10/7) [INFO] [stderr] --> src/chat/backend.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | / pub fn new(path: String, cid: Cid, req: AuthData, [INFO] [stderr] 83 | | chat: ProcessorPool, destination: &Arc, [INFO] [stderr] 84 | | tx: ConnectionSender, server_id: ServerId, weak_content_type: bool, [INFO] [stderr] 85 | | remote: &RemotePool, pool_config: &Arc) [INFO] [stderr] ... | [INFO] [stderr] 99 | | } [INFO] [stderr] 100 | | } [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: this function has too many arguments (10/7) [INFO] [stderr] --> src/chat/backend.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / pub fn new(auth: Arc, path: String, cid: Cid, [INFO] [stderr] 112 | | meta: &Arc, args: Args, kw: Kwargs, [INFO] [stderr] 113 | | destination: &Arc, [INFO] [stderr] 114 | | sender: ConnectionSender, [INFO] [stderr] ... | [INFO] [stderr] 132 | | } [INFO] [stderr] 133 | | } [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/backend.rs:456:9 [INFO] [stderr] | [INFO] [stderr] 456 | / match self { [INFO] [stderr] 457 | | &AuthState::Init(_, _) => write!(f, "AuthState::Init"), [INFO] [stderr] 458 | | &AuthState::Wait => write!(f, "AuthState::Wait"), [INFO] [stderr] 459 | | &AuthState::Headers(_) => write!(f, "AuthState::Headers"), [INFO] [stderr] 460 | | &AuthState::Done(_) => write!(f, "AuthState::Done"), [INFO] [stderr] 461 | | &AuthState::Void => write!(f, "AuthState::Void"), [INFO] [stderr] 462 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 456 | match *self { [INFO] [stderr] 457 | AuthState::Init(_, _) => write!(f, "AuthState::Init"), [INFO] [stderr] 458 | AuthState::Wait => write!(f, "AuthState::Wait"), [INFO] [stderr] 459 | AuthState::Headers(_) => write!(f, "AuthState::Headers"), [INFO] [stderr] 460 | AuthState::Done(_) => write!(f, "AuthState::Done"), [INFO] [stderr] 461 | AuthState::Void => write!(f, "AuthState::Void"), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/backend.rs:468:9 [INFO] [stderr] | [INFO] [stderr] 468 | / match self { [INFO] [stderr] 469 | | &CallState::Init { .. } => write!(f, "CallState::Init"), [INFO] [stderr] 470 | | &CallState::Wait => write!(f, "CallState::Wait"), [INFO] [stderr] 471 | | &CallState::Headers(_) => write!(f, "CallState::Headers"), [INFO] [stderr] 472 | | &CallState::Void => write!(f, "CallState::Void"), [INFO] [stderr] 473 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 468 | match *self { [INFO] [stderr] 469 | CallState::Init { .. } => write!(f, "CallState::Init"), [INFO] [stderr] 470 | CallState::Wait => write!(f, "CallState::Wait"), [INFO] [stderr] 471 | CallState::Headers(_) => write!(f, "CallState::Headers"), [INFO] [stderr] 472 | CallState::Void => write!(f, "CallState::Void"), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/chat/cid.rs:31:25 [INFO] [stderr] | [INFO] [stderr] 31 | src.parse().map(|x| Cid(x)) [INFO] [stderr] | ^^^^^^^^^^ help: remove closure as shown: `Cid` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/dispatcher.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | self.runtime.server_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.runtime.server_id` [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: length comparison to zero [INFO] [stderr] --> src/chat/listener/codec.rs:306:20 [INFO] [stderr] | [INFO] [stderr] 306 | if data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.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: length comparison to zero [INFO] [stderr] --> src/chat/listener/codec.rs:326:20 [INFO] [stderr] | [INFO] [stderr] 326 | if data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/listener/codec.rs:409:30 [INFO] [stderr] | [INFO] [stderr] 409 | conn_id: cid.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `cid` [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/chat/listener/codec.rs:460:38 [INFO] [stderr] | [INFO] [stderr] 460 | conn_id: cid.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `cid` [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/chat/listener/codec.rs:507:30 [INFO] [stderr] | [INFO] [stderr] 507 | conn_id: cid.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `cid` [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] error: this `if` has identical blocks [INFO] [stderr] --> src/chat/message.rs:40:45 [INFO] [stderr] | [INFO] [stderr] 40 | } else if method.starts_with("tangle.") { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 41 | | false [INFO] [stderr] 42 | | } else if method.starts_with("swindon.") { [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/chat/message.rs:38:26 [INFO] [stderr] | [INFO] [stderr] 38 | if method.len() == 0 { [INFO] [stderr] | __________________________^ [INFO] [stderr] 39 | | false [INFO] [stderr] 40 | | } else if method.starts_with("tangle.") { [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/message.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | if method.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `method.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/chat/message.rs:55:16 [INFO] [stderr] | [INFO] [stderr] 55 | if s.len() == 0 || s.len() > 36 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `s.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 pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/chat/message.rs:122:32 [INFO] [stderr] | [INFO] [stderr] 122 | .filter(|&(&ref k,_)| extra.get(k).is_none()))) [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `k` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/processor/pool.rs:109:37 [INFO] [stderr] | [INFO] [stderr] 109 | new_connection_timeout: (cfg.new_connection_idle_timeout).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(cfg.new_connection_idle_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: length comparison to zero [INFO] [stderr] --> src/chat/processor/pool.rs:245:24 [INFO] [stderr] | [INFO] [stderr] 245 | if session.users_lattice.connections.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `session.users_lattice.connections.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/chat/processor/pool.rs:312:16 [INFO] [stderr] | [INFO] [stderr] 312 | if self.lattices.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.lattices.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: you seem to want to iterate on a map's values [INFO] [stderr] --> src/chat/processor/pool.rs:317:29 [INFO] [stderr] | [INFO] [stderr] 317 | for (_name, lat) in &mut self.lattices { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 317 | for lat in self.lattices.values_mut() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/processor/pool.rs:361:12 [INFO] [stderr] | [INFO] [stderr] 361 | if self.lattices.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.lattices.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/chat/processor/pool.rs:379:16 [INFO] [stderr] | [INFO] [stderr] 379 | if session.connections.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `session.connections.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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/chat/processor/pool.rs:551:19 [INFO] [stderr] | [INFO] [stderr] 551 | let lat = self.lattices.get(&namespace).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.lattices[&namespace]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/chat/processor/pool.rs:596:21 [INFO] [stderr] | [INFO] [stderr] 596 | / lat.shared.get(&room).map(|pubval| { [INFO] [stderr] 597 | | rooms.entry(room) [INFO] [stderr] 598 | | .or_insert_with(Values::new) [INFO] [stderr] 599 | | .update(pubval); [INFO] [stderr] 600 | | }); [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 596 | if let Some(pubval) = lat.shared.get(&room) { rooms.entry(room) [INFO] [stderr] 597 | .or_insert_with(Values::new) [INFO] [stderr] 598 | .update(pubval); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/processor/pool.rs:714:12 [INFO] [stderr] | [INFO] [stderr] 714 | if e.get().len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `e.get().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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/chat/processor/pool.rs:758:20 [INFO] [stderr] | [INFO] [stderr] 758 | let mut data = lattice.private.get(session) [INFO] [stderr] | ____________________^ [INFO] [stderr] 759 | | .map(|x| x.clone()) [INFO] [stderr] | |___________________________^ help: Consider calling the dedicated `cloned` method: `lattice.private.get(session).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/chat/processor/pool.rs:762:9 [INFO] [stderr] | [INFO] [stderr] 762 | lattice.shared.get(key).map(|pubval| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 763 | || values.update(pubval); [INFO] [stderr] 764 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(pubval) = lattice.shared.get(key) { values.update(pubval); }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chat/processor/pool.rs:803:39 [INFO] [stderr] | [INFO] [stderr] 803 | (d.as_secs() * 1000) as f64 + (d.subsec_nanos() / 1_000_000) as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(d.subsec_nanos() / 1_000_000)` [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: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/chat/processor/pool.rs:803:39 [INFO] [stderr] | [INFO] [stderr] 803 | (d.as_secs() * 1000) as f64 + (d.subsec_nanos() / 1_000_000) as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `d.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::duration_subsec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/processor/heap.rs:77:12 [INFO] [stderr] | [INFO] [stderr] 77 | if self.items.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.items.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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/chat/processor/heap.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | map.get_mut(k).map(|entry_index| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 234 | || let (slot, key, value) = slab.remove(*entry_index); [INFO] [stderr] 235 | || // TODO(tailhook) optimize timeout update [INFO] [stderr] 236 | || heap.remove(slot); [INFO] [stderr] ... || [INFO] [stderr] 240 | || entry.insert((slot, key, value)); [INFO] [stderr] 241 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(entry_index) = map.get_mut(k) { ... }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/chat/processor/heap.rs:247:9 [INFO] [stderr] | [INFO] [stderr] 247 | map.get_mut(k).map(|entry_index| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 248 | || let (slot, key, value) = slab.remove(*entry_index); [INFO] [stderr] 249 | || // TODO(tailhook) optimize timeout update [INFO] [stderr] 250 | || let (old_ts, _) = heap.remove(slot); [INFO] [stderr] ... || [INFO] [stderr] 254 | || entry.insert((slot, key, value)); [INFO] [stderr] 255 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(entry_index) = map.get_mut(k) { ... }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/processor/connection.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | users_lattice: self.users_lattice.len() > 0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.users_lattice.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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/chat/processor/lattice.rs:257:13 [INFO] [stderr] | [INFO] [stderr] 257 | let ref mut arc = self.0; [INFO] [stderr] | ----^^^^^^^^^^^---------- help: try: `let arc = &mut self.0;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/chat/processor/lattice.rs:367:30 [INFO] [stderr] | [INFO] [stderr] 367 | .map_err(|e| de::Error::custom(e))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `de::Error::custom` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/processor/mod.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | / match err { [INFO] [stderr] 184 | | &MessageError::HttpError(ref status, _) => { [INFO] [stderr] 185 | | json!({ [INFO] [stderr] 186 | | "error_kind": "http_error", [INFO] [stderr] ... | [INFO] [stderr] 201 | | } [INFO] [stderr] 202 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 183 | match *err { [INFO] [stderr] 184 | MessageError::HttpError(ref status, _) => { [INFO] [stderr] 185 | json!({ [INFO] [stderr] 186 | "error_kind": "http_error", [INFO] [stderr] 187 | "http_error": status.code(), [INFO] [stderr] 188 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/processor/mod.rs:270:9 [INFO] [stderr] | [INFO] [stderr] 270 | / match self { [INFO] [stderr] 271 | | &NewSessionPool {..} => { [INFO] [stderr] 272 | | write!(f, "Action::NewSessionPool") [INFO] [stderr] 273 | | } [INFO] [stderr] ... | [INFO] [stderr] 317 | | } [INFO] [stderr] 318 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 270 | match *self { [INFO] [stderr] 271 | NewSessionPool {..} => { [INFO] [stderr] 272 | write!(f, "Action::NewSessionPool") [INFO] [stderr] 273 | } [INFO] [stderr] 274 | StopSessionPool => { [INFO] [stderr] 275 | write!(f, "Action::StopSessionPool") [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/replication/session.rs:77:24 [INFO] [stderr] | [INFO] [stderr] 77 | server_id: server_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*server_id` [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/chat/replication/session.rs:160:26 [INFO] [stderr] | [INFO] [stderr] 160 | .map(|_| remote.clone()) // XXX [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*remote` [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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/chat/replication/session.rs:178:25 [INFO] [stderr] | [INFO] [stderr] 178 | let to_delete = self.peers.keys() [INFO] [stderr] | _________________________^ [INFO] [stderr] 179 | | .filter(|p| !settings.peers.contains(p)) [INFO] [stderr] 180 | | .map(|p| p.clone()).collect::>(); // XXX [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 178 | let to_delete = self.peers.keys() [INFO] [stderr] 179 | .filter(|p| !settings.peers.contains(p)).cloned().collect::>(); // XXX [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/chat/replication/session.rs:193:28 [INFO] [stderr] | [INFO] [stderr] 193 | if let Some(_) = self.links.get(server_id) { [INFO] [stderr] | _____________________- ^^^^^^^ [INFO] [stderr] 194 | | continue [INFO] [stderr] 195 | | } [INFO] [stderr] | |_____________________- help: try this: `if self.links.get(server_id).is_some()` [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: taken reference of right operand [INFO] [stderr] --> src/chat/replication/session.rs:198:24 [INFO] [stderr] | [INFO] [stderr] 198 | if timeout >= &now { [INFO] [stderr] | ^^^^^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `now` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/replication/spawn.rs:33:18 [INFO] [stderr] | [INFO] [stderr] 33 | let srv_id = server_id.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*server_id` [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/chat/replication/spawn.rs:54:21 [INFO] [stderr] | [INFO] [stderr] 54 | let server_id = server_id.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*server_id` [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: redundant closure found [INFO] [stderr] --> src/chat/replication/spawn.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | |a| ok(a)) [INFO] [stderr] | ^^^^^^^^^ help: remove closure as shown: `ok` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/chat/replication/spawn.rs:78:43 [INFO] [stderr] | [INFO] [stderr] 78 | Ok(Either::B(((), _))) => err(format!("Connect timed out")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Connect timed out".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/chat/replication/spawn.rs:90:26 [INFO] [stderr] | [INFO] [stderr] 90 | .map_err(|_| format!("receiver error")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"receiver error".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/replication/spawn.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | / if let &Frame::Text(data) = frame { [INFO] [stderr] 115 | | FRAMES_RECEIVED.incr(1); [INFO] [stderr] 116 | | match serde_json::from_str(data) { [INFO] [stderr] 117 | | Ok(msg) => { [INFO] [stderr] ... | [INFO] [stderr] 125 | | }; [INFO] [stderr] 126 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 114 | if let Frame::Text(data) = *frame { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/replication/server.rs:158:17 [INFO] [stderr] | [INFO] [stderr] 158 | assert!(data.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/chat/replication/client.rs:44:10 [INFO] [stderr] | [INFO] [stderr] 44 | .ok_or(Error::custom("missing X-Swindon-Node-Id header")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| Error::custom("missing X-Swindon-Node-Id header"))` [INFO] [stderr] | [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/config/fingerprint.rs:28:19 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn calc(meta: &Vec<(PathBuf, String, Metadata)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(PathBuf, String, Metadata)]` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/config/fingerprint.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | digest.write(name.as_bytes())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/config/fingerprint.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | digest.write(&[0])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/config/read.rs:116:25 [INFO] [stderr] | [INFO] [stderr] 116 | / format!("Only relative paths without parent \ [INFO] [stderr] 117 | | directories can be included"))); [INFO] [stderr] | |______________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] help: consider using .to_string() [INFO] [stderr] | [INFO] [stderr] 116 | "Only relative paths without parent \ [INFO] [stderr] 117 | directories can be included".to_string())); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/config/read.rs:184:8 [INFO] [stderr] | [INFO] [stderr] 184 | -> Result<(ConfigData, Vec<(PathBuf, String, Metadata)>), Error> [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/config/read.rs:296:9 [INFO] [stderr] | [INFO] [stderr] 296 | / match h { [INFO] [stderr] 297 | | &Handler::SwindonLattice(ref chat) => { [INFO] [stderr] 298 | | match cfg.session_pools.get_mut(&chat.session_pool) { [INFO] [stderr] 299 | | None => { [INFO] [stderr] ... | [INFO] [stderr] 391 | | _ => {} [INFO] [stderr] 392 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 296 | match *h { [INFO] [stderr] 297 | Handler::SwindonLattice(ref chat) => { [INFO] [stderr] 298 | match cfg.session_pools.get_mut(&chat.session_pool) { [INFO] [stderr] 299 | None => { [INFO] [stderr] 300 | err!("No session pool {:?} defined", chat.session_pool) [INFO] [stderr] 301 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/config/read.rs:342:29 [INFO] [stderr] | [INFO] [stderr] 342 | pool.inactivity_handlers.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!pool.inactivity_handlers.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: you seem to want to iterate on a map's values [INFO] [stderr] --> src/config/read.rs:364:34 [INFO] [stderr] | [INFO] [stderr] 364 | for (_, dest) in &chat.message_handlers.map { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 364 | for dest in chat.message_handlers.map.values() { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config/version.rs:68:22 [INFO] [stderr] | [INFO] [stderr] 68 | .unwrap_or(self.0.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.0.len())` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config/version.rs:70:54 [INFO] [stderr] | [INFO] [stderr] 70 | return Some(val.parse().map(Numeric).unwrap_or(String(val))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String(val))` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config/version.rs:77:22 [INFO] [stderr] | [INFO] [stderr] 77 | .unwrap_or(self.0.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.0.len())` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/config/version.rs:115:34 [INFO] [stderr] | [INFO] [stderr] 115 | || x.starts_with("g") [INFO] [stderr] | ^^^ help: try using a char instead: `'g'` [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/config/routing.rs:58:34 [INFO] [stderr] | [INFO] [stderr] 58 | if val.ends_with("/") { [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: length comparison to zero [INFO] [stderr] --> src/config/routing.rs:88:15 [INFO] [stderr] | [INFO] [stderr] 88 | while val.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!val.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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/config/routing.rs:104:31 [INFO] [stderr] | [INFO] [stderr] 104 | } else if let Some(_) = m.get(2) { [INFO] [stderr] | ________________________- ^^^^^^^ [INFO] [stderr] 105 | | panic!("Logs are not implemented yet"); [INFO] [stderr] 106 | | } else if let Some(name) = m.get(3) { [INFO] [stderr] 107 | | panic!("Key {:?} is not implemented yet", name); [INFO] [stderr] 108 | | } [INFO] [stderr] | |_________________- help: try this: `if m.get(2).is_some()` [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 closure found [INFO] [stderr] --> src/config/visitors.rs:27:27 [INFO] [stderr] | [INFO] [stderr] 27 | s.parse().map_err(|e| E::custom(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove closure as shown: `E::custom` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/config/chat.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | / match self { [INFO] [stderr] 97 | | // Default pattern does not match anything, [INFO] [stderr] 98 | | // as its a special case and MUST be used as last resort effort. [INFO] [stderr] 99 | | &Pattern::Default => false, [INFO] [stderr] ... | [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 96 | match *self { [INFO] [stderr] 97 | // Default pattern does not match anything, [INFO] [stderr] 98 | // as its a special case and MUST be used as last resort effort. [INFO] [stderr] 99 | Pattern::Default => false, [INFO] [stderr] 100 | Pattern::Glob(ref s) => { [INFO] [stderr] 101 | let s = s.as_str(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/config/chat.rs:115:14 [INFO] [stderr] | [INFO] [stderr] 115 | .ok_or(D::Error::custom("No default route"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| D::Error::custom("No default route"))` [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/config/static_files.rs:234:23 [INFO] [stderr] | [INFO] [stderr] 234 | mode: int.fallback_mode.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `int.fallback_mode` [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: redundant closure found [INFO] [stderr] --> src/handlers/files/common.rs:54:40 [INFO] [stderr] | [INFO] [stderr] 54 | }).map_err(|e| Error::custom(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Error::custom` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/handlers/files/normal.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | if host.find("/").is_some() { [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/handlers/files/normal.rs:87:65 [INFO] [stderr] | [INFO] [stderr] 87 | let name: &str = if let Some(colon) = host.find(":") { [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/handlers/files/normal.rs:114:27 [INFO] [stderr] | [INFO] [stderr] 114 | for cmp in path.split("/") { [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: length comparison to zero [INFO] [stderr] --> src/handlers/files/normal.rs:120:20 [INFO] [stderr] | [INFO] [stderr] 120 | if buf.len() > 0 { [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: length comparison to zero [INFO] [stderr] --> src/handlers/files/normal.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | assert!(buf.len() == 0 || buf[0] != b'/'); [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 boolean expression can be simplified [INFO] [stderr] --> src/handlers/files/single.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 17 | if !inp.headers.path().is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `inp.headers.path().is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/handlers/files/versioned.rs:43:46 [INFO] [stderr] | [INFO] [stderr] 43 | && pair[arg.len()..].starts_with("=") [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: use of `or` followed by a function call [INFO] [stderr] --> src/handlers/files/versioned.rs:107:10 [INFO] [stderr] | [INFO] [stderr] 107 | .or(npath.as_ref().map(|x| -> &Path { x.as_ref() })) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| npath.as_ref().map(|x| -> &Path { x.as_ref() }))` [INFO] [stderr] | [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: the `e @ _` pattern can be written as just `e` [INFO] [stderr] --> src/handlers/files/versioned.rs:134:18 [INFO] [stderr] | [INFO] [stderr] 134 | (Err(e@_), &Some(ref pp), always) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/handlers/files/versioned.rs:188:25 [INFO] [stderr] | [INFO] [stderr] 188 | fn to_header_string(&self) -> &'static str { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: length comparison to zero [INFO] [stderr] --> src/handlers/websocket_echo.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | assert!(data.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/handlers/swindon_chat.rs:79:29 [INFO] [stderr] | [INFO] [stderr] 79 | let pool_settings = self.runtime.config [INFO] [stderr] | _____________________________^ [INFO] [stderr] 80 | | .get().session_pools.get(&self.settings.session_pool) [INFO] [stderr] 81 | | // TODO(tailhook) may this unwrap crash? [INFO] [stderr] 82 | | // return error code in this case [INFO] [stderr] 83 | | .unwrap().clone(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 79 | let pool_settings = &self.runtime.config [INFO] [stderr] 80 | .get().session_pools[&self.settings.session_pool].clone(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/handlers/swindon_chat.rs:200:8 [INFO] [stderr] | [INFO] [stderr] 200 | if h.protocols.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `h.protocols.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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/http_pools.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | let ref s = self.0; [INFO] [stderr] | ----^^^^^---------- help: try: `let s = &self.0;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/incoming/router.rs:149:37 [INFO] [stderr] | [INFO] [stderr] 149 | status: status.into(), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider removing `.into()`: `status` [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: length comparison to zero [INFO] [stderr] --> src/incoming/debug.rs:78:16 [INFO] [stderr] | [INFO] [stderr] 78 | if dinfo.allow.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!dinfo.allow.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/incoming/debug.rs:88:16 [INFO] [stderr] | [INFO] [stderr] 88 | if dinfo.allow.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `dinfo.allow.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/incoming/debug.rs:104:16 [INFO] [stderr] | [INFO] [stderr] 104 | if dinfo.deny.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `dinfo.deny.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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/incoming/encoder.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | let ref mut enc = self.enc; [INFO] [stderr] | ----^^^^^^^^^^^------------ help: try: `let enc = &mut self.enc;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/incoming/encoder.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | self.config.server_name.as_ref().map(|name| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 112 | || enc.add_header("Server", name).unwrap(); [INFO] [stderr] 113 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(name) = self.config.server_name.as_ref() { enc.add_header("Server", name).unwrap(); }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/incoming/quick_reply.rs:38:17 [INFO] [stderr] | [INFO] [stderr] 38 | assert!(data.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: length comparison to zero [INFO] [stderr] --> src/intern.rs:55:8 [INFO] [stderr] | [INFO] [stderr] 55 | if val.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `val.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/intern.rs:64:8 [INFO] [stderr] | [INFO] [stderr] 64 | if val.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `val.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/intern.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | if val.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `val.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: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/metrics.rs:17:42 [INFO] [stderr] | [INFO] [stderr] 17 | pub struct ActiveCollection(OwningHandle>>, Wrapper>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::box_vec)] on by default [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/metrics.rs:38:39 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn all(runtime: &Arc) -> Box>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [INFO] [stderr] [INFO] [stderr] warning: Comparing with null is better expressed by the .is_null() method [INFO] [stderr] --> src/privileges.rs:15:16 [INFO] [stderr] | [INFO] [stderr] 15 | if gentry == ptr::null_mut() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_null)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stderr] [INFO] [stderr] warning: Comparing with null is better expressed by the .is_null() method [INFO] [stderr] --> src/privileges.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | if uentry == ptr::null_mut() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/proxy/frontend.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | let ref cfg = self.context.as_ref().unwrap().0; [INFO] [stderr] | ----^^^^^^^------------------------------------ help: try: `let cfg = &self.context.as_ref().unwrap().0;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/proxy/response.rs:71:21 [INFO] [stderr] | [INFO] [stderr] 71 | assert!(res == false); [INFO] [stderr] | ^^^^^^^^^^^^ help: try simplifying it as shown: `!res` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/proxy/request.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | let ref r = *self.0; [INFO] [stderr] | ----^^^^^----------- help: try: `let r = &(*self.0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/proxy/request.rs:108:12 [INFO] [stderr] | [INFO] [stderr] 108 | if r.body.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!r.body.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: the operation is ineffective. Consider reducing it to `n` [INFO] [stderr] --> src/request_id.rs:45:21 [INFO] [stderr] | [INFO] [stderr] 45 | dest[3] = CHARS[(n >> 0) & 63]; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/request_id.rs:72:15 [INFO] [stderr] | [INFO] [stderr] 72 | (time.subsec_nanos() / 1000_000) as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(time.subsec_nanos() / 1000_000)` [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: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/request_id.rs:72:15 [INFO] [stderr] | [INFO] [stderr] 72 | (time.subsec_nanos() / 1000_000) as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `time.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `ms` [INFO] [stderr] --> src/request_id.rs:78:56 [INFO] [stderr] | [INFO] [stderr] 78 | base64triple(&[(ms >> 16) as u8, (ms >> 8) as u8, (ms >> 0) as u8], [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `n` [INFO] [stderr] --> src/request_id.rs:88:54 [INFO] [stderr] | [INFO] [stderr] 88 | base64triple(&[(n >> 16) as u8, (n >> 8) as u8, (n >> 0) as u8], [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [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/routing.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | / match (&mut to.authorizer, &from.authorizer) { [INFO] [stderr] 49 | | (&mut ref mut dest @ None, &Some(ref x)) => { [INFO] [stderr] 50 | | *dest = Some(x.clone()); [INFO] [stderr] 51 | | } [INFO] [stderr] 52 | | _ => {} [INFO] [stderr] 53 | | } [INFO] [stderr] | |_____^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 48 | if let (&mut ref mut dest @ None, &Some(ref x)) = (&mut to.authorizer, &from.authorizer) { [INFO] [stderr] 49 | *dest = Some(x.clone()); [INFO] [stderr] 50 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/routing.rs:90:14 [INFO] [stderr] | [INFO] [stderr] 90 | .unwrap_or(AuthorizerName::from("default")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| AuthorizerName::from("default"))` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/routing.rs:135:49 [INFO] [stderr] | [INFO] [stderr] 135 | for (idx, _) in path.rmatch_indices("/") { [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/routing.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | / match host { [INFO] [stderr] 152 | | Some(&Host { [INFO] [stderr] 153 | | star: Some(Domain { root: Some(ref r), .. }), [INFO] [stderr] 154 | | .. [INFO] [stderr] ... | [INFO] [stderr] 158 | | _ => {} [INFO] [stderr] 159 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 151 | if let Some(&Host { [INFO] [stderr] 152 | star: Some(Domain { root: Some(ref r), .. }), [INFO] [stderr] 153 | .. [INFO] [stderr] 154 | }) = host { [INFO] [stderr] 155 | inherit(ndef, r); [INFO] [stderr] 156 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/routing.rs:213:56 [INFO] [stderr] | [INFO] [stderr] 213 | for (idx, _) in name.match_indices(".") { [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/routing.rs:223:51 [INFO] [stderr] | [INFO] [stderr] 223 | let mut ndef = exact.root.clone().unwrap_or(default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(default)` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/routing.rs:225:52 [INFO] [stderr] | [INFO] [stderr] 225 | for (idx, _) in name.match_indices(".") { [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/routing.rs:243:56 [INFO] [stderr] | [INFO] [stderr] 243 | for (idx, _) in name.match_indices(".") { [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/routing.rs:253:50 [INFO] [stderr] | [INFO] [stderr] 253 | let mut ndef = star.root.clone().unwrap_or(default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(default)` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/routing.rs:255:52 [INFO] [stderr] | [INFO] [stderr] 255 | for (idx, _) in name.match_indices(".") { [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/routing.rs:271:52 [INFO] [stderr] | [INFO] [stderr] 271 | for (idx, _) in name.match_indices(".") { [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] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `swindon`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/authorizers/source_ip.rs:46:16 [INFO] [stderr] | [INFO] [stderr] 46 | ip.unwrap_or(input.addr.ip()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| input.addr.ip())` [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:28:64 [INFO] [stderr] | [INFO] [stderr] 28 | let mut s_in = self.0[..len - mod_len].iter().map(|&x| x as u32); [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(x)` [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: the operation is ineffective. Consider reducing it to `n` [INFO] [stderr] --> src/base64.rs:44:23 [INFO] [stderr] | [INFO] [stderr] 44 | write(enc((n >> 0 ) & 63)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:52:25 [INFO] [stderr] | [INFO] [stderr] 52 | let n = (self.0[len-1] as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.0[len-1])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:59:25 [INFO] [stderr] | [INFO] [stderr] 59 | let n = (self.0[len-2] as u32) << 16 | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.0[len-2])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:60:25 [INFO] [stderr] | [INFO] [stderr] 60 | (self.0[len-1] as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.0[len-1])` [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/chat/authorize.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | .splitn(2, "?").nth(1).unwrap_or("").to_string(); [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/authorize.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | inp.runtime.server_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `inp.runtime.server_id` [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 function has too many arguments (10/7) [INFO] [stderr] --> src/chat/backend.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | / pub fn new(path: String, cid: Cid, req: AuthData, [INFO] [stderr] 83 | | chat: ProcessorPool, destination: &Arc, [INFO] [stderr] 84 | | tx: ConnectionSender, server_id: ServerId, weak_content_type: bool, [INFO] [stderr] 85 | | remote: &RemotePool, pool_config: &Arc) [INFO] [stderr] ... | [INFO] [stderr] 99 | | } [INFO] [stderr] 100 | | } [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: this function has too many arguments (10/7) [INFO] [stderr] --> src/chat/backend.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / pub fn new(auth: Arc, path: String, cid: Cid, [INFO] [stderr] 112 | | meta: &Arc, args: Args, kw: Kwargs, [INFO] [stderr] 113 | | destination: &Arc, [INFO] [stderr] 114 | | sender: ConnectionSender, [INFO] [stderr] ... | [INFO] [stderr] 132 | | } [INFO] [stderr] 133 | | } [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/backend.rs:456:9 [INFO] [stderr] | [INFO] [stderr] 456 | / match self { [INFO] [stderr] 457 | | &AuthState::Init(_, _) => write!(f, "AuthState::Init"), [INFO] [stderr] 458 | | &AuthState::Wait => write!(f, "AuthState::Wait"), [INFO] [stderr] 459 | | &AuthState::Headers(_) => write!(f, "AuthState::Headers"), [INFO] [stderr] 460 | | &AuthState::Done(_) => write!(f, "AuthState::Done"), [INFO] [stderr] 461 | | &AuthState::Void => write!(f, "AuthState::Void"), [INFO] [stderr] 462 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 456 | match *self { [INFO] [stderr] 457 | AuthState::Init(_, _) => write!(f, "AuthState::Init"), [INFO] [stderr] 458 | AuthState::Wait => write!(f, "AuthState::Wait"), [INFO] [stderr] 459 | AuthState::Headers(_) => write!(f, "AuthState::Headers"), [INFO] [stderr] 460 | AuthState::Done(_) => write!(f, "AuthState::Done"), [INFO] [stderr] 461 | AuthState::Void => write!(f, "AuthState::Void"), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/backend.rs:468:9 [INFO] [stderr] | [INFO] [stderr] 468 | / match self { [INFO] [stderr] 469 | | &CallState::Init { .. } => write!(f, "CallState::Init"), [INFO] [stderr] 470 | | &CallState::Wait => write!(f, "CallState::Wait"), [INFO] [stderr] 471 | | &CallState::Headers(_) => write!(f, "CallState::Headers"), [INFO] [stderr] 472 | | &CallState::Void => write!(f, "CallState::Void"), [INFO] [stderr] 473 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 468 | match *self { [INFO] [stderr] 469 | CallState::Init { .. } => write!(f, "CallState::Init"), [INFO] [stderr] 470 | CallState::Wait => write!(f, "CallState::Wait"), [INFO] [stderr] 471 | CallState::Headers(_) => write!(f, "CallState::Headers"), [INFO] [stderr] 472 | CallState::Void => write!(f, "CallState::Void"), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/chat/cid.rs:31:25 [INFO] [stderr] | [INFO] [stderr] 31 | src.parse().map(|x| Cid(x)) [INFO] [stderr] | ^^^^^^^^^^ help: remove closure as shown: `Cid` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/dispatcher.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | self.runtime.server_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.runtime.server_id` [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: length comparison to zero [INFO] [stderr] --> src/chat/listener/codec.rs:306:20 [INFO] [stderr] | [INFO] [stderr] 306 | if data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.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: length comparison to zero [INFO] [stderr] --> src/chat/listener/codec.rs:326:20 [INFO] [stderr] | [INFO] [stderr] 326 | if data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/listener/codec.rs:409:30 [INFO] [stderr] | [INFO] [stderr] 409 | conn_id: cid.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `cid` [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/chat/listener/codec.rs:460:38 [INFO] [stderr] | [INFO] [stderr] 460 | conn_id: cid.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `cid` [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/chat/listener/codec.rs:507:30 [INFO] [stderr] | [INFO] [stderr] 507 | conn_id: cid.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `cid` [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] error: this `if` has identical blocks [INFO] [stderr] --> src/chat/message.rs:40:45 [INFO] [stderr] | [INFO] [stderr] 40 | } else if method.starts_with("tangle.") { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 41 | | false [INFO] [stderr] 42 | | } else if method.starts_with("swindon.") { [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/chat/message.rs:38:26 [INFO] [stderr] | [INFO] [stderr] 38 | if method.len() == 0 { [INFO] [stderr] | __________________________^ [INFO] [stderr] 39 | | false [INFO] [stderr] 40 | | } else if method.starts_with("tangle.") { [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/message.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | if method.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `method.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/chat/message.rs:55:16 [INFO] [stderr] | [INFO] [stderr] 55 | if s.len() == 0 || s.len() > 36 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `s.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 pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/chat/message.rs:122:32 [INFO] [stderr] | [INFO] [stderr] 122 | .filter(|&(&ref k,_)| extra.get(k).is_none()))) [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `k` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/processor/pool.rs:109:37 [INFO] [stderr] | [INFO] [stderr] 109 | new_connection_timeout: (cfg.new_connection_idle_timeout).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(cfg.new_connection_idle_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: length comparison to zero [INFO] [stderr] --> src/chat/processor/pool.rs:245:24 [INFO] [stderr] | [INFO] [stderr] 245 | if session.users_lattice.connections.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `session.users_lattice.connections.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/chat/processor/pool.rs:312:16 [INFO] [stderr] | [INFO] [stderr] 312 | if self.lattices.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.lattices.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: you seem to want to iterate on a map's values [INFO] [stderr] --> src/chat/processor/pool.rs:317:29 [INFO] [stderr] | [INFO] [stderr] 317 | for (_name, lat) in &mut self.lattices { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 317 | for lat in self.lattices.values_mut() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/processor/pool.rs:361:12 [INFO] [stderr] | [INFO] [stderr] 361 | if self.lattices.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.lattices.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/chat/processor/pool.rs:379:16 [INFO] [stderr] | [INFO] [stderr] 379 | if session.connections.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `session.connections.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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/chat/processor/pool.rs:551:19 [INFO] [stderr] | [INFO] [stderr] 551 | let lat = self.lattices.get(&namespace).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.lattices[&namespace]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/chat/processor/pool.rs:596:21 [INFO] [stderr] | [INFO] [stderr] 596 | / lat.shared.get(&room).map(|pubval| { [INFO] [stderr] 597 | | rooms.entry(room) [INFO] [stderr] 598 | | .or_insert_with(Values::new) [INFO] [stderr] 599 | | .update(pubval); [INFO] [stderr] 600 | | }); [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 596 | if let Some(pubval) = lat.shared.get(&room) { rooms.entry(room) [INFO] [stderr] 597 | .or_insert_with(Values::new) [INFO] [stderr] 598 | .update(pubval); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/processor/pool.rs:714:12 [INFO] [stderr] | [INFO] [stderr] 714 | if e.get().len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `e.get().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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/chat/processor/pool.rs:758:20 [INFO] [stderr] | [INFO] [stderr] 758 | let mut data = lattice.private.get(session) [INFO] [stderr] | ____________________^ [INFO] [stderr] 759 | | .map(|x| x.clone()) [INFO] [stderr] | |___________________________^ help: Consider calling the dedicated `cloned` method: `lattice.private.get(session).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/chat/processor/pool.rs:762:9 [INFO] [stderr] | [INFO] [stderr] 762 | lattice.shared.get(key).map(|pubval| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 763 | || values.update(pubval); [INFO] [stderr] 764 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(pubval) = lattice.shared.get(key) { values.update(pubval); }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chat/processor/pool.rs:803:39 [INFO] [stderr] | [INFO] [stderr] 803 | (d.as_secs() * 1000) as f64 + (d.subsec_nanos() / 1_000_000) as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(d.subsec_nanos() / 1_000_000)` [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: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/chat/processor/pool.rs:803:39 [INFO] [stderr] | [INFO] [stderr] 803 | (d.as_secs() * 1000) as f64 + (d.subsec_nanos() / 1_000_000) as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `d.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::duration_subsec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/authorizers/source_ip.rs:46:16 [INFO] [stderr] | [INFO] [stderr] 46 | ip.unwrap_or(input.addr.ip()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| input.addr.ip())` [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:28:64 [INFO] [stderr] | [INFO] [stderr] 28 | let mut s_in = self.0[..len - mod_len].iter().map(|&x| x as u32); [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(x)` [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: the operation is ineffective. Consider reducing it to `n` [INFO] [stderr] --> src/base64.rs:44:23 [INFO] [stderr] | [INFO] [stderr] 44 | write(enc((n >> 0 ) & 63)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:52:25 [INFO] [stderr] | [INFO] [stderr] 52 | let n = (self.0[len-1] as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.0[len-1])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:59:25 [INFO] [stderr] | [INFO] [stderr] 59 | let n = (self.0[len-2] as u32) << 16 | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.0[len-2])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:60:25 [INFO] [stderr] | [INFO] [stderr] 60 | (self.0[len-1] as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.0[len-1])` [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/chat/authorize.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | .splitn(2, "?").nth(1).unwrap_or("").to_string(); [INFO] [stderr] | ^^^ help: try using a char instead: `'?'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/processor/heap.rs:77:12 [INFO] [stderr] | [INFO] [stderr] 77 | if self.items.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.items.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] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/authorize.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | inp.runtime.server_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `inp.runtime.server_id` [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 function has too many arguments (10/7) [INFO] [stderr] --> src/chat/backend.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | / pub fn new(path: String, cid: Cid, req: AuthData, [INFO] [stderr] 83 | | chat: ProcessorPool, destination: &Arc, [INFO] [stderr] 84 | | tx: ConnectionSender, server_id: ServerId, weak_content_type: bool, [INFO] [stderr] 85 | | remote: &RemotePool, pool_config: &Arc) [INFO] [stderr] ... | [INFO] [stderr] 99 | | } [INFO] [stderr] 100 | | } [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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/chat/processor/heap.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | map.get_mut(k).map(|entry_index| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 234 | || let (slot, key, value) = slab.remove(*entry_index); [INFO] [stderr] 235 | || // TODO(tailhook) optimize timeout update [INFO] [stderr] 236 | || heap.remove(slot); [INFO] [stderr] ... || [INFO] [stderr] 240 | || entry.insert((slot, key, value)); [INFO] [stderr] 241 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(entry_index) = map.get_mut(k) { ... }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/chat/backend.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / pub fn new(auth: Arc, path: String, cid: Cid, [INFO] [stderr] 112 | | meta: &Arc, args: Args, kw: Kwargs, [INFO] [stderr] 113 | | destination: &Arc, [INFO] [stderr] 114 | | sender: ConnectionSender, [INFO] [stderr] ... | [INFO] [stderr] 132 | | } [INFO] [stderr] 133 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/chat/processor/heap.rs:247:9 [INFO] [stderr] | [INFO] [stderr] 247 | map.get_mut(k).map(|entry_index| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 248 | || let (slot, key, value) = slab.remove(*entry_index); [INFO] [stderr] 249 | || // TODO(tailhook) optimize timeout update [INFO] [stderr] 250 | || let (old_ts, _) = heap.remove(slot); [INFO] [stderr] ... || [INFO] [stderr] 254 | || entry.insert((slot, key, value)); [INFO] [stderr] 255 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(entry_index) = map.get_mut(k) { ... }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [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: length comparison to zero [INFO] [stderr] --> src/chat/processor/connection.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | users_lattice: self.users_lattice.len() > 0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.users_lattice.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/backend.rs:456:9 [INFO] [stderr] | [INFO] [stderr] 456 | / match self { [INFO] [stderr] 457 | | &AuthState::Init(_, _) => write!(f, "AuthState::Init"), [INFO] [stderr] 458 | | &AuthState::Wait => write!(f, "AuthState::Wait"), [INFO] [stderr] 459 | | &AuthState::Headers(_) => write!(f, "AuthState::Headers"), [INFO] [stderr] 460 | | &AuthState::Done(_) => write!(f, "AuthState::Done"), [INFO] [stderr] 461 | | &AuthState::Void => write!(f, "AuthState::Void"), [INFO] [stderr] 462 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 456 | match *self { [INFO] [stderr] 457 | AuthState::Init(_, _) => write!(f, "AuthState::Init"), [INFO] [stderr] 458 | AuthState::Wait => write!(f, "AuthState::Wait"), [INFO] [stderr] 459 | AuthState::Headers(_) => write!(f, "AuthState::Headers"), [INFO] [stderr] 460 | AuthState::Done(_) => write!(f, "AuthState::Done"), [INFO] [stderr] 461 | AuthState::Void => write!(f, "AuthState::Void"), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/backend.rs:468:9 [INFO] [stderr] | [INFO] [stderr] 468 | / match self { [INFO] [stderr] 469 | | &CallState::Init { .. } => write!(f, "CallState::Init"), [INFO] [stderr] 470 | | &CallState::Wait => write!(f, "CallState::Wait"), [INFO] [stderr] 471 | | &CallState::Headers(_) => write!(f, "CallState::Headers"), [INFO] [stderr] 472 | | &CallState::Void => write!(f, "CallState::Void"), [INFO] [stderr] 473 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 468 | match *self { [INFO] [stderr] 469 | CallState::Init { .. } => write!(f, "CallState::Init"), [INFO] [stderr] 470 | CallState::Wait => write!(f, "CallState::Wait"), [INFO] [stderr] 471 | CallState::Headers(_) => write!(f, "CallState::Headers"), [INFO] [stderr] 472 | CallState::Void => write!(f, "CallState::Void"), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/chat/cid.rs:31:25 [INFO] [stderr] | [INFO] [stderr] 31 | src.parse().map(|x| Cid(x)) [INFO] [stderr] | ^^^^^^^^^^ help: remove closure as shown: `Cid` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/dispatcher.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | self.runtime.server_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.runtime.server_id` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/chat/processor/lattice.rs:257:13 [INFO] [stderr] | [INFO] [stderr] 257 | let ref mut arc = self.0; [INFO] [stderr] | ----^^^^^^^^^^^---------- help: try: `let arc = &mut self.0;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/listener/codec.rs:306:20 [INFO] [stderr] | [INFO] [stderr] 306 | if data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.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: length comparison to zero [INFO] [stderr] --> src/chat/listener/codec.rs:326:20 [INFO] [stderr] | [INFO] [stderr] 326 | if data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/listener/codec.rs:409:30 [INFO] [stderr] | [INFO] [stderr] 409 | conn_id: cid.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `cid` [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/chat/listener/codec.rs:460:38 [INFO] [stderr] | [INFO] [stderr] 460 | conn_id: cid.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `cid` [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/chat/listener/codec.rs:507:30 [INFO] [stderr] | [INFO] [stderr] 507 | conn_id: cid.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `cid` [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] error: this `if` has identical blocks [INFO] [stderr] --> src/chat/message.rs:40:45 [INFO] [stderr] | [INFO] [stderr] 40 | } else if method.starts_with("tangle.") { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 41 | | false [INFO] [stderr] 42 | | } else if method.starts_with("swindon.") { [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/chat/message.rs:38:26 [INFO] [stderr] | [INFO] [stderr] 38 | if method.len() == 0 { [INFO] [stderr] | __________________________^ [INFO] [stderr] 39 | | false [INFO] [stderr] 40 | | } else if method.starts_with("tangle.") { [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/message.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | if method.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `method.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/chat/message.rs:55:16 [INFO] [stderr] | [INFO] [stderr] 55 | if s.len() == 0 || s.len() > 36 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `s.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: redundant closure found [INFO] [stderr] --> src/chat/processor/lattice.rs:367:30 [INFO] [stderr] | [INFO] [stderr] 367 | .map_err(|e| de::Error::custom(e))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `de::Error::custom` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/chat/message.rs:122:32 [INFO] [stderr] | [INFO] [stderr] 122 | .filter(|&(&ref k,_)| extra.get(k).is_none()))) [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `k` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/processor/mod.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | / match err { [INFO] [stderr] 184 | | &MessageError::HttpError(ref status, _) => { [INFO] [stderr] 185 | | json!({ [INFO] [stderr] 186 | | "error_kind": "http_error", [INFO] [stderr] ... | [INFO] [stderr] 201 | | } [INFO] [stderr] 202 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 183 | match *err { [INFO] [stderr] 184 | MessageError::HttpError(ref status, _) => { [INFO] [stderr] 185 | json!({ [INFO] [stderr] 186 | "error_kind": "http_error", [INFO] [stderr] 187 | "http_error": status.code(), [INFO] [stderr] 188 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/processor/mod.rs:270:9 [INFO] [stderr] | [INFO] [stderr] 270 | / match self { [INFO] [stderr] 271 | | &NewSessionPool {..} => { [INFO] [stderr] 272 | | write!(f, "Action::NewSessionPool") [INFO] [stderr] 273 | | } [INFO] [stderr] ... | [INFO] [stderr] 317 | | } [INFO] [stderr] 318 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 270 | match *self { [INFO] [stderr] 271 | NewSessionPool {..} => { [INFO] [stderr] 272 | write!(f, "Action::NewSessionPool") [INFO] [stderr] 273 | } [INFO] [stderr] 274 | StopSessionPool => { [INFO] [stderr] 275 | write!(f, "Action::StopSessionPool") [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/message.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | / match meta.get("request_id").unwrap() { [INFO] [stderr] 223 | | &Json::String(ref s) => assert_eq!(s, &"123".to_string()), [INFO] [stderr] 224 | | _ => unreachable!(), [INFO] [stderr] 225 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 222 | match *meta.get("request_id").unwrap() { [INFO] [stderr] 223 | Json::String(ref s) => assert_eq!(s, &"123".to_string()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/message.rs:227:9 [INFO] [stderr] | [INFO] [stderr] 227 | / match kwargs.get("world!").unwrap() { [INFO] [stderr] 228 | | &Json::String(ref s) => assert_eq!(s, &"!".to_string()), [INFO] [stderr] 229 | | _ => unreachable!(), [INFO] [stderr] 230 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 227 | match *kwargs.get("world!").unwrap() { [INFO] [stderr] 228 | Json::String(ref s) => assert_eq!(s, &"!".to_string()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/processor/pool.rs:109:37 [INFO] [stderr] | [INFO] [stderr] 109 | new_connection_timeout: (cfg.new_connection_idle_timeout).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(cfg.new_connection_idle_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: length comparison to zero [INFO] [stderr] --> src/chat/processor/pool.rs:245:24 [INFO] [stderr] | [INFO] [stderr] 245 | if session.users_lattice.connections.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `session.users_lattice.connections.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/chat/processor/pool.rs:312:16 [INFO] [stderr] | [INFO] [stderr] 312 | if self.lattices.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.lattices.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: you seem to want to iterate on a map's values [INFO] [stderr] --> src/chat/processor/pool.rs:317:29 [INFO] [stderr] | [INFO] [stderr] 317 | for (_name, lat) in &mut self.lattices { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 317 | for lat in self.lattices.values_mut() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/processor/pool.rs:361:12 [INFO] [stderr] | [INFO] [stderr] 361 | if self.lattices.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.lattices.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/chat/processor/pool.rs:379:16 [INFO] [stderr] | [INFO] [stderr] 379 | if session.connections.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `session.connections.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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/chat/processor/pool.rs:551:19 [INFO] [stderr] | [INFO] [stderr] 551 | let lat = self.lattices.get(&namespace).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.lattices[&namespace]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/chat/processor/pool.rs:596:21 [INFO] [stderr] | [INFO] [stderr] 596 | / lat.shared.get(&room).map(|pubval| { [INFO] [stderr] 597 | | rooms.entry(room) [INFO] [stderr] 598 | | .or_insert_with(Values::new) [INFO] [stderr] 599 | | .update(pubval); [INFO] [stderr] 600 | | }); [INFO] [stderr] | |______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 596 | if let Some(pubval) = lat.shared.get(&room) { rooms.entry(room) [INFO] [stderr] 597 | .or_insert_with(Values::new) [INFO] [stderr] 598 | .update(pubval); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/replication/session.rs:77:24 [INFO] [stderr] | [INFO] [stderr] 77 | server_id: server_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*server_id` [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: length comparison to zero [INFO] [stderr] --> src/chat/processor/pool.rs:714:12 [INFO] [stderr] | [INFO] [stderr] 714 | if e.get().len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `e.get().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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/chat/processor/pool.rs:758:20 [INFO] [stderr] | [INFO] [stderr] 758 | let mut data = lattice.private.get(session) [INFO] [stderr] | ____________________^ [INFO] [stderr] 759 | | .map(|x| x.clone()) [INFO] [stderr] | |___________________________^ help: Consider calling the dedicated `cloned` method: `lattice.private.get(session).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/chat/processor/pool.rs:762:9 [INFO] [stderr] | [INFO] [stderr] 762 | lattice.shared.get(key).map(|pubval| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 763 | || values.update(pubval); [INFO] [stderr] 764 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(pubval) = lattice.shared.get(key) { values.update(pubval); }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chat/processor/pool.rs:803:39 [INFO] [stderr] | [INFO] [stderr] 803 | (d.as_secs() * 1000) as f64 + (d.subsec_nanos() / 1_000_000) as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(d.subsec_nanos() / 1_000_000)` [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: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/chat/processor/pool.rs:803:39 [INFO] [stderr] | [INFO] [stderr] 803 | (d.as_secs() * 1000) as f64 + (d.subsec_nanos() / 1_000_000) as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `d.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::duration_subsec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/replication/session.rs:160:26 [INFO] [stderr] | [INFO] [stderr] 160 | .map(|_| remote.clone()) // XXX [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*remote` [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/chat/processor/pool.rs:865:39 [INFO] [stderr] | [INFO] [stderr] 865 | listen_error_timeout: Duration::from_secs(1).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `Duration::from_secs(1)` [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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/chat/replication/session.rs:178:25 [INFO] [stderr] | [INFO] [stderr] 178 | let to_delete = self.peers.keys() [INFO] [stderr] | _________________________^ [INFO] [stderr] 179 | | .filter(|p| !settings.peers.contains(p)) [INFO] [stderr] 180 | | .map(|p| p.clone()).collect::>(); // XXX [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 178 | let to_delete = self.peers.keys() [INFO] [stderr] 179 | .filter(|p| !settings.peers.contains(p)).cloned().collect::>(); // XXX [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/chat/replication/session.rs:193:28 [INFO] [stderr] | [INFO] [stderr] 193 | if let Some(_) = self.links.get(server_id) { [INFO] [stderr] | _____________________- ^^^^^^^ [INFO] [stderr] 194 | | continue [INFO] [stderr] 195 | | } [INFO] [stderr] | |_____________________- help: try this: `if self.links.get(server_id).is_some()` [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: taken reference of right operand [INFO] [stderr] --> src/chat/replication/session.rs:198:24 [INFO] [stderr] | [INFO] [stderr] 198 | if timeout >= &now { [INFO] [stderr] | ^^^^^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `now` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/replication/spawn.rs:33:18 [INFO] [stderr] | [INFO] [stderr] 33 | let srv_id = server_id.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*server_id` [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/chat/replication/spawn.rs:54:21 [INFO] [stderr] | [INFO] [stderr] 54 | let server_id = server_id.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*server_id` [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: redundant closure found [INFO] [stderr] --> src/chat/replication/spawn.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | |a| ok(a)) [INFO] [stderr] | ^^^^^^^^^ help: remove closure as shown: `ok` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/chat/replication/spawn.rs:78:43 [INFO] [stderr] | [INFO] [stderr] 78 | Ok(Either::B(((), _))) => err(format!("Connect timed out")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Connect timed out".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/chat/replication/spawn.rs:90:26 [INFO] [stderr] | [INFO] [stderr] 90 | .map_err(|_| format!("receiver error")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"receiver error".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/replication/spawn.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | / if let &Frame::Text(data) = frame { [INFO] [stderr] 115 | | FRAMES_RECEIVED.incr(1); [INFO] [stderr] 116 | | match serde_json::from_str(data) { [INFO] [stderr] 117 | | Ok(msg) => { [INFO] [stderr] ... | [INFO] [stderr] 125 | | }; [INFO] [stderr] 126 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 114 | if let Frame::Text(data) = *frame { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/replication/server.rs:158:17 [INFO] [stderr] | [INFO] [stderr] 158 | assert!(data.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/chat/replication/client.rs:44:10 [INFO] [stderr] | [INFO] [stderr] 44 | .ok_or(Error::custom("missing X-Swindon-Node-Id header")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| Error::custom("missing X-Swindon-Node-Id header"))` [INFO] [stderr] | [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: length comparison to zero [INFO] [stderr] --> src/chat/processor/heap.rs:77:12 [INFO] [stderr] | [INFO] [stderr] 77 | if self.items.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.items.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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/config/fingerprint.rs:28:19 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn calc(meta: &Vec<(PathBuf, String, Metadata)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(PathBuf, String, Metadata)]` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/config/fingerprint.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | digest.write(name.as_bytes())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/config/fingerprint.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | digest.write(&[0])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/chat/processor/heap.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | map.get_mut(k).map(|entry_index| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 234 | || let (slot, key, value) = slab.remove(*entry_index); [INFO] [stderr] 235 | || // TODO(tailhook) optimize timeout update [INFO] [stderr] 236 | || heap.remove(slot); [INFO] [stderr] ... || [INFO] [stderr] 240 | || entry.insert((slot, key, value)); [INFO] [stderr] 241 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(entry_index) = map.get_mut(k) { ... }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/chat/processor/heap.rs:247:9 [INFO] [stderr] | [INFO] [stderr] 247 | map.get_mut(k).map(|entry_index| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 248 | || let (slot, key, value) = slab.remove(*entry_index); [INFO] [stderr] 249 | || // TODO(tailhook) optimize timeout update [INFO] [stderr] 250 | || let (old_ts, _) = heap.remove(slot); [INFO] [stderr] ... || [INFO] [stderr] 254 | || entry.insert((slot, key, value)); [INFO] [stderr] 255 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(entry_index) = map.get_mut(k) { ... }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/config/read.rs:116:25 [INFO] [stderr] | [INFO] [stderr] 116 | / format!("Only relative paths without parent \ [INFO] [stderr] 117 | | directories can be included"))); [INFO] [stderr] | |______________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] help: consider using .to_string() [INFO] [stderr] | [INFO] [stderr] 116 | "Only relative paths without parent \ [INFO] [stderr] 117 | directories can be included".to_string())); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/config/read.rs:184:8 [INFO] [stderr] | [INFO] [stderr] 184 | -> Result<(ConfigData, Vec<(PathBuf, String, Metadata)>), Error> [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: length comparison to zero [INFO] [stderr] --> src/chat/processor/connection.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | users_lattice: self.users_lattice.len() > 0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.users_lattice.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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/config/read.rs:296:9 [INFO] [stderr] | [INFO] [stderr] 296 | / match h { [INFO] [stderr] 297 | | &Handler::SwindonLattice(ref chat) => { [INFO] [stderr] 298 | | match cfg.session_pools.get_mut(&chat.session_pool) { [INFO] [stderr] 299 | | None => { [INFO] [stderr] ... | [INFO] [stderr] 391 | | _ => {} [INFO] [stderr] 392 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 296 | match *h { [INFO] [stderr] 297 | Handler::SwindonLattice(ref chat) => { [INFO] [stderr] 298 | match cfg.session_pools.get_mut(&chat.session_pool) { [INFO] [stderr] 299 | None => { [INFO] [stderr] 300 | err!("No session pool {:?} defined", chat.session_pool) [INFO] [stderr] 301 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/config/read.rs:342:29 [INFO] [stderr] | [INFO] [stderr] 342 | pool.inactivity_handlers.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!pool.inactivity_handlers.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: you seem to want to iterate on a map's values [INFO] [stderr] --> src/config/read.rs:364:34 [INFO] [stderr] | [INFO] [stderr] 364 | for (_, dest) in &chat.message_handlers.map { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 364 | for dest in chat.message_handlers.map.values() { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/chat/processor/lattice.rs:257:13 [INFO] [stderr] | [INFO] [stderr] 257 | let ref mut arc = self.0; [INFO] [stderr] | ----^^^^^^^^^^^---------- help: try: `let arc = &mut self.0;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/chat/processor/lattice.rs:367:30 [INFO] [stderr] | [INFO] [stderr] 367 | .map_err(|e| de::Error::custom(e))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `de::Error::custom` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/chat/processor/lattice.rs:430:20 [INFO] [stderr] | [INFO] [stderr] 430 | assert_eq!(val.counters.get(&key).unwrap().0, 123u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&val.counters[&key]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/chat/processor/lattice.rs:442:9 [INFO] [stderr] | [INFO] [stderr] 442 | assert_eq!(reg.0, 123.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/chat/processor/lattice.rs:442:9 [INFO] [stderr] | [INFO] [stderr] 442 | assert_eq!(reg.0, 123.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/processor/mod.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | / match err { [INFO] [stderr] 184 | | &MessageError::HttpError(ref status, _) => { [INFO] [stderr] 185 | | json!({ [INFO] [stderr] 186 | | "error_kind": "http_error", [INFO] [stderr] ... | [INFO] [stderr] 201 | | } [INFO] [stderr] 202 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 183 | match *err { [INFO] [stderr] 184 | MessageError::HttpError(ref status, _) => { [INFO] [stderr] 185 | json!({ [INFO] [stderr] 186 | "error_kind": "http_error", [INFO] [stderr] 187 | "http_error": status.code(), [INFO] [stderr] 188 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/processor/mod.rs:270:9 [INFO] [stderr] | [INFO] [stderr] 270 | / match self { [INFO] [stderr] 271 | | &NewSessionPool {..} => { [INFO] [stderr] 272 | | write!(f, "Action::NewSessionPool") [INFO] [stderr] 273 | | } [INFO] [stderr] ... | [INFO] [stderr] 317 | | } [INFO] [stderr] 318 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 270 | match *self { [INFO] [stderr] 271 | NewSessionPool {..} => { [INFO] [stderr] 272 | write!(f, "Action::NewSessionPool") [INFO] [stderr] 273 | } [INFO] [stderr] 274 | StopSessionPool => { [INFO] [stderr] 275 | write!(f, "Action::StopSessionPool") [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config/version.rs:68:22 [INFO] [stderr] | [INFO] [stderr] 68 | .unwrap_or(self.0.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.0.len())` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config/version.rs:70:54 [INFO] [stderr] | [INFO] [stderr] 70 | return Some(val.parse().map(Numeric).unwrap_or(String(val))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String(val))` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config/version.rs:77:22 [INFO] [stderr] | [INFO] [stderr] 77 | .unwrap_or(self.0.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.0.len())` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/config/version.rs:115:34 [INFO] [stderr] | [INFO] [stderr] 115 | || x.starts_with("g") [INFO] [stderr] | ^^^ help: try using a char instead: `'g'` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/replication/session.rs:77:24 [INFO] [stderr] | [INFO] [stderr] 77 | server_id: server_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*server_id` [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/chat/replication/session.rs:160:26 [INFO] [stderr] | [INFO] [stderr] 160 | .map(|_| remote.clone()) // XXX [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*remote` [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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/chat/replication/session.rs:178:25 [INFO] [stderr] | [INFO] [stderr] 178 | let to_delete = self.peers.keys() [INFO] [stderr] | _________________________^ [INFO] [stderr] 179 | | .filter(|p| !settings.peers.contains(p)) [INFO] [stderr] 180 | | .map(|p| p.clone()).collect::>(); // XXX [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 178 | let to_delete = self.peers.keys() [INFO] [stderr] 179 | .filter(|p| !settings.peers.contains(p)).cloned().collect::>(); // XXX [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/chat/replication/session.rs:193:28 [INFO] [stderr] | [INFO] [stderr] 193 | if let Some(_) = self.links.get(server_id) { [INFO] [stderr] | _____________________- ^^^^^^^ [INFO] [stderr] 194 | | continue [INFO] [stderr] 195 | | } [INFO] [stderr] | |_____________________- help: try this: `if self.links.get(server_id).is_some()` [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: taken reference of right operand [INFO] [stderr] --> src/chat/replication/session.rs:198:24 [INFO] [stderr] | [INFO] [stderr] 198 | if timeout >= &now { [INFO] [stderr] | ^^^^^^^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `now` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/chat/replication/spawn.rs:33:18 [INFO] [stderr] | [INFO] [stderr] 33 | let srv_id = server_id.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*server_id` [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/chat/replication/spawn.rs:54:21 [INFO] [stderr] | [INFO] [stderr] 54 | let server_id = server_id.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*server_id` [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: redundant closure found [INFO] [stderr] --> src/chat/replication/spawn.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | |a| ok(a)) [INFO] [stderr] | ^^^^^^^^^ help: remove closure as shown: `ok` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/chat/replication/spawn.rs:78:43 [INFO] [stderr] | [INFO] [stderr] 78 | Ok(Either::B(((), _))) => err(format!("Connect timed out")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Connect timed out".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/chat/replication/spawn.rs:90:26 [INFO] [stderr] | [INFO] [stderr] 90 | .map_err(|_| format!("receiver error")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"receiver error".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/chat/replication/spawn.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | / if let &Frame::Text(data) = frame { [INFO] [stderr] 115 | | FRAMES_RECEIVED.incr(1); [INFO] [stderr] 116 | | match serde_json::from_str(data) { [INFO] [stderr] 117 | | Ok(msg) => { [INFO] [stderr] ... | [INFO] [stderr] 125 | | }; [INFO] [stderr] 126 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 114 | if let Frame::Text(data) = *frame { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chat/replication/server.rs:158:17 [INFO] [stderr] | [INFO] [stderr] 158 | assert!(data.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/chat/replication/client.rs:44:10 [INFO] [stderr] | [INFO] [stderr] 44 | .ok_or(Error::custom("missing X-Swindon-Node-Id header")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| Error::custom("missing X-Swindon-Node-Id header"))` [INFO] [stderr] | [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/config/fingerprint.rs:28:19 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn calc(meta: &Vec<(PathBuf, String, Metadata)>) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(PathBuf, String, Metadata)]` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/config/fingerprint.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | digest.write(name.as_bytes())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/config/fingerprint.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | digest.write(&[0])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/config/read.rs:116:25 [INFO] [stderr] | [INFO] [stderr] 116 | / format!("Only relative paths without parent \ [INFO] [stderr] 117 | | directories can be included"))); [INFO] [stderr] | |______________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] help: consider using .to_string() [INFO] [stderr] | [INFO] [stderr] 116 | "Only relative paths without parent \ [INFO] [stderr] 117 | directories can be included".to_string())); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/config/read.rs:184:8 [INFO] [stderr] | [INFO] [stderr] 184 | -> Result<(ConfigData, Vec<(PathBuf, String, Metadata)>), Error> [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: single-character string constant used as pattern [INFO] [stderr] --> src/config/routing.rs:58:34 [INFO] [stderr] | [INFO] [stderr] 58 | if val.ends_with("/") { [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: length comparison to zero [INFO] [stderr] --> src/config/routing.rs:88:15 [INFO] [stderr] | [INFO] [stderr] 88 | while val.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!val.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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/config/routing.rs:104:31 [INFO] [stderr] | [INFO] [stderr] 104 | } else if let Some(_) = m.get(2) { [INFO] [stderr] | ________________________- ^^^^^^^ [INFO] [stderr] 105 | | panic!("Logs are not implemented yet"); [INFO] [stderr] 106 | | } else if let Some(name) = m.get(3) { [INFO] [stderr] 107 | | panic!("Key {:?} is not implemented yet", name); [INFO] [stderr] 108 | | } [INFO] [stderr] | |_________________- help: try this: `if m.get(2).is_some()` [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 closure found [INFO] [stderr] --> src/config/visitors.rs:27:27 [INFO] [stderr] | [INFO] [stderr] 27 | s.parse().map_err(|e| E::custom(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove closure as shown: `E::custom` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/config/read.rs:296:9 [INFO] [stderr] | [INFO] [stderr] 296 | / match h { [INFO] [stderr] 297 | | &Handler::SwindonLattice(ref chat) => { [INFO] [stderr] 298 | | match cfg.session_pools.get_mut(&chat.session_pool) { [INFO] [stderr] 299 | | None => { [INFO] [stderr] ... | [INFO] [stderr] 391 | | _ => {} [INFO] [stderr] 392 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 296 | match *h { [INFO] [stderr] 297 | Handler::SwindonLattice(ref chat) => { [INFO] [stderr] 298 | match cfg.session_pools.get_mut(&chat.session_pool) { [INFO] [stderr] 299 | None => { [INFO] [stderr] 300 | err!("No session pool {:?} defined", chat.session_pool) [INFO] [stderr] 301 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/config/read.rs:342:29 [INFO] [stderr] | [INFO] [stderr] 342 | pool.inactivity_handlers.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!pool.inactivity_handlers.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: you seem to want to iterate on a map's values [INFO] [stderr] --> src/config/read.rs:364:34 [INFO] [stderr] | [INFO] [stderr] 364 | for (_, dest) in &chat.message_handlers.map { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 364 | for dest in chat.message_handlers.map.values() { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/config/chat.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | / match self { [INFO] [stderr] 97 | | // Default pattern does not match anything, [INFO] [stderr] 98 | | // as its a special case and MUST be used as last resort effort. [INFO] [stderr] 99 | | &Pattern::Default => false, [INFO] [stderr] ... | [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 96 | match *self { [INFO] [stderr] 97 | // Default pattern does not match anything, [INFO] [stderr] 98 | // as its a special case and MUST be used as last resort effort. [INFO] [stderr] 99 | Pattern::Default => false, [INFO] [stderr] 100 | Pattern::Glob(ref s) => { [INFO] [stderr] 101 | let s = s.as_str(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/config/chat.rs:115:14 [INFO] [stderr] | [INFO] [stderr] 115 | .ok_or(D::Error::custom("No default route"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| D::Error::custom("No default route"))` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config/version.rs:68:22 [INFO] [stderr] | [INFO] [stderr] 68 | .unwrap_or(self.0.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.0.len())` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config/version.rs:70:54 [INFO] [stderr] | [INFO] [stderr] 70 | return Some(val.parse().map(Numeric).unwrap_or(String(val))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| String(val))` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/config/version.rs:77:22 [INFO] [stderr] | [INFO] [stderr] 77 | .unwrap_or(self.0.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.0.len())` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/config/version.rs:115:34 [INFO] [stderr] | [INFO] [stderr] 115 | || x.starts_with("g") [INFO] [stderr] | ^^^ help: try using a char instead: `'g'` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/config/static_files.rs:234:23 [INFO] [stderr] | [INFO] [stderr] 234 | mode: int.fallback_mode.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `int.fallback_mode` [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: redundant closure found [INFO] [stderr] --> src/handlers/files/common.rs:54:40 [INFO] [stderr] | [INFO] [stderr] 54 | }).map_err(|e| Error::custom(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Error::custom` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/handlers/files/normal.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | if host.find("/").is_some() { [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/handlers/files/normal.rs:87:65 [INFO] [stderr] | [INFO] [stderr] 87 | let name: &str = if let Some(colon) = host.find(":") { [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/handlers/files/normal.rs:114:27 [INFO] [stderr] | [INFO] [stderr] 114 | for cmp in path.split("/") { [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: length comparison to zero [INFO] [stderr] --> src/handlers/files/normal.rs:120:20 [INFO] [stderr] | [INFO] [stderr] 120 | if buf.len() > 0 { [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: length comparison to zero [INFO] [stderr] --> src/handlers/files/normal.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | assert!(buf.len() == 0 || buf[0] != b'/'); [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 boolean expression can be simplified [INFO] [stderr] --> src/handlers/files/single.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 17 | if !inp.headers.path().is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `inp.headers.path().is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/handlers/files/versioned.rs:43:46 [INFO] [stderr] | [INFO] [stderr] 43 | && pair[arg.len()..].starts_with("=") [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: use of `or` followed by a function call [INFO] [stderr] --> src/handlers/files/versioned.rs:107:10 [INFO] [stderr] | [INFO] [stderr] 107 | .or(npath.as_ref().map(|x| -> &Path { x.as_ref() })) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| npath.as_ref().map(|x| -> &Path { x.as_ref() }))` [INFO] [stderr] | [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: the `e @ _` pattern can be written as just `e` [INFO] [stderr] --> src/handlers/files/versioned.rs:134:18 [INFO] [stderr] | [INFO] [stderr] 134 | (Err(e@_), &Some(ref pp), always) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/handlers/files/versioned.rs:188:25 [INFO] [stderr] | [INFO] [stderr] 188 | fn to_header_string(&self) -> &'static str { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: length comparison to zero [INFO] [stderr] --> src/handlers/websocket_echo.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | assert!(data.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/handlers/swindon_chat.rs:79:29 [INFO] [stderr] | [INFO] [stderr] 79 | let pool_settings = self.runtime.config [INFO] [stderr] | _____________________________^ [INFO] [stderr] 80 | | .get().session_pools.get(&self.settings.session_pool) [INFO] [stderr] 81 | | // TODO(tailhook) may this unwrap crash? [INFO] [stderr] 82 | | // return error code in this case [INFO] [stderr] 83 | | .unwrap().clone(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 79 | let pool_settings = &self.runtime.config [INFO] [stderr] 80 | .get().session_pools[&self.settings.session_pool].clone(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/handlers/swindon_chat.rs:200:8 [INFO] [stderr] | [INFO] [stderr] 200 | if h.protocols.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `h.protocols.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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/http_pools.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | let ref s = self.0; [INFO] [stderr] | ----^^^^^---------- help: try: `let s = &self.0;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/incoming/router.rs:149:37 [INFO] [stderr] | [INFO] [stderr] 149 | status: status.into(), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider removing `.into()`: `status` [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: length comparison to zero [INFO] [stderr] --> src/incoming/debug.rs:78:16 [INFO] [stderr] | [INFO] [stderr] 78 | if dinfo.allow.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!dinfo.allow.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/incoming/debug.rs:88:16 [INFO] [stderr] | [INFO] [stderr] 88 | if dinfo.allow.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `dinfo.allow.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/incoming/debug.rs:104:16 [INFO] [stderr] | [INFO] [stderr] 104 | if dinfo.deny.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `dinfo.deny.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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/incoming/encoder.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | let ref mut enc = self.enc; [INFO] [stderr] | ----^^^^^^^^^^^------------ help: try: `let enc = &mut self.enc;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/incoming/encoder.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | self.config.server_name.as_ref().map(|name| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 112 | || enc.add_header("Server", name).unwrap(); [INFO] [stderr] 113 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(name) = self.config.server_name.as_ref() { enc.add_header("Server", name).unwrap(); }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/incoming/quick_reply.rs:38:17 [INFO] [stderr] | [INFO] [stderr] 38 | assert!(data.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: length comparison to zero [INFO] [stderr] --> src/intern.rs:55:8 [INFO] [stderr] | [INFO] [stderr] 55 | if val.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `val.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/intern.rs:64:8 [INFO] [stderr] | [INFO] [stderr] 64 | if val.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `val.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/intern.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | if val.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `val.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: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/metrics.rs:17:42 [INFO] [stderr] | [INFO] [stderr] 17 | pub struct ActiveCollection(OwningHandle>>, Wrapper>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::box_vec)] on by default [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `Box>`. Consider using just `Vec` [INFO] [stderr] --> src/metrics.rs:38:39 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn all(runtime: &Arc) -> Box>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: `Vec` is already on the heap, `Box>` makes an extra allocation. [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#box_vec [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/config/routing.rs:58:34 [INFO] [stderr] | [INFO] [stderr] 58 | if val.ends_with("/") { [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/proxy/frontend.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | let ref cfg = self.context.as_ref().unwrap().0; [INFO] [stderr] | ----^^^^^^^------------------------------------ help: try: `let cfg = &self.context.as_ref().unwrap().0;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/config/routing.rs:88:15 [INFO] [stderr] | [INFO] [stderr] 88 | while val.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!val.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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/proxy/response.rs:71:21 [INFO] [stderr] | [INFO] [stderr] 71 | assert!(res == false); [INFO] [stderr] | ^^^^^^^^^^^^ help: try simplifying it as shown: `!res` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/config/routing.rs:104:31 [INFO] [stderr] | [INFO] [stderr] 104 | } else if let Some(_) = m.get(2) { [INFO] [stderr] | ________________________- ^^^^^^^ [INFO] [stderr] 105 | | panic!("Logs are not implemented yet"); [INFO] [stderr] 106 | | } else if let Some(name) = m.get(3) { [INFO] [stderr] 107 | | panic!("Key {:?} is not implemented yet", name); [INFO] [stderr] 108 | | } [INFO] [stderr] | |_________________- help: try this: `if m.get(2).is_some()` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/proxy/request.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | let ref r = *self.0; [INFO] [stderr] | ----^^^^^----------- help: try: `let r = &(*self.0);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/proxy/request.rs:108:12 [INFO] [stderr] | [INFO] [stderr] 108 | if r.body.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!r.body.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: the operation is ineffective. Consider reducing it to `n` [INFO] [stderr] --> src/request_id.rs:45:21 [INFO] [stderr] | [INFO] [stderr] 45 | dest[3] = CHARS[(n >> 0) & 63]; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/request_id.rs:72:15 [INFO] [stderr] | [INFO] [stderr] 72 | (time.subsec_nanos() / 1000_000) as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(time.subsec_nanos() / 1000_000)` [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: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/request_id.rs:72:15 [INFO] [stderr] | [INFO] [stderr] 72 | (time.subsec_nanos() / 1000_000) as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `time.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `ms` [INFO] [stderr] --> src/request_id.rs:78:56 [INFO] [stderr] | [INFO] [stderr] 78 | base64triple(&[(ms >> 16) as u8, (ms >> 8) as u8, (ms >> 0) as u8], [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `n` [INFO] [stderr] --> src/request_id.rs:88:54 [INFO] [stderr] | [INFO] [stderr] 88 | base64triple(&[(n >> 16) as u8, (n >> 8) as u8, (n >> 0) as u8], [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [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/routing.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | / match (&mut to.authorizer, &from.authorizer) { [INFO] [stderr] 49 | | (&mut ref mut dest @ None, &Some(ref x)) => { [INFO] [stderr] 50 | | *dest = Some(x.clone()); [INFO] [stderr] 51 | | } [INFO] [stderr] 52 | | _ => {} [INFO] [stderr] 53 | | } [INFO] [stderr] | |_____^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 48 | if let (&mut ref mut dest @ None, &Some(ref x)) = (&mut to.authorizer, &from.authorizer) { [INFO] [stderr] 49 | *dest = Some(x.clone()); [INFO] [stderr] 50 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/routing.rs:90:14 [INFO] [stderr] | [INFO] [stderr] 90 | .unwrap_or(AuthorizerName::from("default")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| AuthorizerName::from("default"))` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/routing.rs:135:49 [INFO] [stderr] | [INFO] [stderr] 135 | for (idx, _) in path.rmatch_indices("/") { [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/routing.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | / match host { [INFO] [stderr] 152 | | Some(&Host { [INFO] [stderr] 153 | | star: Some(Domain { root: Some(ref r), .. }), [INFO] [stderr] 154 | | .. [INFO] [stderr] ... | [INFO] [stderr] 158 | | _ => {} [INFO] [stderr] 159 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 151 | if let Some(&Host { [INFO] [stderr] 152 | star: Some(Domain { root: Some(ref r), .. }), [INFO] [stderr] 153 | .. [INFO] [stderr] 154 | }) = host { [INFO] [stderr] 155 | inherit(ndef, r); [INFO] [stderr] 156 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/routing.rs:213:56 [INFO] [stderr] | [INFO] [stderr] 213 | for (idx, _) in name.match_indices(".") { [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/routing.rs:223:51 [INFO] [stderr] | [INFO] [stderr] 223 | let mut ndef = exact.root.clone().unwrap_or(default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(default)` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/routing.rs:225:52 [INFO] [stderr] | [INFO] [stderr] 225 | for (idx, _) in name.match_indices(".") { [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/routing.rs:243:56 [INFO] [stderr] | [INFO] [stderr] 243 | for (idx, _) in name.match_indices(".") { [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/routing.rs:253:50 [INFO] [stderr] | [INFO] [stderr] 253 | let mut ndef = star.root.clone().unwrap_or(default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(default)` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/routing.rs:255:52 [INFO] [stderr] | [INFO] [stderr] 255 | for (idx, _) in name.match_indices(".") { [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: redundant closure found [INFO] [stderr] --> src/config/visitors.rs:27:27 [INFO] [stderr] | [INFO] [stderr] 27 | s.parse().map_err(|e| E::custom(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove closure as shown: `E::custom` [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/routing.rs:271:52 [INFO] [stderr] | [INFO] [stderr] 271 | for (idx, _) in name.match_indices(".") { [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] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/config/chat.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | / match self { [INFO] [stderr] 97 | | // Default pattern does not match anything, [INFO] [stderr] 98 | | // as its a special case and MUST be used as last resort effort. [INFO] [stderr] 99 | | &Pattern::Default => false, [INFO] [stderr] ... | [INFO] [stderr] 106 | | } [INFO] [stderr] 107 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 96 | match *self { [INFO] [stderr] 97 | // Default pattern does not match anything, [INFO] [stderr] 98 | // as its a special case and MUST be used as last resort effort. [INFO] [stderr] 99 | Pattern::Default => false, [INFO] [stderr] 100 | Pattern::Glob(ref s) => { [INFO] [stderr] 101 | let s = s.as_str(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/config/chat.rs:115:14 [INFO] [stderr] | [INFO] [stderr] 115 | .ok_or(D::Error::custom("No default route"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| D::Error::custom("No default route"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `swindon`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/config/static_files.rs:234:23 [INFO] [stderr] | [INFO] [stderr] 234 | mode: int.fallback_mode.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `int.fallback_mode` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/config/mod.rs:259:17 [INFO] [stderr] | [INFO] [stderr] 259 | let p = cfg.session_pools.get("example-session").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&cfg.session_pools["example-session"]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/handlers/files/common.rs:54:40 [INFO] [stderr] | [INFO] [stderr] 54 | }).map_err(|e| Error::custom(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Error::custom` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/handlers/files/normal.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | if host.find("/").is_some() { [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/handlers/files/normal.rs:87:65 [INFO] [stderr] | [INFO] [stderr] 87 | let name: &str = if let Some(colon) = host.find(":") { [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/handlers/files/normal.rs:114:27 [INFO] [stderr] | [INFO] [stderr] 114 | for cmp in path.split("/") { [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: length comparison to zero [INFO] [stderr] --> src/handlers/files/normal.rs:120:20 [INFO] [stderr] | [INFO] [stderr] 120 | if buf.len() > 0 { [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: length comparison to zero [INFO] [stderr] --> src/handlers/files/normal.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | assert!(buf.len() == 0 || buf[0] != b'/'); [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 boolean expression can be simplified [INFO] [stderr] --> src/handlers/files/single.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 17 | if !inp.headers.path().is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `inp.headers.path().is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/handlers/files/versioned.rs:43:46 [INFO] [stderr] | [INFO] [stderr] 43 | && pair[arg.len()..].starts_with("=") [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: use of `or` followed by a function call [INFO] [stderr] --> src/handlers/files/versioned.rs:107:10 [INFO] [stderr] | [INFO] [stderr] 107 | .or(npath.as_ref().map(|x| -> &Path { x.as_ref() })) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| npath.as_ref().map(|x| -> &Path { x.as_ref() }))` [INFO] [stderr] | [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: the `e @ _` pattern can be written as just `e` [INFO] [stderr] --> src/handlers/files/versioned.rs:134:18 [INFO] [stderr] | [INFO] [stderr] 134 | (Err(e@_), &Some(ref pp), always) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/handlers/files/versioned.rs:188:25 [INFO] [stderr] | [INFO] [stderr] 188 | fn to_header_string(&self) -> &'static str { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: length comparison to zero [INFO] [stderr] --> src/handlers/websocket_echo.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | assert!(data.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/handlers/swindon_chat.rs:79:29 [INFO] [stderr] | [INFO] [stderr] 79 | let pool_settings = self.runtime.config [INFO] [stderr] | _____________________________^ [INFO] [stderr] 80 | | .get().session_pools.get(&self.settings.session_pool) [INFO] [stderr] 81 | | // TODO(tailhook) may this unwrap crash? [INFO] [stderr] 82 | | // return error code in this case [INFO] [stderr] 83 | | .unwrap().clone(); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 79 | let pool_settings = &self.runtime.config [INFO] [stderr] 80 | .get().session_pools[&self.settings.session_pool].clone(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/handlers/swindon_chat.rs:200:8 [INFO] [stderr] | [INFO] [stderr] 200 | if h.protocols.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `h.protocols.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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/http_pools.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | let ref s = self.0; [INFO] [stderr] | ----^^^^^---------- help: try: `let s = &self.0;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/incoming/router.rs:149:37 [INFO] [stderr] | [INFO] [stderr] 149 | status: status.into(), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider removing `.into()`: `status` [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: length comparison to zero [INFO] [stderr] --> src/incoming/debug.rs:78:16 [INFO] [stderr] | [INFO] [stderr] 78 | if dinfo.allow.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!dinfo.allow.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/incoming/debug.rs:88:16 [INFO] [stderr] | [INFO] [stderr] 88 | if dinfo.allow.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `dinfo.allow.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/incoming/debug.rs:104:16 [INFO] [stderr] | [INFO] [stderr] 104 | if dinfo.deny.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `dinfo.deny.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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/incoming/encoder.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | let ref mut enc = self.enc; [INFO] [stderr] | ----^^^^^^^^^^^------------ help: try: `let enc = &mut self.enc;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [WARN] too many lines in the log, truncating it