[INFO] crate joinkit 0.2.0 is already in cache [INFO] extracting crate joinkit 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/joinkit/0.2.0 [INFO] extracting crate joinkit 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/joinkit/0.2.0 [INFO] validating manifest of joinkit-0.2.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 joinkit-0.2.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 joinkit-0.2.0 [INFO] finished frobbing joinkit-0.2.0 [INFO] frobbed toml for joinkit-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/joinkit/0.2.0/Cargo.toml [INFO] started frobbing joinkit-0.2.0 [INFO] finished frobbing joinkit-0.2.0 [INFO] frobbed toml for joinkit-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/joinkit/0.2.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 joinkit-0.2.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/joinkit/0.2.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] 7a3a4a21152d2eb6b134e0da4acda677838637cc1db5222fd5f0e715a3b80cb3 [INFO] running `"docker" "start" "-a" "7a3a4a21152d2eb6b134e0da4acda677838637cc1db5222fd5f0e715a3b80cb3"` [INFO] [stderr] Checking joinkit v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/merge_join.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | cmp: cmp, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cmp` [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/merge_join.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | cmp: cmp, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cmp` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/merge_join.rs:176:13 [INFO] [stderr] | [INFO] [stderr] 176 | cmp: cmp, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cmp` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/merge_join.rs:246:13 [INFO] [stderr] | [INFO] [stderr] 246 | cmp: cmp, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cmp` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hash_join.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hash_join.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | set: set, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `set` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hash_join.rs:156:13 [INFO] [stderr] | [INFO] [stderr] 156 | map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hash_join.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hash_join.rs:286:13 [INFO] [stderr] | [INFO] [stderr] 286 | map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hash_join.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/merge_join.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | cmp: cmp, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cmp` [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/merge_join.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | cmp: cmp, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cmp` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/merge_join.rs:176:13 [INFO] [stderr] | [INFO] [stderr] 176 | cmp: cmp, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cmp` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/merge_join.rs:246:13 [INFO] [stderr] | [INFO] [stderr] 246 | cmp: cmp, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cmp` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hash_join.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hash_join.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | set: set, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `set` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hash_join.rs:156:13 [INFO] [stderr] | [INFO] [stderr] 156 | map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hash_join.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hash_join.rs:286:13 [INFO] [stderr] | [INFO] [stderr] 286 | map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hash_join.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/util.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | return Ok(bytes[0]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(bytes[0])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/util.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | return Err(e); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(e)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `itertools::Itertools` [INFO] [stderr] --> src/util.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use itertools::Itertools; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BufRead` [INFO] [stderr] --> src/util.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{BufRead, Write, BufWriter,}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/util.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | return Ok(bytes[0]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(bytes[0])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/util.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | return Err(e); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(e)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/util.rs:170:24 [INFO] [stderr] | [INFO] [stderr] 170 | let data = match dt { [INFO] [stderr] | ________________________^ [INFO] [stderr] 171 | | &DataType::I => { [INFO] [stderr] 172 | | VarData::I(k.parse::() [INFO] [stderr] 173 | | .expect(&format!("Error while parsing the \ [INFO] [stderr] ... | [INFO] [stderr] 185 | | &DataType::S => VarData::S(k.to_owned()), [INFO] [stderr] 186 | | }; [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 170 | let data = match *dt { [INFO] [stderr] 171 | DataType::I => { [INFO] [stderr] 172 | VarData::I(k.parse::() [INFO] [stderr] 173 | .expect(&format!("Error while parsing the \ [INFO] [stderr] 174 | key number {}: the value '{}' \ [INFO] [stderr] 175 | cannot be converted into 'i64'", k, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/util.rs:173:34 [INFO] [stderr] | [INFO] [stderr] 173 | .expect(&format!("Error while parsing the \ [INFO] [stderr] | __________________________________^ [INFO] [stderr] 174 | | key number {}: the value '{}' \ [INFO] [stderr] 175 | | cannot be converted into 'i64'", k, [INFO] [stderr] 176 | | i + 1))) [INFO] [stderr] | |_________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 173 | .unwrap_or_else(|_| panic!("Error while parsing the \ [INFO] [stderr] 174 | key number {}: the value '{}' \ [INFO] [stderr] 175 | cannot be converted into 'i64'", k))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/util.rs:180:34 [INFO] [stderr] | [INFO] [stderr] 180 | .expect(&format!("Error while parsing the \ [INFO] [stderr] | __________________________________^ [INFO] [stderr] 181 | | key number {}: the value '{}' \ [INFO] [stderr] 182 | | cannot be converted into 'u64'", k, [INFO] [stderr] 183 | | i + 1))) [INFO] [stderr] | |_________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 180 | .unwrap_or_else(|_| panic!("Error while parsing the \ [INFO] [stderr] 181 | key number {}: the value '{}' \ [INFO] [stderr] 182 | cannot be converted into 'u64'", k))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:254:5 [INFO] [stderr] | [INFO] [stderr] 254 | stream.write(lv.as_bytes()).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:255:5 [INFO] [stderr] | [INFO] [stderr] 255 | stream.write(fs).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:256:5 [INFO] [stderr] | [INFO] [stderr] 256 | stream.write(rv.as_bytes()).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:257:5 [INFO] [stderr] | [INFO] [stderr] 257 | stream.write(rs).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:262:5 [INFO] [stderr] | [INFO] [stderr] 262 | stream.write(lv.as_bytes()).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:265:9 [INFO] [stderr] | [INFO] [stderr] 265 | stream.write(fs).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | stream.write(rs).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:274:9 [INFO] [stderr] | [INFO] [stderr] 274 | stream.write(fs).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:276:5 [INFO] [stderr] | [INFO] [stderr] 276 | stream.write(rv.as_bytes()).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:277:5 [INFO] [stderr] | [INFO] [stderr] 277 | stream.write(rs).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/merge_join.rs:260:9 [INFO] [stderr] | [INFO] [stderr] 260 | / loop { [INFO] [stderr] 261 | | let ord = match self.fused { [INFO] [stderr] 262 | | Some(o) => o, [INFO] [stderr] 263 | | None => match (self.left.peek(), self.right.peek()) { [INFO] [stderr] ... | [INFO] [stderr] 290 | | } [INFO] [stderr] 291 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/hash_join.rs:52:39 [INFO] [stderr] | [INFO] [stderr] 52 | let values = map.entry(k).or_insert(Vec::with_capacity(1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| Vec::with_capacity(1))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/hash_join.rs:151:39 [INFO] [stderr] | [INFO] [stderr] 151 | let values = map.entry(k).or_insert(Vec::with_capacity(1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| Vec::with_capacity(1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/hash_join.rs:169:9 [INFO] [stderr] | [INFO] [stderr] 169 | / loop { [INFO] [stderr] 170 | | match self.left.next() { [INFO] [stderr] 171 | | Some((lk, lv)) => match self.map.get(&lk) { [INFO] [stderr] 172 | | Some(rvv) => return Some(Both(lv, rvv.clone())), [INFO] [stderr] ... | [INFO] [stderr] 176 | | } [INFO] [stderr] 177 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] error: aborting due to 12 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `joinkit`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused import: `itertools::Itertools` [INFO] [stderr] --> src/util.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use itertools::Itertools; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BufRead` [INFO] [stderr] --> src/util.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{BufRead, Write, BufWriter,}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/util.rs:170:24 [INFO] [stderr] | [INFO] [stderr] 170 | let data = match dt { [INFO] [stderr] | ________________________^ [INFO] [stderr] 171 | | &DataType::I => { [INFO] [stderr] 172 | | VarData::I(k.parse::() [INFO] [stderr] 173 | | .expect(&format!("Error while parsing the \ [INFO] [stderr] ... | [INFO] [stderr] 185 | | &DataType::S => VarData::S(k.to_owned()), [INFO] [stderr] 186 | | }; [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 170 | let data = match *dt { [INFO] [stderr] 171 | DataType::I => { [INFO] [stderr] 172 | VarData::I(k.parse::() [INFO] [stderr] 173 | .expect(&format!("Error while parsing the \ [INFO] [stderr] 174 | key number {}: the value '{}' \ [INFO] [stderr] 175 | cannot be converted into 'i64'", k, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/util.rs:173:34 [INFO] [stderr] | [INFO] [stderr] 173 | .expect(&format!("Error while parsing the \ [INFO] [stderr] | __________________________________^ [INFO] [stderr] 174 | | key number {}: the value '{}' \ [INFO] [stderr] 175 | | cannot be converted into 'i64'", k, [INFO] [stderr] 176 | | i + 1))) [INFO] [stderr] | |_________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 173 | .unwrap_or_else(|_| panic!("Error while parsing the \ [INFO] [stderr] 174 | key number {}: the value '{}' \ [INFO] [stderr] 175 | cannot be converted into 'i64'", k))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/util.rs:180:34 [INFO] [stderr] | [INFO] [stderr] 180 | .expect(&format!("Error while parsing the \ [INFO] [stderr] | __________________________________^ [INFO] [stderr] 181 | | key number {}: the value '{}' \ [INFO] [stderr] 182 | | cannot be converted into 'u64'", k, [INFO] [stderr] 183 | | i + 1))) [INFO] [stderr] | |_________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 180 | .unwrap_or_else(|_| panic!("Error while parsing the \ [INFO] [stderr] 181 | key number {}: the value '{}' \ [INFO] [stderr] 182 | cannot be converted into 'u64'", k))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:254:5 [INFO] [stderr] | [INFO] [stderr] 254 | stream.write(lv.as_bytes()).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:255:5 [INFO] [stderr] | [INFO] [stderr] 255 | stream.write(fs).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:256:5 [INFO] [stderr] | [INFO] [stderr] 256 | stream.write(rv.as_bytes()).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:257:5 [INFO] [stderr] | [INFO] [stderr] 257 | stream.write(rs).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:262:5 [INFO] [stderr] | [INFO] [stderr] 262 | stream.write(lv.as_bytes()).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:265:9 [INFO] [stderr] | [INFO] [stderr] 265 | stream.write(fs).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | stream.write(rs).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:274:9 [INFO] [stderr] | [INFO] [stderr] 274 | stream.write(fs).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:276:5 [INFO] [stderr] | [INFO] [stderr] 276 | stream.write(rv.as_bytes()).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/util.rs:277:5 [INFO] [stderr] | [INFO] [stderr] 277 | stream.write(rs).expect("Error: could not write into output stream!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/merge_join.rs:260:9 [INFO] [stderr] | [INFO] [stderr] 260 | / loop { [INFO] [stderr] 261 | | let ord = match self.fused { [INFO] [stderr] 262 | | Some(o) => o, [INFO] [stderr] 263 | | None => match (self.left.peek(), self.right.peek()) { [INFO] [stderr] ... | [INFO] [stderr] 290 | | } [INFO] [stderr] 291 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/hash_join.rs:52:39 [INFO] [stderr] | [INFO] [stderr] 52 | let values = map.entry(k).or_insert(Vec::with_capacity(1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| Vec::with_capacity(1))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/hash_join.rs:151:39 [INFO] [stderr] | [INFO] [stderr] 151 | let values = map.entry(k).or_insert(Vec::with_capacity(1)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| Vec::with_capacity(1))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/hash_join.rs:169:9 [INFO] [stderr] | [INFO] [stderr] 169 | / loop { [INFO] [stderr] 170 | | match self.left.next() { [INFO] [stderr] 171 | | Some((lk, lv)) => match self.map.get(&lk) { [INFO] [stderr] 172 | | Some(rvv) => return Some(Both(lv, rvv.clone())), [INFO] [stderr] ... | [INFO] [stderr] 176 | | } [INFO] [stderr] 177 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] error: aborting due to 12 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `joinkit`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "7a3a4a21152d2eb6b134e0da4acda677838637cc1db5222fd5f0e715a3b80cb3"` [INFO] running `"docker" "rm" "-f" "7a3a4a21152d2eb6b134e0da4acda677838637cc1db5222fd5f0e715a3b80cb3"` [INFO] [stdout] 7a3a4a21152d2eb6b134e0da4acda677838637cc1db5222fd5f0e715a3b80cb3