[INFO] crate etcommon-block 0.5.1 is already in cache [INFO] extracting crate etcommon-block 0.5.1 into work/ex/clippy-test-run/sources/stable/reg/etcommon-block/0.5.1 [INFO] extracting crate etcommon-block 0.5.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/etcommon-block/0.5.1 [INFO] validating manifest of etcommon-block-0.5.1 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 etcommon-block-0.5.1 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 etcommon-block-0.5.1 [INFO] finished frobbing etcommon-block-0.5.1 [INFO] frobbed toml for etcommon-block-0.5.1 written to work/ex/clippy-test-run/sources/stable/reg/etcommon-block/0.5.1/Cargo.toml [INFO] started frobbing etcommon-block-0.5.1 [INFO] finished frobbing etcommon-block-0.5.1 [INFO] frobbed toml for etcommon-block-0.5.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/etcommon-block/0.5.1/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 etcommon-block-0.5.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/etcommon-block/0.5.1:/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] 06c8c19e17f159050d80e3de99c6e288c2aa72669c94629b2a7722cee639fbee [INFO] running `"docker" "start" "-a" "06c8c19e17f159050d80e3de99c6e288c2aa72669c94629b2a7722cee639fbee"` [INFO] [stderr] Compiling secp256k1-plus v0.5.7 [INFO] [stderr] Checking sha3 v0.6.0 [INFO] [stderr] Checking etcommon-bloom v0.2.1 [INFO] [stderr] Checking etcommon-block-core v0.3.0 [INFO] [stderr] Checking etcommon-trie v0.4.0 [INFO] [stderr] Checking etcommon-block v0.5.1 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/header.rs:199:49 [INFO] [stderr] | [INFO] [stderr] 199 | assert_eq!(block.difficulty, U256::from(17171480576u64)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `17_171_480_576u64` [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/header.rs:203:37 [INFO] [stderr] | [INFO] [stderr] 203 | assert_eq!(block.timestamp, 1438269988u64); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `1_438_269_988u64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused import: `PublicKey` [INFO] [stderr] --> src/transaction.rs:4:22 [INFO] [stderr] | [INFO] [stderr] 4 | use secp256k1::key::{PublicKey, SecretKey}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `B256`, `M256` [INFO] [stderr] --> src/transaction.rs:9:40 [INFO] [stderr] | [INFO] [stderr] 9 | use bigint::{Address, Gas, H256, U256, B256, M256}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::marker::PhantomData` [INFO] [stderr] --> src/transaction.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::marker::PhantomData; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PublicKey` [INFO] [stderr] --> src/transaction.rs:4:22 [INFO] [stderr] | [INFO] [stderr] 4 | use secp256k1::key::{PublicKey, SecretKey}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `B256`, `M256` [INFO] [stderr] --> src/transaction.rs:9:40 [INFO] [stderr] | [INFO] [stderr] 9 | use bigint::{Address, Gas, H256, U256, B256, M256}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::marker::PhantomData` [INFO] [stderr] --> src/transaction.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::marker::PhantomData; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/transaction.rs:261:9 [INFO] [stderr] | [INFO] [stderr] 261 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `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: unused imports: `Address`, `B256`, `Gas`, `H2048`, `H64` [INFO] [stderr] --> src/block.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | use bigint::{Address, Gas, H256, U256, B256, H64, H2048}; [INFO] [stderr] | ^^^^^^^ ^^^ ^^^^ ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/transaction.rs:261:9 [INFO] [stderr] | [INFO] [stderr] 261 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `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: unused imports: `Error`, `Message`, `RecoverableSignature`, `RecoveryId` [INFO] [stderr] --> src/transaction.rs:306:21 [INFO] [stderr] | [INFO] [stderr] 306 | use secp256k1::{Message, Error, RecoverableSignature, RecoveryId, SECP256K1}; [INFO] [stderr] | ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PublicKey` [INFO] [stderr] --> src/transaction.rs:307:26 [INFO] [stderr] | [INFO] [stderr] 307 | use secp256k1::key::{PublicKey, SecretKey}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Decodable`, `DecoderError`, `Encodable`, `RlpStream`, `UntrustedRlp`, `self` [INFO] [stderr] --> src/transaction.rs:308:15 [INFO] [stderr] | [INFO] [stderr] 308 | use rlp::{self, Encodable, Decodable, RlpStream, DecoderError, UntrustedRlp}; [INFO] [stderr] | ^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `B256`, `H256` [INFO] [stderr] --> src/transaction.rs:309:32 [INFO] [stderr] | [INFO] [stderr] 309 | use bigint::{Address, Gas, H256, U256, B256}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Keccak256` [INFO] [stderr] --> src/transaction.rs:310:24 [INFO] [stderr] | [INFO] [stderr] 310 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Transaction` [INFO] [stderr] --> src/transaction.rs:313:17 [INFO] [stderr] | [INFO] [stderr] 313 | use super::{Transaction, UnsignedTransaction, TransactionAction, ClassicSignaturePatch, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Address`, `B256`, `Gas`, `H2048`, `H64` [INFO] [stderr] --> src/block.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | use bigint::{Address, Gas, H256, U256, B256, H64, H2048}; [INFO] [stderr] | ^^^^^^^ ^^^ ^^^^ ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bloom::LogsBloom` [INFO] [stderr] --> src/block.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use bloom::LogsBloom; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/block.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SignaturePatch` [INFO] [stderr] --> src/block.rs:7:43 [INFO] [stderr] | [INFO] [stderr] 7 | use super::{Header, Transaction, Receipt, SignaturePatch}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/block.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | hash [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/block.rs:27:16 [INFO] [stderr] | [INFO] [stderr] 27 | let hash = H256::from(Keccak256::digest(&encoded).as_slice()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/block.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `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: unused import: `Rlp` [INFO] [stderr] --> src/block.rs:73:31 [INFO] [stderr] | [INFO] [stderr] 73 | use rlp::{encode, decode, Rlp}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bloom::LogsBloom` [INFO] [stderr] --> src/block.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | use bloom::LogsBloom; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `transaction::GlobalSignaturePatch` [INFO] [stderr] --> src/block.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | use transaction::GlobalSignaturePatch; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bloom::LogsBloom` [INFO] [stderr] --> src/block.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use bloom::LogsBloom; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/block.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SignaturePatch` [INFO] [stderr] --> src/block.rs:7:43 [INFO] [stderr] | [INFO] [stderr] 7 | use super::{Header, Transaction, Receipt, SignaturePatch}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/block.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | hash [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/block.rs:27:16 [INFO] [stderr] | [INFO] [stderr] 27 | let hash = H256::from(Keccak256::digest(&encoded).as_slice()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/block.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `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: unused imports: `Address`, `B256`, `H64`, `U256` [INFO] [stderr] --> src/receipt.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | use bigint::{Address, Gas, H256, U256, B256, H64}; [INFO] [stderr] | ^^^^^^^ ^^^^ ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/block.rs:88:63 [INFO] [stderr] | [INFO] [stderr] 88 | assert_eq!(block.transactions[0].gas_limit, Gas::from(500000u64)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `500_000u64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Address`, `B256`, `H64`, `U256` [INFO] [stderr] --> src/receipt.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | use bigint::{Address, Gas, H256, U256, B256, H64}; [INFO] [stderr] | ^^^^^^^ ^^^^ ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/transaction.rs:310:16 [INFO] [stderr] | [INFO] [stderr] 310 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ECDSA_SIGNATURE_BYTES` [INFO] [stderr] --> src/transaction.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | const ECDSA_SIGNATURE_BYTES: usize = 65; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/transaction.rs:95:83 [INFO] [stderr] | [INFO] [stderr] 95 | RecoverableSignature::from_compact(&SECP256K1, &sig, RecoveryId::from_i32(self.standard_v() as i32)?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.standard_v())` [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: constant item is never used: `ECDSA_SIGNATURE_BYTES` [INFO] [stderr] --> src/transaction.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | const ECDSA_SIGNATURE_BYTES: usize = 65; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/transaction.rs:95:83 [INFO] [stderr] | [INFO] [stderr] 95 | RecoverableSignature::from_compact(&SECP256K1, &sig, RecoveryId::from_i32(self.standard_v() as i32)?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.standard_v())` [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: redundant field names in struct initialization [INFO] [stderr] --> tests/genesis.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | balance: balance, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `balance` [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: variable does not need to be mutable [INFO] [stderr] --> tests/genesis.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | let mut accounts: Vec<(&String, &JSONAccount)> = genesis_accounts.iter().collect(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 8.91s [INFO] running `"docker" "inspect" "06c8c19e17f159050d80e3de99c6e288c2aa72669c94629b2a7722cee639fbee"` [INFO] running `"docker" "rm" "-f" "06c8c19e17f159050d80e3de99c6e288c2aa72669c94629b2a7722cee639fbee"` [INFO] [stdout] 06c8c19e17f159050d80e3de99c6e288c2aa72669c94629b2a7722cee639fbee