[INFO] crate fcp_switching 0.1.0 is already in cache [INFO] extracting crate fcp_switching 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/fcp_switching/0.1.0 [INFO] extracting crate fcp_switching 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/fcp_switching/0.1.0 [INFO] validating manifest of fcp_switching-0.1.0 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 fcp_switching-0.1.0 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 fcp_switching-0.1.0 [INFO] finished frobbing fcp_switching-0.1.0 [INFO] frobbed toml for fcp_switching-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/fcp_switching/0.1.0/Cargo.toml [INFO] started frobbing fcp_switching-0.1.0 [INFO] finished frobbing fcp_switching-0.1.0 [INFO] frobbed toml for fcp_switching-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/fcp_switching/0.1.0/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 fcp_switching-0.1.0 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/fcp_switching/0.1.0:/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] 1b3cf7743a26a67c53c13a50c14bfc3fce817435e108c3f63e62ea81243deac1 [INFO] running `"docker" "start" "-a" "1b3cf7743a26a67c53c13a50c14bfc3fce817435e108c3f63e62ea81243deac1"` [INFO] [stderr] Checking simple_bencode v0.1.4 [INFO] [stderr] Compiling rust_sodium-sys v0.1.2 [INFO] [stderr] Checking fcp_switching v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/control.rs:104:29 [INFO] [stderr] | [INFO] [stderr] 104 | type_: type_, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `type_` [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/control.rs:117:21 [INFO] [stderr] | [INFO] [stderr] 117 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/control.rs:118:21 [INFO] [stderr] | [INFO] [stderr] 118 | opaque_data: opaque_data, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `opaque_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/control.rs:127:21 [INFO] [stderr] | [INFO] [stderr] 127 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/control.rs:128:21 [INFO] [stderr] | [INFO] [stderr] 128 | opaque_data: opaque_data, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `opaque_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/control.rs:137:21 [INFO] [stderr] | [INFO] [stderr] 137 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/control.rs:138:21 [INFO] [stderr] | [INFO] [stderr] 138 | opaque_data: opaque_data, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `opaque_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/control.rs:148:21 [INFO] [stderr] | [INFO] [stderr] 148 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/control.rs:149:21 [INFO] [stderr] | [INFO] [stderr] 149 | opaque_data: opaque_data, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `opaque_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/control.rs:255:78 [INFO] [stderr] | [INFO] [stderr] 255 | let msg = ControlPacket::KeyPing { version: 18, opaque_data: vec![], 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/control.rs:265:78 [INFO] [stderr] | [INFO] [stderr] 265 | let msg = ControlPacket::KeyPong { version: 18, opaque_data: vec![], 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/switch_packet.rs:50:24 [INFO] [stderr] | [INFO] [stderr] 50 | SwitchPacket { raw: raw } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `raw` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/switch_packet.rs:144:67 [INFO] [stderr] | [INFO] [stderr] 144 | let control_response = ControlPacket::Pong { version: 17, opaque_data: opaque_data }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `opaque_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/data_packet.rs:31:22 [INFO] [stderr] | [INFO] [stderr] 31 | DataPacket { raw: raw } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `raw` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/route_packet.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | query: query, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `query` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/route_packet.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | encoding_index: encoding_index, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding_index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/route_packet.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | encoding_scheme: encoding_scheme, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding_scheme` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/route_packet.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | nodes: nodes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nodes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/route_packet.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | node_protocol_versions: node_protocol_versions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `node_protocol_versions` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/route_packet.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | target_address: target_address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `target_address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/route_packet.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | transaction_id: transaction_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transaction_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/route_packet.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | protocol_version: protocol_version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `protocol_version` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/route_packet.rs:159:17 [INFO] [stderr] | [INFO] [stderr] 159 | public_key: public_key, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `public_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/route_packet.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | 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/route_packet.rs:161:17 [INFO] [stderr] | [INFO] [stderr] 161 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/route_packet.rs:203:17 [INFO] [stderr] | [INFO] [stderr] 203 | transaction_id: transaction_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transaction_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/route_packet.rs:204:17 [INFO] [stderr] | [INFO] [stderr] 204 | protocol_version: protocol_version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `protocol_version` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/encoding_scheme.rs:30:26 [INFO] [stderr] | [INFO] [stderr] 30 | EncodingScheme { bytes: bytes } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/encoding_scheme.rs:91:39 [INFO] [stderr] | [INFO] [stderr] 91 | Some(EncodingSchemeForm { prefix: prefix, bit_count: bit_count, prefix_length: prefix_length }) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `prefix` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/encoding_scheme.rs:91:55 [INFO] [stderr] | [INFO] [stderr] 91 | Some(EncodingSchemeForm { prefix: prefix, bit_count: bit_count, prefix_length: prefix_length }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bit_count` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/encoding_scheme.rs:91:77 [INFO] [stderr] | [INFO] [stderr] 91 | Some(EncodingSchemeForm { prefix: prefix, bit_count: bit_count, prefix_length: prefix_length }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `prefix_length` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/control.rs:69:25 [INFO] [stderr] | [INFO] [stderr] 69 | const PING_MAGIC: u32 = 0x09f91102; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x09f9_1102` [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/control.rs:70:25 [INFO] [stderr] | [INFO] [stderr] 70 | const PONG_MAGIC: u32 = 0x9d74e35b; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x9d74_e35b` [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/control.rs:71:28 [INFO] [stderr] | [INFO] [stderr] 71 | const KEYPING_MAGIC: u32 = 0x01234567; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0123_4567` [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/control.rs:72:28 [INFO] [stderr] | [INFO] [stderr] 72 | const KEYPONG_MAGIC: u32 = 0x89abcdef; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x89ab_cdef` [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/control.rs:169:22 [INFO] [stderr] | [INFO] [stderr] 169 | if sum & 0x80000000 != 0 { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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/switch_packet.rs:38:42 [INFO] [stderr] | [INFO] [stderr] 38 | assert!(session_state != 0xffffffff); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_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/switch_packet.rs:43:43 [INFO] [stderr] | [INFO] [stderr] 43 | assert!(session_handle != 0xffffffff); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_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/switch_packet.rs:72:23 [INFO] [stderr] | [INFO] [stderr] 72 | self.raw[8] & 0b00000001 == 1 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0001` [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/switch_packet.rs:80:23 [INFO] [stderr] | [INFO] [stderr] 80 | self.raw[9] & 0b00111111 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0011_1111` [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/switch_packet.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | 0xffffffff => ControlPacket::decode(&self.raw[16..].to_vec()).map(Payload::Control), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_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/data_packet.rs:38:23 [INFO] [stderr] | [INFO] [stderr] 38 | self.raw[0] & 0b00011111 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0001_1111` [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/encoding_scheme.rs:114:38 [INFO] [stderr] | [INFO] [stderr] 114 | bytes.push((window & 0b11111111) as u8); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [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/encoding_scheme.rs:122:31 [INFO] [stderr] | [INFO] [stderr] 122 | assert!(window <= 0b11111111); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [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] error: failed to run custom build command for `rust_sodium-sys v0.1.2` [INFO] [stderr] process didn't exit successfully: `/opt/crater/target/debug/build/rust_sodium-sys-fa6a341c2438c85d/build-script-build` (exit code: 101) [INFO] [stderr] --- stderr [INFO] [stderr] thread 'main' panicked at ' [INFO] [stderr] "curl" "https://github.com/jedisct1/libsodium/releases/download/1.0.11/libsodium-1.0.11.tar.gz" "-sSLvo" "/opt/crater/target/debug/build/rust_sodium-sys-73bf8e9b6f63e447/out/source/libsodium-1.0.11.tar.gz" [INFO] [stderr] [INFO] [stderr] * Could not resolve host: github.com [INFO] [stderr] * Closing connection 0 [INFO] [stderr] curl: (6) Could not resolve host: github.com [INFO] [stderr] [INFO] [stderr] ', /opt/crater/cargo-home/registry/src/github.com-1ecc6299db9ec823/rust_sodium-sys-0.1.2/build.rs:194:9 [INFO] [stderr] stack backtrace: [INFO] [stderr] 0: 0x55ed93b88323 - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::h00d1e05a61bd440b [INFO] [stderr] at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49 [INFO] [stderr] 1: 0x55ed93b82c28 - std::sys_common::backtrace::_print::hc0d53aca8da62f75 [INFO] [stderr] at src/libstd/sys_common/backtrace.rs:71 [INFO] [stderr] 2: 0x55ed93b87352 - std::panicking::default_hook::{{closure}}::h46d30bcc4bfff149 [INFO] [stderr] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stderr] at src/libstd/panicking.rs:211 [INFO] [stderr] 3: 0x55ed93b870bd - std::panicking::default_hook::h017696c2a8b7b16f [INFO] [stderr] at src/libstd/panicking.rs:227 [INFO] [stderr] 4: 0x55ed93b879b0 - std::panicking::rust_panic_with_hook::h8cbdfe43764887be [INFO] [stderr] at src/libstd/panicking.rs:491 [INFO] [stderr] 5: 0x55ed93b87531 - std::panicking::continue_panic_fmt::h3d3c5a833c00a5e1 [INFO] [stderr] at src/libstd/panicking.rs:398 [INFO] [stderr] 6: 0x55ed93b8747e - std::panicking::begin_panic_fmt::h11fdc4cc73917110 [INFO] [stderr] at src/libstd/panicking.rs:353 [INFO] [stderr] 7: 0x55ed93af6e3b - build_script_build::main::h39376a7bd5eb2a60 [INFO] [stderr] at /opt/crater/cargo-home/registry/src/github.com-1ecc6299db9ec823/rust_sodium-sys-0.1.2/build.rs:194 [INFO] [stderr] 8: 0x55ed93b0349f - std::rt::lang_start::{{closure}}::ha4c77034716ce014 [INFO] [stderr] at /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libstd/rt.rs:74 [INFO] [stderr] 9: 0x55ed93b87402 - std::panicking::try::do_call::h69790245ac2d03fe [INFO] [stderr] at src/libstd/rt.rs:59 [INFO] [stderr] at src/libstd/panicking.rs:310 [INFO] [stderr] 10: 0x55ed93b99e99 - __rust_maybe_catch_panic [INFO] [stderr] at src/libpanic_unwind/lib.rs:102 [INFO] [stderr] 11: 0x55ed93b87d83 - std::rt::lang_start_internal::h540c897fe52ba9c5 [INFO] [stderr] at src/libstd/panicking.rs:289 [INFO] [stderr] at src/libstd/panic.rs:398 [INFO] [stderr] at src/libstd/rt.rs:58 [INFO] [stderr] 12: 0x55ed93b03478 - std::rt::lang_start::h4835cacca0cd75bd [INFO] [stderr] at /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libstd/rt.rs:74 [INFO] [stderr] 13: 0x55ed93af9a49 - main [INFO] [stderr] 14: 0x7fc56257b2e0 - __libc_start_main [INFO] [stderr] 15: 0x55ed93af6189 - _start [INFO] [stderr] 16: 0x0 - [INFO] [stderr] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused variable: `checksum` [INFO] [stderr] --> src/control.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | let checksum = BigEndian::read_u16(&raw[0..2]); // TODO: check checksum [INFO] [stderr] | ^^^^^^^^ help: consider using `_checksum` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/operation.rs:115:22 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn switch(label: &Label, director_length: u8, reversed_origin_iface: &Director) -> (Label, RoutingDecision) { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Label` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/operation.rs:115:74 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn switch(label: &Label, director_length: u8, reversed_origin_iface: &Director) -> (Label, RoutingDecision) { [INFO] [stderr] | ^^^^^^^^^ help: consider passing by value instead: `Director` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/operation.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | assert!(reversed_origin_iface < &(0b1u64 << director_length)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^---------------------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `(0b1u64 << director_length)` [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/control.rs:164:25 [INFO] [stderr] | [INFO] [stderr] 164 | sum += ((raw[i] as u32) << 8) + (raw[i+1] as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(raw[i])` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/control.rs:164:49 [INFO] [stderr] | [INFO] [stderr] 164 | sum += ((raw[i] as u32) << 8) + (raw[i+1] as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(raw[i+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/control.rs:167:24 [INFO] [stderr] | [INFO] [stderr] 167 | sum += (raw[i] as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u32::from(raw[i])` [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: useless use of `vec!` [INFO] [stderr] --> src/control.rs:193:39 [INFO] [stderr] | [INFO] [stderr] 193 | buf.extend_from_slice(&vec![0; 4]); [INFO] [stderr] | ^^^^^^^^^^^ help: you can use a slice directly: `&[0; 4]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/control.rs:200:39 [INFO] [stderr] | [INFO] [stderr] 200 | buf.extend_from_slice(&vec![0; 4]); [INFO] [stderr] | ^^^^^^^^^^^ help: you can use a slice directly: `&[0; 4]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/control.rs:207:39 [INFO] [stderr] | [INFO] [stderr] 207 | buf.extend_from_slice(&vec![0; 4]); [INFO] [stderr] | ^^^^^^^^^^^ help: you can use a slice directly: `&[0; 4]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/control.rs:215:39 [INFO] [stderr] | [INFO] [stderr] 215 | buf.extend_from_slice(&vec![0; 4]); [INFO] [stderr] | ^^^^^^^^^^^ help: you can use a slice directly: `&[0; 4]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/switch_packet.rs:27:29 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn new(route_label: &[u8; 8], payload: Payload) -> SwitchPacket { [INFO] [stderr] | ^^^^^^^^ help: consider passing by value instead: `[u8; 8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/switch_packet.rs:106:74 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn switch(&mut self, director_length: u8, reversed_origin_iface: &Director) -> RoutingDecision { [INFO] [stderr] | ^^^^^^^^^ help: consider passing by value instead: `Director` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/route_packet.rs:111:30 [INFO] [stderr] | [INFO] [stderr] 111 | fn check_nodes(&self) -> Result<(usize, &Vec, usize, &Vec), String> { [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: the loop variable `j` is only used to index `versions`. [INFO] [stderr] --> src/route_packet.rs:154:22 [INFO] [stderr] | [INFO] [stderr] 154 | for j in 1+i*version_length..1+(i+1)*version_length { // 1+ is the offset caused by the first byte being decoded as 'version_length' [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 154 | for in versions.iter().take(1+(i+1)*version_length).skip(1+i*version_length) { // 1+ is the offset caused by the first byte being decoded as 'version_length' [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/route_packet.rs:154:22 [INFO] [stderr] | [INFO] [stderr] 154 | for j in 1+i*version_length..1+(i+1)*version_length { // 1+ is the offset caused by the first byte being decoded as 'version_length' [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `1+i*version_length..=(i+1)*version_length` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/route_packet.rs:155:44 [INFO] [stderr] | [INFO] [stderr] 155 | version = (version << 8) + (versions[j] as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(versions[j])` [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: manual implementation of an assign operation [INFO] [stderr] --> src/encoding_scheme.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | self.window = self.window + ((byte as u64) << self.bits_in_window); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.window += ((byte as u64) << self.bits_in_window)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/encoding_scheme.rs:68:42 [INFO] [stderr] | [INFO] [stderr] 68 | self.window = self.window + ((byte as u64) << self.bits_in_window); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(byte)` [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/encoding_scheme.rs:108:23 [INFO] [stderr] | [INFO] [stderr] 108 | window += (form.bit_count as u64) << (5+bits_in_window); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(form.bit_count)` [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/encoding_scheme.rs:109:23 [INFO] [stderr] | [INFO] [stderr] 109 | window += (form.prefix_length as u64) << (bits_in_window); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(form.prefix_length)` [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: build failed [INFO] running `"docker" "inspect" "1b3cf7743a26a67c53c13a50c14bfc3fce817435e108c3f63e62ea81243deac1"` [INFO] running `"docker" "rm" "-f" "1b3cf7743a26a67c53c13a50c14bfc3fce817435e108c3f63e62ea81243deac1"` [INFO] [stdout] 1b3cf7743a26a67c53c13a50c14bfc3fce817435e108c3f63e62ea81243deac1