[INFO] updating cached repository joyent/rust-fast [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/joyent/rust-fast [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/joyent/rust-fast" "work/ex/clippy-test-run/sources/stable/gh/joyent/rust-fast"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/joyent/rust-fast'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/joyent/rust-fast" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/joyent/rust-fast"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/joyent/rust-fast'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 03a4cce7c5034720c12467bb4920b99c40609ddf [INFO] sha for GitHub repo joyent/rust-fast: 03a4cce7c5034720c12467bb4920b99c40609ddf [INFO] validating manifest of joyent/rust-fast 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 joyent/rust-fast 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 joyent/rust-fast [INFO] finished frobbing joyent/rust-fast [INFO] frobbed toml for joyent/rust-fast written to work/ex/clippy-test-run/sources/stable/gh/joyent/rust-fast/Cargo.toml [INFO] started frobbing joyent/rust-fast [INFO] finished frobbing joyent/rust-fast [INFO] frobbed toml for joyent/rust-fast written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/joyent/rust-fast/Cargo.toml [INFO] crate joyent/rust-fast has a lockfile. skipping [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 joyent/rust-fast against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/joyent/rust-fast:/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] 88a9f1c6ab320b5b9cefe5295af436f4c1ffa7e3ebfc36adcb0c1bdb2ca37583 [INFO] running `"docker" "start" "-a" "88a9f1c6ab320b5b9cefe5295af436f4c1ffa7e3ebfc36adcb0c1bdb2ca37583"` [INFO] [stderr] Checking rand_core v0.2.1 [INFO] [stderr] Compiling crc16 v0.4.0 [INFO] [stderr] Checking num-bigint v0.2.0 [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking chrono v0.3.0 [INFO] [stderr] Checking rand v0.5.5 [INFO] [stderr] Checking num-rational v0.2.1 [INFO] [stderr] Checking slog-json v2.2.0 [INFO] [stderr] Checking parking_lot_core v0.3.1 [INFO] [stderr] Checking tokio-threadpool v0.1.6 [INFO] [stderr] Checking quickcheck v0.7.1 [INFO] [stderr] Checking slog-bunyan v2.1.0 [INFO] [stderr] Checking num v0.2.0 [INFO] [stderr] Checking parking_lot v0.6.4 [INFO] [stderr] Checking tokio-reactor v0.1.5 [INFO] [stderr] Checking tokio-fs v0.1.3 [INFO] [stderr] Checking tokio-udp v0.1.2 [INFO] [stderr] Checking tokio-uds v0.2.1 [INFO] [stderr] Checking tokio-tcp v0.1.1 [INFO] [stderr] Checking tokio v0.1.8 [INFO] [stderr] Checking rust_fast v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | d: d [INFO] [stderr] | ^^^^ help: replace it with: `d` [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/protocol.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | msg_size: msg_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `msg_size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | 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/protocol.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | msg_type: msg_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `msg_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | 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/protocol.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | data_len: data_len [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `data_len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol.rs:238:13 [INFO] [stderr] | [INFO] [stderr] 238 | 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/protocol.rs:419:17 [INFO] [stderr] | [INFO] [stderr] 419 | msg_type: msg_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `msg_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol.rs:420:17 [INFO] [stderr] | [INFO] [stderr] 420 | 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/protocol.rs:421:17 [INFO] [stderr] | [INFO] [stderr] 421 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `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/protocol.rs:423:17 [INFO] [stderr] | [INFO] [stderr] 423 | 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/protocol.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | d: d [INFO] [stderr] | ^^^^ help: replace it with: `d` [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/protocol.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | msg_size: msg_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `msg_size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | 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/protocol.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | msg_type: msg_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `msg_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | 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/protocol.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | data_len: data_len [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `data_len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol.rs:238:13 [INFO] [stderr] | [INFO] [stderr] 238 | 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/protocol.rs:419:17 [INFO] [stderr] | [INFO] [stderr] 419 | msg_type: msg_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `msg_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/protocol.rs:420:17 [INFO] [stderr] | [INFO] [stderr] 420 | 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/protocol.rs:421:17 [INFO] [stderr] | [INFO] [stderr] 421 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `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/protocol.rs:423:17 [INFO] [stderr] | [INFO] [stderr] 423 | 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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/client.rs:44:11 [INFO] [stderr] | [INFO] [stderr] 44 | while stream_end == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!stream_end` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/client.rs:83:11 [INFO] [stderr] | [INFO] [stderr] 83 | while done == false { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try simplifying it as shown: `!done` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/protocol.rs:92:15 [INFO] [stderr] | [INFO] [stderr] 92 | + now.subsec_micros() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(now.subsec_micros())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/protocol.rs:200:30 [INFO] [stderr] | [INFO] [stderr] 200 | let calculated_crc = State::::calculate(data_buf) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(State::::calculate(data_buf))` [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] error: this `if` has identical blocks [INFO] [stderr] --> src/protocol.rs:211:16 [INFO] [stderr] | [INFO] [stderr] 211 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 212 | | Ok(()) [INFO] [stderr] 213 | | } [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/protocol.rs:201:34 [INFO] [stderr] | [INFO] [stderr] 201 | if crc != calculated_crc { [INFO] [stderr] | __________________________________^ [INFO] [stderr] 202 | | // Oops, node-fast uses an old version of a crc lib with bug so just [INFO] [stderr] 203 | | // ignore a mismatch for now. [INFO] [stderr] 204 | | // For interop to work we either need to port the buggy version of [INFO] [stderr] ... | [INFO] [stderr] 210 | | Ok(()) [INFO] [stderr] 211 | | } else { [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/protocol.rs:260:12 [INFO] [stderr] | [INFO] [stderr] 260 | if buf.len() > 0 { [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: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/protocol.rs:305:28 [INFO] [stderr] | [INFO] [stderr] 305 | buf.put_u32_be(State::::calculate(data_str.as_bytes()) as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(State::::calculate(data_str.as_bytes()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server.rs:18:34 [INFO] [stderr] | [INFO] [stderr] 18 | response_handler: Arc<(Fn(&FastMessage, &Logger) -> Result, Error> + Send + Sync)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server.rs:46:34 [INFO] [stderr] | [INFO] [stderr] 46 | response_handler: Arc<(Fn(&FastMessage, &Logger) -> Result, Error> + Sync + Send)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust_fast`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/client.rs:44:11 [INFO] [stderr] | [INFO] [stderr] 44 | while stream_end == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!stream_end` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/client.rs:83:11 [INFO] [stderr] | [INFO] [stderr] 83 | while done == false { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try simplifying it as shown: `!done` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/protocol.rs:92:15 [INFO] [stderr] | [INFO] [stderr] 92 | + now.subsec_micros() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(now.subsec_micros())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/protocol.rs:200:30 [INFO] [stderr] | [INFO] [stderr] 200 | let calculated_crc = State::::calculate(data_buf) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(State::::calculate(data_buf))` [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] error: this `if` has identical blocks [INFO] [stderr] --> src/protocol.rs:211:16 [INFO] [stderr] | [INFO] [stderr] 211 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 212 | | Ok(()) [INFO] [stderr] 213 | | } [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/protocol.rs:201:34 [INFO] [stderr] | [INFO] [stderr] 201 | if crc != calculated_crc { [INFO] [stderr] | __________________________________^ [INFO] [stderr] 202 | | // Oops, node-fast uses an old version of a crc lib with bug so just [INFO] [stderr] 203 | | // ignore a mismatch for now. [INFO] [stderr] 204 | | // For interop to work we either need to port the buggy version of [INFO] [stderr] ... | [INFO] [stderr] 210 | | Ok(()) [INFO] [stderr] 211 | | } else { [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/protocol.rs:260:12 [INFO] [stderr] | [INFO] [stderr] 260 | if buf.len() > 0 { [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: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/protocol.rs:305:28 [INFO] [stderr] | [INFO] [stderr] 305 | buf.put_u32_be(State::::calculate(data_str.as_bytes()) as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(State::::calculate(data_str.as_bytes()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server.rs:18:34 [INFO] [stderr] | [INFO] [stderr] 18 | response_handler: Arc<(Fn(&FastMessage, &Logger) -> Result, Error> + Send + Sync)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server.rs:46:34 [INFO] [stderr] | [INFO] [stderr] 46 | response_handler: Arc<(Fn(&FastMessage, &Logger) -> Result, Error> + Sync + Send)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rust_fast`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "88a9f1c6ab320b5b9cefe5295af436f4c1ffa7e3ebfc36adcb0c1bdb2ca37583"` [INFO] running `"docker" "rm" "-f" "88a9f1c6ab320b5b9cefe5295af436f4c1ffa7e3ebfc36adcb0c1bdb2ca37583"` [INFO] [stdout] 88a9f1c6ab320b5b9cefe5295af436f4c1ffa7e3ebfc36adcb0c1bdb2ca37583