[INFO] crate grin_store 0.4.2 is already in cache [INFO] extracting crate grin_store 0.4.2 into work/ex/clippy-test-run/sources/stable/reg/grin_store/0.4.2 [INFO] extracting crate grin_store 0.4.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/grin_store/0.4.2 [INFO] validating manifest of grin_store-0.4.2 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 grin_store-0.4.2 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 grin_store-0.4.2 [INFO] finished frobbing grin_store-0.4.2 [INFO] frobbed toml for grin_store-0.4.2 written to work/ex/clippy-test-run/sources/stable/reg/grin_store/0.4.2/Cargo.toml [INFO] started frobbing grin_store-0.4.2 [INFO] finished frobbing grin_store-0.4.2 [INFO] frobbed toml for grin_store-0.4.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/grin_store/0.4.2/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 grin_store-0.4.2 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/reg/grin_store/0.4.2:/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] e0760523a0f3740eb1e4a8c38832a5b2a34dd67ccf78f5a8fd9120fc70566eb1 [INFO] running `"docker" "start" "-a" "e0760523a0f3740eb1e4a8c38832a5b2a34dd67ccf78f5a8fd9120fc70566eb1"` [INFO] [stderr] Compiling grin_secp256k1zkp v0.7.4 [INFO] [stderr] Compiling liblmdb-sys v0.2.2 [INFO] [stderr] Compiling log v0.4.6 [INFO] [stderr] Checking blake2-rfc v0.2.18 [INFO] [stderr] Checking uuid v0.6.5 [INFO] [stderr] Checking flate2 v1.0.6 [INFO] [stderr] Checking num-rational v0.2.1 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking num v0.2.0 [INFO] [stderr] Checking log4rs v0.8.1 [INFO] [stderr] Checking zip v0.4.2 [INFO] [stderr] Compiling bindgen v0.37.4 [INFO] [stderr] Checking lmdb-zero v0.4.4 [INFO] [stderr] Checking grin_util v0.4.2 [INFO] [stderr] Checking grin_keychain v0.4.2 [INFO] [stderr] Compiling croaring-sys v0.3.8 [INFO] [stderr] Checking croaring v0.3.8 [INFO] [stderr] Checking grin_core v0.4.2 [INFO] [stderr] Checking grin_store v0.4.2 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lmdb.rs:75:27 [INFO] [stderr] | [INFO] [stderr] 75 | env_builder.set_mapsize(549755813888).unwrap_or_else(|e| { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `549_755_813_888` [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/lmdb.rs:75:27 [INFO] [stderr] | [INFO] [stderr] 75 | env_builder.set_mapsize(549755813888).unwrap_or_else(|e| { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `549_755_813_888` [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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/leaf_set.rs:104:19 [INFO] [stderr] | [INFO] [stderr] 104 | let marker_to = self.bitmap.maximum() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.bitmap.maximum())` [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: an inclusive range would be more readable [INFO] [stderr] --> src/leaf_set.rs:114:10 [INFO] [stderr] | [INFO] [stderr] 114 | .flip(1..(cutoff_pos + 1)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use: `1..=cutoff_pos` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/leaf_set.rs:125:19 [INFO] [stderr] | [INFO] [stderr] 125 | let marker_to = self.bitmap.maximum() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.bitmap.maximum())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/leaf_set.rs:104:19 [INFO] [stderr] | [INFO] [stderr] 104 | let marker_to = self.bitmap.maximum() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.bitmap.maximum())` [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: an inclusive range would be more readable [INFO] [stderr] --> src/leaf_set.rs:114:10 [INFO] [stderr] | [INFO] [stderr] 114 | .flip(1..(cutoff_pos + 1)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use: `1..=cutoff_pos` [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/leaf_set.rs:125:19 [INFO] [stderr] | [INFO] [stderr] 125 | let marker_to = self.bitmap.maximum() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.bitmap.maximum())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/pmmr.rs:292:5 [INFO] [stderr] | [INFO] [stderr] 292 | pos as u64 - 1 - shift [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/pmmr.rs:304:14 [INFO] [stderr] | [INFO] [stderr] 304 | .map(|x| 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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/pmmr.rs:355:22 [INFO] [stderr] | [INFO] [stderr] 355 | let mut current = 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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/pmmr.rs:385:33 [INFO] [stderr] | [INFO] [stderr] 385 | let (parent_pos, _) = family(*pos as u64); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(*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: you should consider adding a `Default` implementation for `prune_list::PruneList` [INFO] [stderr] --> src/prune_list.rs:55:2 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn new() -> PruneList { [INFO] [stderr] | _____^ [INFO] [stderr] 56 | | PruneList { [INFO] [stderr] 57 | | path: None, [INFO] [stderr] 58 | | bitmap: Bitmap::create(), [INFO] [stderr] ... | [INFO] [stderr] 62 | | } [INFO] [stderr] 63 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 53 | impl Default for prune_list::PruneList { [INFO] [stderr] 54 | fn default() -> Self { [INFO] [stderr] 55 | Self::new() [INFO] [stderr] 56 | } [INFO] [stderr] 57 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/prune_list.rs:130:18 [INFO] [stderr] | [INFO] [stderr] 130 | self.get_shift(self.bitmap.maximum() as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.bitmap.maximum())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/prune_list.rs:161:14 [INFO] [stderr] | [INFO] [stderr] 161 | let pos = pos as u64; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/prune_list.rs:203:14 [INFO] [stderr] | [INFO] [stderr] 203 | let pos = pos as u64; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/prune_list.rs:253:44 [INFO] [stderr] | [INFO] [stderr] 253 | self.bitmap.to_vec().into_iter().map(|x| x as u64).collect() [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: an inclusive range would be more readable [INFO] [stderr] --> src/prune_list.rs:267:14 [INFO] [stderr] | [INFO] [stderr] 267 | for pos in 1..(self.bitmap.maximum() + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `1..=self.bitmap.maximum()` [INFO] [stderr] | [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/prune_list.rs:268:20 [INFO] [stderr] | [INFO] [stderr] 268 | let path = path(pos as u64, self.bitmap.maximum() as u64); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/prune_list.rs:268:32 [INFO] [stderr] | [INFO] [stderr] 268 | let path = path(pos as u64, self.bitmap.maximum() as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.bitmap.maximum())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/pmmr.rs:292:5 [INFO] [stderr] | [INFO] [stderr] 292 | pos as u64 - 1 - shift [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/pmmr.rs:304:14 [INFO] [stderr] | [INFO] [stderr] 304 | .map(|x| 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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/pmmr.rs:355:22 [INFO] [stderr] | [INFO] [stderr] 355 | let mut current = 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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/pmmr.rs:385:33 [INFO] [stderr] | [INFO] [stderr] 385 | let (parent_pos, _) = family(*pos as u64); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(*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: you should consider adding a `Default` implementation for `prune_list::PruneList` [INFO] [stderr] --> src/prune_list.rs:55:2 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn new() -> PruneList { [INFO] [stderr] | _____^ [INFO] [stderr] 56 | | PruneList { [INFO] [stderr] 57 | | path: None, [INFO] [stderr] 58 | | bitmap: Bitmap::create(), [INFO] [stderr] ... | [INFO] [stderr] 62 | | } [INFO] [stderr] 63 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 53 | impl Default for prune_list::PruneList { [INFO] [stderr] 54 | fn default() -> Self { [INFO] [stderr] 55 | Self::new() [INFO] [stderr] 56 | } [INFO] [stderr] 57 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/prune_list.rs:130:18 [INFO] [stderr] | [INFO] [stderr] 130 | self.get_shift(self.bitmap.maximum() as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.bitmap.maximum())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/prune_list.rs:161:14 [INFO] [stderr] | [INFO] [stderr] 161 | let pos = pos as u64; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/prune_list.rs:203:14 [INFO] [stderr] | [INFO] [stderr] 203 | let pos = pos as u64; [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/prune_list.rs:253:44 [INFO] [stderr] | [INFO] [stderr] 253 | self.bitmap.to_vec().into_iter().map(|x| x as u64).collect() [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: an inclusive range would be more readable [INFO] [stderr] --> src/prune_list.rs:267:14 [INFO] [stderr] | [INFO] [stderr] 267 | for pos in 1..(self.bitmap.maximum() + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `1..=self.bitmap.maximum()` [INFO] [stderr] | [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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/prune_list.rs:268:20 [INFO] [stderr] | [INFO] [stderr] 268 | let path = path(pos as u64, self.bitmap.maximum() as u64); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/prune_list.rs:268:32 [INFO] [stderr] | [INFO] [stderr] 268 | let path = path(pos as u64, self.bitmap.maximum() as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.bitmap.maximum())` [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 u64 to u128 may become silently lossy if types change [INFO] [stderr] --> tests/utxo_set_perf.rs:30:2 [INFO] [stderr] | [INFO] [stderr] 30 | d.as_secs() as u128 * 1_000 as u128 + (d.subsec_nanos() / (1_000 * 1_000)) as u128 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u128::from(d.as_secs())` [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 u128 may become silently lossy if types change [INFO] [stderr] --> tests/utxo_set_perf.rs:30:40 [INFO] [stderr] | [INFO] [stderr] 30 | d.as_secs() as u128 * 1_000 as u128 + (d.subsec_nanos() / (1_000 * 1_000)) as u128 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u128::from(d.subsec_nanos() / (1_000 * 1_000))` [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: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> tests/utxo_set_perf.rs:30:40 [INFO] [stderr] | [INFO] [stderr] 30 | d.as_secs() as u128 * 1_000 as u128 + (d.subsec_nanos() / (1_000 * 1_000)) as u128 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `d.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::duration_subsec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> tests/utxo_set_perf.rs:101:2 [INFO] [stderr] | [INFO] [stderr] 101 | let _ = env_logger::init(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 46 [INFO] [stderr] --> tests/prune_list.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | / fn test_get_leaf_shift() { [INFO] [stderr] 65 | | let mut pl = PruneList::new(); [INFO] [stderr] 66 | | [INFO] [stderr] 67 | | // start with an empty prune list (nothing shifted) [INFO] [stderr] ... | [INFO] [stderr] 152 | | assert_eq!(pl.get_leaf_shift(14), 4); [INFO] [stderr] 153 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 55 [INFO] [stderr] --> tests/prune_list.rs:156:1 [INFO] [stderr] | [INFO] [stderr] 156 | / fn test_get_shift() { [INFO] [stderr] 157 | | let mut pl = PruneList::new(); [INFO] [stderr] 158 | | assert!(pl.is_empty()); [INFO] [stderr] 159 | | assert_eq!(pl.get_shift(1), 0); [INFO] [stderr] ... | [INFO] [stderr] 253 | | assert_eq!(pl.get_shift(12), 4); [INFO] [stderr] 254 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> tests/pmmr.rs:360:30 [INFO] [stderr] | [INFO] [stderr] 360 | pmmr.rewind(9, &Bitmap::of(&vec![11, 12, 16])).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[11, 12, 16]` [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] --> tests/pmmr.rs:380:13 [INFO] [stderr] | [INFO] [stderr] 380 | for pos in vec![1, 2, 4, 5] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[1, 2, 4, 5]` [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] --> tests/pmmr.rs:384:13 [INFO] [stderr] | [INFO] [stderr] 384 | for pos in vec![3, 6, 7] { [INFO] [stderr] | ^^^^^^^^^^^^^ help: you can use a slice directly: `&[3, 6, 7]` [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: the function has a cyclomatic complexity of 36 [INFO] [stderr] --> tests/pmmr.rs:505:1 [INFO] [stderr] | [INFO] [stderr] 505 | / fn pmmr_compact_horizon() { [INFO] [stderr] 506 | | let (data_dir, elems) = setup("compact_horizon"); [INFO] [stderr] 507 | | let mut backend = store::pmmr::PMMRBackend::new(data_dir.clone(), true, None).unwrap(); [INFO] [stderr] 508 | | let mmr_size = load(0, &elems[..], &mut backend); [INFO] [stderr] ... | [INFO] [stderr] 642 | | teardown(data_dir); [INFO] [stderr] 643 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> tests/pmmr.rs:561:34 [INFO] [stderr] | [INFO] [stderr] 561 | .check_compact(4, &Bitmap::of(&vec![1, 2]), &prune_noop) [INFO] [stderr] | ^^^^^^^^^^^ help: you can use a slice directly: `&[1, 2]` [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: using `clone` on a `Copy` type [INFO] [stderr] --> tests/pmmr.rs:765:3 [INFO] [stderr] | [INFO] [stderr] 765 | self.clone() [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 22s [INFO] running `"docker" "inspect" "e0760523a0f3740eb1e4a8c38832a5b2a34dd67ccf78f5a8fd9120fc70566eb1"` [INFO] running `"docker" "rm" "-f" "e0760523a0f3740eb1e4a8c38832a5b2a34dd67ccf78f5a8fd9120fc70566eb1"` [INFO] [stdout] e0760523a0f3740eb1e4a8c38832a5b2a34dd67ccf78f5a8fd9120fc70566eb1