[INFO] crate mles-utils 1.0.6 is already in cache [INFO] extracting crate mles-utils 1.0.6 into work/ex/clippy-test-run/sources/stable/reg/mles-utils/1.0.6 [INFO] extracting crate mles-utils 1.0.6 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/mles-utils/1.0.6 [INFO] validating manifest of mles-utils-1.0.6 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 mles-utils-1.0.6 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 mles-utils-1.0.6 [INFO] finished frobbing mles-utils-1.0.6 [INFO] frobbed toml for mles-utils-1.0.6 written to work/ex/clippy-test-run/sources/stable/reg/mles-utils/1.0.6/Cargo.toml [INFO] started frobbing mles-utils-1.0.6 [INFO] finished frobbing mles-utils-1.0.6 [INFO] frobbed toml for mles-utils-1.0.6 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/mles-utils/1.0.6/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 mles-utils-1.0.6 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/mles-utils/1.0.6:/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] 3b2558a104f62789e7e11e3ee7b28fb088411a1de446a6083543c6a45bcd3199 [INFO] running `"docker" "start" "-a" "3b2558a104f62789e7e11e3ee7b28fb088411a1de446a6083543c6a45bcd3199"` [INFO] [stderr] Checking serde_cbor v0.8.2 [INFO] [stderr] Checking mles-utils v1.0.6 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | cid: cid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cid` [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/lib.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | key: key, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `key` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:370:13 [INFO] [stderr] | [INFO] [stderr] 370 | uid: uid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `uid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:371:13 [INFO] [stderr] | [INFO] [stderr] 371 | 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/lib.rs:372:13 [INFO] [stderr] | [INFO] [stderr] 372 | message: message [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `message` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:694:13 [INFO] [stderr] | [INFO] [stderr] 694 | uid: uid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `uid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:695:13 [INFO] [stderr] | [INFO] [stderr] 695 | 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/lib.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | cid: cid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cid` [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/lib.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | key: key, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `key` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:370:13 [INFO] [stderr] | [INFO] [stderr] 370 | uid: uid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `uid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:371:13 [INFO] [stderr] | [INFO] [stderr] 371 | 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/lib.rs:372:13 [INFO] [stderr] | [INFO] [stderr] 372 | message: message [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `message` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:694:13 [INFO] [stderr] | [INFO] [stderr] 694 | uid: uid, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `uid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:695:13 [INFO] [stderr] | [INFO] [stderr] 695 | 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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/server.rs:154:30 [INFO] [stderr] | [INFO] [stderr] 154 | else { [INFO] [stderr] | ______________________________^ [INFO] [stderr] 155 | | if debug_flags != 0 { [INFO] [stderr] 156 | | println!("Cannot find channel peer for channel {}", channel); [INFO] [stderr] 157 | | } [INFO] [stderr] 158 | | } [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] 154 | else if debug_flags != 0 { [INFO] [stderr] 155 | println!("Cannot find channel peer for channel {}", channel); [INFO] [stderr] 156 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/server.rs:152:146 [INFO] [stderr] | [INFO] [stderr] 152 | let _res = channelpeer_entry.unbounded_send(tx_inner.clone()).map_err(|err| {println!("Cannot reach peer: {}", err); ()}); [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/server.rs:163:134 [INFO] [stderr] | [INFO] [stderr] 163 | let _res = tx_inner.unbounded_send(msg.clone()).map_err(|err| {println!("Send history failed: {}", err); ()}); [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/server.rs:179:45 [INFO] [stderr] | [INFO] [stderr] 179 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/server.rs:264:45 [INFO] [stderr] | [INFO] [stderr] 264 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/server.rs:285:133 [INFO] [stderr] | [INFO] [stderr] 285 | let _res = tx_orig_chan.unbounded_send(tx_entry.clone()).map_err(|err| {println!("Cannot reach peer: {}", err); ()}); [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/server.rs:368:73 [INFO] [stderr] | [INFO] [stderr] 368 | let _res = core.run(srv).map_err(|err| { println!("Main: {}", err); ()}); [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/peer.rs:61:175 [INFO] [stderr] | [INFO] [stderr] 61 | let _res = tx_peer_for_msgs.unbounded_send((peer_cid, channel.clone(), tx.clone(), tx_orig_chan.clone())).map_err(|err| { println!("Cannot send from peer: {}", err); () }); [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/peer.rs:156:25 [INFO] [stderr] | [INFO] [stderr] 156 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/peer.rs:203:33 [INFO] [stderr] | [INFO] [stderr] 203 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/peer.rs:299:20 [INFO] [stderr] | [INFO] [stderr] 299 | assert_eq!(0x0000000100000001, set_peer_cid(val)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0001_0000_0001` [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: long literal lacking separators [INFO] [stderr] --> src/lib.rs:47:38 [INFO] [stderr] | [INFO] [stderr] 47 | pub(crate) const MSGMAXSIZE: usize = 0xffffff; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:333:22 [INFO] [stderr] | [INFO] [stderr] 333 | 77 << 24 | len & 0xffffff [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:337:13 [INFO] [stderr] | [INFO] [stderr] 337 | thlen & 0xffffff [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:905:12 [INFO] [stderr] | [INFO] [stderr] 905 | (num & 0xffffff) as usize [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:1043:24 [INFO] [stderr] | [INFO] [stderr] 1043 | let orig_len = 16777215; [INFO] [stderr] | ^^^^^^^^ help: consider: `16_777_215` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:1111:24 [INFO] [stderr] | [INFO] [stderr] 1111 | let orig_key = 0xffeffe; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ff_effe` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/server.rs:154:30 [INFO] [stderr] | [INFO] [stderr] 154 | else { [INFO] [stderr] | ______________________________^ [INFO] [stderr] 155 | | if debug_flags != 0 { [INFO] [stderr] 156 | | println!("Cannot find channel peer for channel {}", channel); [INFO] [stderr] 157 | | } [INFO] [stderr] 158 | | } [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] 154 | else if debug_flags != 0 { [INFO] [stderr] 155 | println!("Cannot find channel peer for channel {}", channel); [INFO] [stderr] 156 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/server.rs:152:146 [INFO] [stderr] | [INFO] [stderr] 152 | let _res = channelpeer_entry.unbounded_send(tx_inner.clone()).map_err(|err| {println!("Cannot reach peer: {}", err); ()}); [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/server.rs:163:134 [INFO] [stderr] | [INFO] [stderr] 163 | let _res = tx_inner.unbounded_send(msg.clone()).map_err(|err| {println!("Send history failed: {}", err); ()}); [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/server.rs:179:45 [INFO] [stderr] | [INFO] [stderr] 179 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/server.rs:264:45 [INFO] [stderr] | [INFO] [stderr] 264 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/server.rs:285:133 [INFO] [stderr] | [INFO] [stderr] 285 | let _res = tx_orig_chan.unbounded_send(tx_entry.clone()).map_err(|err| {println!("Cannot reach peer: {}", err); ()}); [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/server.rs:368:73 [INFO] [stderr] | [INFO] [stderr] 368 | let _res = core.run(srv).map_err(|err| { println!("Main: {}", err); ()}); [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/peer.rs:61:175 [INFO] [stderr] | [INFO] [stderr] 61 | let _res = tx_peer_for_msgs.unbounded_send((peer_cid, channel.clone(), tx.clone(), tx_orig_chan.clone())).map_err(|err| { println!("Cannot send from peer: {}", err); () }); [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/peer.rs:156:25 [INFO] [stderr] | [INFO] [stderr] 156 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/peer.rs:203:33 [INFO] [stderr] | [INFO] [stderr] 203 | () [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:47:38 [INFO] [stderr] | [INFO] [stderr] 47 | pub(crate) const MSGMAXSIZE: usize = 0xffffff; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ff_ffff` [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: long literal lacking separators [INFO] [stderr] --> src/lib.rs:333:22 [INFO] [stderr] | [INFO] [stderr] 333 | 77 << 24 | len & 0xffffff [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:337:13 [INFO] [stderr] | [INFO] [stderr] 337 | thlen & 0xffffff [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:905:12 [INFO] [stderr] | [INFO] [stderr] 905 | (num & 0xffffff) as usize [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::Buf::get_u32': use get_u32_be or get_u32_le [INFO] [stderr] --> src/lib.rs:895:19 [INFO] [stderr] | [INFO] [stderr] 895 | let num = buf.get_u32::(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::Buf::get_u32': use get_u32_be or get_u32_le [INFO] [stderr] --> src/lib.rs:904:19 [INFO] [stderr] | [INFO] [stderr] 904 | let num = buf.get_u32::(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::BufMut::put_u32': use put_u32_be or put_u32_le [INFO] [stderr] --> src/lib.rs:911:10 [INFO] [stderr] | [INFO] [stderr] 911 | msgv.put_u32::(hdr); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::BufMut::put_u32': use put_u32_be or put_u32_le [INFO] [stderr] --> src/lib.rs:912:10 [INFO] [stderr] | [INFO] [stderr] 912 | msgv.put_u32::(cid); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::BufMut::put_u32': use put_u32_be or put_u32_le [INFO] [stderr] --> src/lib.rs:919:10 [INFO] [stderr] | [INFO] [stderr] 919 | msgv.put_u32::(hdr); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::BufMut::put_u32': use put_u32_be or put_u32_le [INFO] [stderr] --> src/lib.rs:920:10 [INFO] [stderr] | [INFO] [stderr] 920 | msgv.put_u32::(cid); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::BufMut::put_u32': use put_u32_be or put_u32_le [INFO] [stderr] --> src/lib.rs:927:10 [INFO] [stderr] | [INFO] [stderr] 927 | msgv.put_u32::(hdr); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::BufMut::put_u64': use put_u64_be or put_u64_le [INFO] [stderr] --> src/lib.rs:946:10 [INFO] [stderr] | [INFO] [stderr] 946 | msgv.put_u64::(key); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::Buf::get_u64': use get_u64_be or get_u64_le [INFO] [stderr] --> src/lib.rs:962:9 [INFO] [stderr] | [INFO] [stderr] 962 | buf.get_u64::() [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::Buf::get_u32': use get_u32_be or get_u32_le [INFO] [stderr] --> src/lib.rs:970:9 [INFO] [stderr] | [INFO] [stderr] 970 | buf.get_u32::() [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::Buf::get_u32': use get_u32_be or get_u32_le [INFO] [stderr] --> src/lib.rs:895:19 [INFO] [stderr] | [INFO] [stderr] 895 | let num = buf.get_u32::(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::Buf::get_u32': use get_u32_be or get_u32_le [INFO] [stderr] --> src/lib.rs:904:19 [INFO] [stderr] | [INFO] [stderr] 904 | let num = buf.get_u32::(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::BufMut::put_u32': use put_u32_be or put_u32_le [INFO] [stderr] --> src/lib.rs:911:10 [INFO] [stderr] | [INFO] [stderr] 911 | msgv.put_u32::(hdr); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::BufMut::put_u32': use put_u32_be or put_u32_le [INFO] [stderr] --> src/lib.rs:912:10 [INFO] [stderr] | [INFO] [stderr] 912 | msgv.put_u32::(cid); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::BufMut::put_u32': use put_u32_be or put_u32_le [INFO] [stderr] --> src/lib.rs:919:10 [INFO] [stderr] | [INFO] [stderr] 919 | msgv.put_u32::(hdr); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::BufMut::put_u32': use put_u32_be or put_u32_le [INFO] [stderr] --> src/lib.rs:920:10 [INFO] [stderr] | [INFO] [stderr] 920 | msgv.put_u32::(cid); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::BufMut::put_u32': use put_u32_be or put_u32_le [INFO] [stderr] --> src/lib.rs:927:10 [INFO] [stderr] | [INFO] [stderr] 927 | msgv.put_u32::(hdr); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::BufMut::put_u64': use put_u64_be or put_u64_le [INFO] [stderr] --> src/lib.rs:946:10 [INFO] [stderr] | [INFO] [stderr] 946 | msgv.put_u64::(key); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::Buf::get_u64': use get_u64_be or get_u64_le [INFO] [stderr] --> src/lib.rs:962:9 [INFO] [stderr] | [INFO] [stderr] 962 | buf.get_u64::() [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bytes::Buf::get_u32': use get_u32_be or get_u32_le [INFO] [stderr] --> src/lib.rs:970:9 [INFO] [stderr] | [INFO] [stderr] 970 | buf.get_u32::() [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:122:27 [INFO] [stderr] | [INFO] [stderr] 122 | let cid = read_cid_from_hdr(&message) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(read_cid_from_hdr(&message))` [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: identical conversion [INFO] [stderr] --> src/server.rs:326:23 [INFO] [stderr] | [INFO] [stderr] 326 | let msg = Bytes::from(msg); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider removing `Bytes::from()`: `msg` [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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/local_db.rs:74:39 [INFO] [stderr] | [INFO] [stderr] 74 | if channels.contains_key(&(cid as u64)) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(cid)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/local_db.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | / match self.peer_tx { [INFO] [stderr] 114 | | Some(_) => true, [INFO] [stderr] 115 | | None => false, [INFO] [stderr] 116 | | } [INFO] [stderr] | |_________^ help: try this: `self.peer_tx.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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/peer.rs:36:43 [INFO] [stderr] | [INFO] [stderr] 36 | tx_peer_for_msgs: &UnboundedSender<(u64, String, UnboundedSender, UnboundedSender>)>, [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: this function has too many arguments (9/7) [INFO] [stderr] --> src/peer.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | / pub(crate) fn peer_conn(hist_limit: usize, peer: SocketAddr, is_addr_set: bool, keyaddr: String, channel: String, msg: Bytes, [INFO] [stderr] 36 | | tx_peer_for_msgs: &UnboundedSender<(u64, String, UnboundedSender, UnboundedSender>)>, [INFO] [stderr] 37 | | tx_peer_remover: UnboundedSender<(String, u64)>, [INFO] [stderr] 38 | | debug_flags: u64) [INFO] [stderr] ... | [INFO] [stderr] 250 | | } [INFO] [stderr] 251 | | } [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/peer.rs:221:9 [INFO] [stderr] | [INFO] [stderr] 221 | / match res { [INFO] [stderr] 222 | | Err(err) => { [INFO] [stderr] 223 | | let mles_peer_db = mles_peer_db.borrow(); [INFO] [stderr] 224 | | if err.kind() == ErrorKind::UnexpectedEof && 0 == mles_peer_db.get_rx_stats() { [INFO] [stderr] ... | [INFO] [stderr] 232 | | Ok(_) => {} [INFO] [stderr] 233 | | } [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] 221 | if let Err(err) = res { [INFO] [stderr] 222 | let mles_peer_db = mles_peer_db.borrow(); [INFO] [stderr] 223 | if err.kind() == ErrorKind::UnexpectedEof && 0 == mles_peer_db.get_rx_stats() { [INFO] [stderr] 224 | //we got reset directly from other side [INFO] [stderr] 225 | //let's wrap our things as it is bad [INFO] [stderr] 226 | let _res = tx_peer_remover.unbounded_send((channel, peer_cid)); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/peer.rs:254:5 [INFO] [stderr] | [INFO] [stderr] 254 | (cid as u64) | 1 << 32 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(cid)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/peer.rs:258:5 [INFO] [stderr] | [INFO] [stderr] 258 | (cid as u32) as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from((cid as u32))` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib.rs:525:29 [INFO] [stderr] | [INFO] [stderr] 525 | pub fn new(encoded_msg: &Vec) -> MsgVec { [INFO] [stderr] | ^^^^^^^^ [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 525 | pub fn new(encoded_msg: &[u8]) -> MsgVec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] help: change `encoded_msg.clone()` to [INFO] [stderr] | [INFO] [stderr] 527 | encoded_msg: encoded_msg.to_owned(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: item `ResyncMsg` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/lib.rs:549:1 [INFO] [stderr] | [INFO] [stderr] 549 | / impl ResyncMsg { [INFO] [stderr] 550 | | /// Create a new ResyncMsg object with encoded message vector. [INFO] [stderr] 551 | | /// [INFO] [stderr] 552 | | /// # Example [INFO] [stderr] ... | [INFO] [stderr] 667 | | } [INFO] [stderr] 668 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [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/lib.rs:562:26 [INFO] [stderr] | [INFO] [stderr] 562 | pub fn new(messages: &Vec>) -> ResyncMsg { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [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/lib.rs:838:13 [INFO] [stderr] | [INFO] [stderr] 838 | / match status { [INFO] [stderr] 839 | | Ok(0) => { [INFO] [stderr] 840 | | println!("Read failed: eof"); [INFO] [stderr] 841 | | self.stream = None; [INFO] [stderr] ... | [INFO] [stderr] 844 | | _ => {} [INFO] [stderr] 845 | | } [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] 838 | if let Ok(0) = status { [INFO] [stderr] 839 | println!("Read failed: eof"); [INFO] [stderr] 840 | self.stream = None; [INFO] [stderr] 841 | return (self, Vec::new()); [INFO] [stderr] 842 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/lib.rs:847:16 [INFO] [stderr] | [INFO] [stderr] 847 | if 0 == buf.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:859:13 [INFO] [stderr] | [INFO] [stderr] 859 | / match status { [INFO] [stderr] 860 | | Ok(0) => continue, [INFO] [stderr] 861 | | _ => {} [INFO] [stderr] 862 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Ok(0) = status { continue }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:122:27 [INFO] [stderr] | [INFO] [stderr] 122 | let cid = read_cid_from_hdr(&message) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(read_cid_from_hdr(&message))` [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: identical conversion [INFO] [stderr] --> src/server.rs:326:23 [INFO] [stderr] | [INFO] [stderr] 326 | let msg = Bytes::from(msg); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider removing `Bytes::from()`: `msg` [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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/local_db.rs:74:39 [INFO] [stderr] | [INFO] [stderr] 74 | if channels.contains_key(&(cid as u64)) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(cid)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/local_db.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | / match self.peer_tx { [INFO] [stderr] 114 | | Some(_) => true, [INFO] [stderr] 115 | | None => false, [INFO] [stderr] 116 | | } [INFO] [stderr] | |_________^ help: try this: `self.peer_tx.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: identical conversion [INFO] [stderr] --> src/frame.rs:101:68 [INFO] [stderr] | [INFO] [stderr] 101 | let messages = message_decode(BytesMut::from(encoded_msg), BytesMut::from(hdrkey)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `BytesMut::from()`: `hdrkey` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/frame.rs:130:75 [INFO] [stderr] | [INFO] [stderr] 130 | let messages = message_decode(BytesMut::from(encoded_resync_msg), BytesMut::from(hdrkey)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `BytesMut::from()`: `hdrkey` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/peer.rs:36:43 [INFO] [stderr] | [INFO] [stderr] 36 | tx_peer_for_msgs: &UnboundedSender<(u64, String, UnboundedSender, UnboundedSender>)>, [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: this function has too many arguments (9/7) [INFO] [stderr] --> src/peer.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | / pub(crate) fn peer_conn(hist_limit: usize, peer: SocketAddr, is_addr_set: bool, keyaddr: String, channel: String, msg: Bytes, [INFO] [stderr] 36 | | tx_peer_for_msgs: &UnboundedSender<(u64, String, UnboundedSender, UnboundedSender>)>, [INFO] [stderr] 37 | | tx_peer_remover: UnboundedSender<(String, u64)>, [INFO] [stderr] 38 | | debug_flags: u64) [INFO] [stderr] ... | [INFO] [stderr] 250 | | } [INFO] [stderr] 251 | | } [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/peer.rs:221:9 [INFO] [stderr] | [INFO] [stderr] 221 | / match res { [INFO] [stderr] 222 | | Err(err) => { [INFO] [stderr] 223 | | let mles_peer_db = mles_peer_db.borrow(); [INFO] [stderr] 224 | | if err.kind() == ErrorKind::UnexpectedEof && 0 == mles_peer_db.get_rx_stats() { [INFO] [stderr] ... | [INFO] [stderr] 232 | | Ok(_) => {} [INFO] [stderr] 233 | | } [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] 221 | if let Err(err) = res { [INFO] [stderr] 222 | let mles_peer_db = mles_peer_db.borrow(); [INFO] [stderr] 223 | if err.kind() == ErrorKind::UnexpectedEof && 0 == mles_peer_db.get_rx_stats() { [INFO] [stderr] 224 | //we got reset directly from other side [INFO] [stderr] 225 | //let's wrap our things as it is bad [INFO] [stderr] 226 | let _res = tx_peer_remover.unbounded_send((channel, peer_cid)); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/peer.rs:254:5 [INFO] [stderr] | [INFO] [stderr] 254 | (cid as u64) | 1 << 32 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(cid)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/peer.rs:258:5 [INFO] [stderr] | [INFO] [stderr] 258 | (cid as u32) as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from((cid as u32))` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib.rs:525:29 [INFO] [stderr] | [INFO] [stderr] 525 | pub fn new(encoded_msg: &Vec) -> MsgVec { [INFO] [stderr] | ^^^^^^^^ [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 525 | pub fn new(encoded_msg: &[u8]) -> MsgVec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] help: change `encoded_msg.clone()` to [INFO] [stderr] | [INFO] [stderr] 527 | encoded_msg: encoded_msg.to_owned(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: item `ResyncMsg` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/lib.rs:549:1 [INFO] [stderr] | [INFO] [stderr] 549 | / impl ResyncMsg { [INFO] [stderr] 550 | | /// Create a new ResyncMsg object with encoded message vector. [INFO] [stderr] 551 | | /// [INFO] [stderr] 552 | | /// # Example [INFO] [stderr] ... | [INFO] [stderr] 667 | | } [INFO] [stderr] 668 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [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/lib.rs:562:26 [INFO] [stderr] | [INFO] [stderr] 562 | pub fn new(messages: &Vec>) -> ResyncMsg { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [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/lib.rs:838:13 [INFO] [stderr] | [INFO] [stderr] 838 | / match status { [INFO] [stderr] 839 | | Ok(0) => { [INFO] [stderr] 840 | | println!("Read failed: eof"); [INFO] [stderr] 841 | | self.stream = None; [INFO] [stderr] ... | [INFO] [stderr] 844 | | _ => {} [INFO] [stderr] 845 | | } [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] 838 | if let Ok(0) = status { [INFO] [stderr] 839 | println!("Read failed: eof"); [INFO] [stderr] 840 | self.stream = None; [INFO] [stderr] 841 | return (self, Vec::new()); [INFO] [stderr] 842 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/lib.rs:847:16 [INFO] [stderr] | [INFO] [stderr] 847 | if 0 == buf.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:859:13 [INFO] [stderr] | [INFO] [stderr] 859 | / match status { [INFO] [stderr] 860 | | Ok(0) => continue, [INFO] [stderr] 861 | | _ => {} [INFO] [stderr] 862 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Ok(0) = status { continue }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: the variable `cnt` is used as a loop counter. Consider using `for (cnt, item) in decoded_resync_msg.get_messages().enumerate()` or similar iterators [INFO] [stderr] --> src/lib.rs:1079:20 [INFO] [stderr] | [INFO] [stderr] 1079 | for msg in decoded_resync_msg.get_messages() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:1129:21 [INFO] [stderr] | [INFO] [stderr] 1129 | let raddr = addr.clone(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `addr` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib.rs:1163:21 [INFO] [stderr] | [INFO] [stderr] 1163 | let raddr = addr.clone(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `addr` [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/lib.rs:1201:22 [INFO] [stderr] | [INFO] [stderr] 1201 | let praddr = paddr.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `paddr` [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/lib.rs:1244:22 [INFO] [stderr] | [INFO] [stderr] 1244 | let praddr = paddr.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `paddr` [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[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/transcode.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `mles-utils`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/sipbencher.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `mles-utils`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "3b2558a104f62789e7e11e3ee7b28fb088411a1de446a6083543c6a45bcd3199"` [INFO] running `"docker" "rm" "-f" "3b2558a104f62789e7e11e3ee7b28fb088411a1de446a6083543c6a45bcd3199"` [INFO] [stdout] 3b2558a104f62789e7e11e3ee7b28fb088411a1de446a6083543c6a45bcd3199