[INFO] updating cached repository APTy/kvlite [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/APTy/kvlite [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/APTy/kvlite" "work/ex/clippy-test-run/sources/stable/gh/APTy/kvlite"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/APTy/kvlite'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/APTy/kvlite" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/APTy/kvlite"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/APTy/kvlite'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 1facde5833ce3c20ea2c3fc510100ca87ab84229 [INFO] sha for GitHub repo APTy/kvlite: 1facde5833ce3c20ea2c3fc510100ca87ab84229 [INFO] validating manifest of APTy/kvlite 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 APTy/kvlite 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 APTy/kvlite [INFO] finished frobbing APTy/kvlite [INFO] frobbed toml for APTy/kvlite written to work/ex/clippy-test-run/sources/stable/gh/APTy/kvlite/Cargo.toml [INFO] started frobbing APTy/kvlite [INFO] finished frobbing APTy/kvlite [INFO] frobbed toml for APTy/kvlite written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/APTy/kvlite/Cargo.toml [INFO] crate APTy/kvlite 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 APTy/kvlite against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/APTy/kvlite:/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] 3ed799629d73dc55f61b1bcf867013207effe307e44a408f7dbc1edb6e51894c [INFO] running `"docker" "start" "-a" "3ed799629d73dc55f61b1bcf867013207effe307e44a408f7dbc1edb6e51894c"` [INFO] [stderr] Checking kvlite v0.1.3 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hashmap.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | filename: filename, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `filename` [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/hashmap.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | key_count: key_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `key_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/hashmap.rs:146:21 [INFO] [stderr] | [INFO] [stderr] 146 | item: item, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `item` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hashmap.rs:147:21 [INFO] [stderr] | [INFO] [stderr] 147 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/file.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | 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/file.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/file.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | next: next, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `next` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hashmap.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | filename: filename, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `filename` [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/hashmap.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | key_count: key_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `key_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/hashmap.rs:146:21 [INFO] [stderr] | [INFO] [stderr] 146 | item: item, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `item` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hashmap.rs:147:21 [INFO] [stderr] | [INFO] [stderr] 147 | pos: pos, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `pos` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/file.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | 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/file.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/file.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | next: next, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `next` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashmap.rs:205:9 [INFO] [stderr] | [INFO] [stderr] 205 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [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/hashmap.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashmap.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashmap.rs:262:9 [INFO] [stderr] | [INFO] [stderr] 262 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashmap.rs:205:9 [INFO] [stderr] | [INFO] [stderr] 205 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [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/hashmap.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashmap.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/hashmap.rs:262:9 [INFO] [stderr] | [INFO] [stderr] 262 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/hashmap.rs:33:21 [INFO] [stderr] | [INFO] [stderr] 33 | total = (*b as u32).wrapping_add(total << 6).wrapping_add(total << 16).wrapping_sub(total); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(*b)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/hashmap.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | (total % key_count) as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(total % key_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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:55:16 [INFO] [stderr] | [INFO] [stderr] 55 | if let Err(_) = file.write(&buf) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 56 | | return Err(Error::IO); [INFO] [stderr] 57 | | } [INFO] [stderr] | |_________- help: try this: `if file.write(&buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | if let Err(_) = file.write(&buf) { [INFO] [stderr] | _____________- ^^^^^^ [INFO] [stderr] 63 | | return Err(Error::IO); [INFO] [stderr] 64 | | } [INFO] [stderr] | |_____________- help: try this: `if file.write(&buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/hashmap.rs:77:32 [INFO] [stderr] | [INFO] [stderr] 77 | SeekFrom::Start((pos * ITEM_SIZE as u64) + HEADER_SIZE as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(ITEM_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:90:16 [INFO] [stderr] | [INFO] [stderr] 90 | if let Err(_) = file.seek(hdr_s) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 91 | | return Err(Error::IO); [INFO] [stderr] 92 | | } [INFO] [stderr] | |_________- help: try this: `if file.seek(hdr_s).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:95:16 [INFO] [stderr] | [INFO] [stderr] 95 | if let Err(_) = file.read(&mut buf) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 96 | | return Err(Error::IO); [INFO] [stderr] 97 | | } [INFO] [stderr] | |_________- help: try this: `if file.read(&mut buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:104:16 [INFO] [stderr] | [INFO] [stderr] 104 | if let Err(_) = file.seek(hdr_s) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 105 | | return Err(Error::IO); [INFO] [stderr] 106 | | } [INFO] [stderr] | |_________- help: try this: `if file.seek(hdr_s).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:109:16 [INFO] [stderr] | [INFO] [stderr] 109 | if let Err(_) = file.write(&buf) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 110 | | return Err(Error::IO); [INFO] [stderr] 111 | | } [INFO] [stderr] | |_________- help: try this: `if file.write(&buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:117:16 [INFO] [stderr] | [INFO] [stderr] 117 | if let Err(_) = file.seek(s) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 118 | | return Err(Error::IO); [INFO] [stderr] 119 | | } [INFO] [stderr] | |_________- help: try this: `if file.seek(s).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:122:16 [INFO] [stderr] | [INFO] [stderr] 122 | if let Err(_) = file.read(&mut buf) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 123 | | return Err(Error::IO); [INFO] [stderr] 124 | | } [INFO] [stderr] | |_________- help: try this: `if file.read(&mut buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/hashmap.rs:153:34 [INFO] [stderr] | [INFO] [stderr] 153 | Some(x) => pos = x as u64, [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:198:16 [INFO] [stderr] | [INFO] [stderr] 198 | if let Err(_) = file.seek(s) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 199 | | return Err(Error::IO); [INFO] [stderr] 200 | | } [INFO] [stderr] | |_________- help: try this: `if file.seek(s).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:202:16 [INFO] [stderr] | [INFO] [stderr] 202 | if let Err(_) = file.write(&buf) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 203 | | return Err(Error::IO); [INFO] [stderr] 204 | | } [INFO] [stderr] | |_________- help: try this: `if file.write(&buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/hashmap.rs:229:44 [INFO] [stderr] | [INFO] [stderr] 229 | let new_s = FileHashMap::seek_from(new_pos as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from(new_pos)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:230:16 [INFO] [stderr] | [INFO] [stderr] 230 | if let Err(_) = file.seek(new_s) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 231 | | return Err(Error::IO); [INFO] [stderr] 232 | | } [INFO] [stderr] | |_________- help: try this: `if file.seek(new_s).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:234:16 [INFO] [stderr] | [INFO] [stderr] 234 | if let Err(_) = file.write(&buf) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 235 | | return Err(Error::IO); [INFO] [stderr] 236 | | } [INFO] [stderr] | |_________- help: try this: `if file.write(&buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/hashmap.rs:304:27 [INFO] [stderr] | [INFO] [stderr] 304 | pos = x as u64; [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(x)` [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: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> src/file.rs:95:18 [INFO] [stderr] | [INFO] [stderr] 95 | for i in 0..bytes.len() { [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] 95 | for (i, ) in bytes.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | / match self { [INFO] [stderr] 64 | | &Error::IO => "i/o error", [INFO] [stderr] 65 | | &Error::NotFound => "key not found", [INFO] [stderr] 66 | | } [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] 63 | match *self { [INFO] [stderr] 64 | Error::IO => "i/o error", [INFO] [stderr] 65 | Error::NotFound => "key not found", [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | / match self { [INFO] [stderr] 73 | | &Error::IO => write!(f, "io error"), [INFO] [stderr] 74 | | &Error::NotFound => write!(f, "not found error"), [INFO] [stderr] 75 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 72 | match *self { [INFO] [stderr] 73 | Error::IO => write!(f, "io error"), [INFO] [stderr] 74 | Error::NotFound => write!(f, "not found error"), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/hashmap.rs:33:21 [INFO] [stderr] | [INFO] [stderr] 33 | total = (*b as u32).wrapping_add(total << 6).wrapping_add(total << 16).wrapping_sub(total); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(*b)` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/hashmap.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | (total % key_count) as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(total % key_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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:55:16 [INFO] [stderr] | [INFO] [stderr] 55 | if let Err(_) = file.write(&buf) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 56 | | return Err(Error::IO); [INFO] [stderr] 57 | | } [INFO] [stderr] | |_________- help: try this: `if file.write(&buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | if let Err(_) = file.write(&buf) { [INFO] [stderr] | _____________- ^^^^^^ [INFO] [stderr] 63 | | return Err(Error::IO); [INFO] [stderr] 64 | | } [INFO] [stderr] | |_____________- help: try this: `if file.write(&buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/hashmap.rs:77:32 [INFO] [stderr] | [INFO] [stderr] 77 | SeekFrom::Start((pos * ITEM_SIZE as u64) + HEADER_SIZE as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(ITEM_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:90:16 [INFO] [stderr] | [INFO] [stderr] 90 | if let Err(_) = file.seek(hdr_s) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 91 | | return Err(Error::IO); [INFO] [stderr] 92 | | } [INFO] [stderr] | |_________- help: try this: `if file.seek(hdr_s).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:95:16 [INFO] [stderr] | [INFO] [stderr] 95 | if let Err(_) = file.read(&mut buf) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 96 | | return Err(Error::IO); [INFO] [stderr] 97 | | } [INFO] [stderr] | |_________- help: try this: `if file.read(&mut buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:104:16 [INFO] [stderr] | [INFO] [stderr] 104 | if let Err(_) = file.seek(hdr_s) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 105 | | return Err(Error::IO); [INFO] [stderr] 106 | | } [INFO] [stderr] | |_________- help: try this: `if file.seek(hdr_s).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:109:16 [INFO] [stderr] | [INFO] [stderr] 109 | if let Err(_) = file.write(&buf) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 110 | | return Err(Error::IO); [INFO] [stderr] 111 | | } [INFO] [stderr] | |_________- help: try this: `if file.write(&buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:117:16 [INFO] [stderr] | [INFO] [stderr] 117 | if let Err(_) = file.seek(s) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 118 | | return Err(Error::IO); [INFO] [stderr] 119 | | } [INFO] [stderr] | |_________- help: try this: `if file.seek(s).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:122:16 [INFO] [stderr] | [INFO] [stderr] 122 | if let Err(_) = file.read(&mut buf) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 123 | | return Err(Error::IO); [INFO] [stderr] 124 | | } [INFO] [stderr] | |_________- help: try this: `if file.read(&mut buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/hashmap.rs:153:34 [INFO] [stderr] | [INFO] [stderr] 153 | Some(x) => pos = x as u64, [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:198:16 [INFO] [stderr] | [INFO] [stderr] 198 | if let Err(_) = file.seek(s) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 199 | | return Err(Error::IO); [INFO] [stderr] 200 | | } [INFO] [stderr] | |_________- help: try this: `if file.seek(s).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:202:16 [INFO] [stderr] | [INFO] [stderr] 202 | if let Err(_) = file.write(&buf) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 203 | | return Err(Error::IO); [INFO] [stderr] 204 | | } [INFO] [stderr] | |_________- help: try this: `if file.write(&buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/hashmap.rs:229:44 [INFO] [stderr] | [INFO] [stderr] 229 | let new_s = FileHashMap::seek_from(new_pos as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from(new_pos)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:230:16 [INFO] [stderr] | [INFO] [stderr] 230 | if let Err(_) = file.seek(new_s) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 231 | | return Err(Error::IO); [INFO] [stderr] 232 | | } [INFO] [stderr] | |_________- help: try this: `if file.seek(new_s).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/hashmap.rs:234:16 [INFO] [stderr] | [INFO] [stderr] 234 | if let Err(_) = file.write(&buf) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 235 | | return Err(Error::IO); [INFO] [stderr] 236 | | } [INFO] [stderr] | |_________- help: try this: `if file.write(&buf).is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/hashmap.rs:304:27 [INFO] [stderr] | [INFO] [stderr] 304 | pos = x as u64; [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(x)` [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: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> src/file.rs:95:18 [INFO] [stderr] | [INFO] [stderr] 95 | for i in 0..bytes.len() { [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] 95 | for (i, ) in bytes.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | / match self { [INFO] [stderr] 64 | | &Error::IO => "i/o error", [INFO] [stderr] 65 | | &Error::NotFound => "key not found", [INFO] [stderr] 66 | | } [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] 63 | match *self { [INFO] [stderr] 64 | Error::IO => "i/o error", [INFO] [stderr] 65 | Error::NotFound => "key not found", [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | / match self { [INFO] [stderr] 73 | | &Error::IO => write!(f, "io error"), [INFO] [stderr] 74 | | &Error::NotFound => write!(f, "not found error"), [INFO] [stderr] 75 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 72 | match *self { [INFO] [stderr] 73 | Error::IO => write!(f, "io error"), [INFO] [stderr] 74 | Error::NotFound => write!(f, "not found error"), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:10:21 [INFO] [stderr] | [INFO] [stderr] 10 | const DB_FILENAME: &'static str = "./db.kvlite"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:10:21 [INFO] [stderr] | [INFO] [stderr] 10 | const DB_FILENAME: &'static str = "./db.kvlite"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.22s [INFO] running `"docker" "inspect" "3ed799629d73dc55f61b1bcf867013207effe307e44a408f7dbc1edb6e51894c"` [INFO] running `"docker" "rm" "-f" "3ed799629d73dc55f61b1bcf867013207effe307e44a408f7dbc1edb6e51894c"` [INFO] [stdout] 3ed799629d73dc55f61b1bcf867013207effe307e44a408f7dbc1edb6e51894c