[INFO] updating cached repository https://github.com/sorpaas/etclient [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/big/crater/work/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 1f7129ef71e633dd42327770a2987235c2fabeab [INFO] testing sorpaas/etclient against 1.38.0 for beta-1.39-1 [INFO] running `"git" "clone" "work/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsorpaas%2Fetclient" "work/builds/worker-7/source"` [INFO] [stderr] Cloning into 'work/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/sorpaas/etclient on toolchain 1.38.0 [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+1.38.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/sorpaas/etclient [INFO] finished tweaking git repo https://github.com/sorpaas/etclient [INFO] tweaked toml for git repo https://github.com/sorpaas/etclient written to work/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/sorpaas/etclient already has a lockfile, it will not be regenerated [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+1.38.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/big/crater/work/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/big/crater/work/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.38.0" "build" "--frozen"` [INFO] [stdout] 6252647e338e3c0dee29c98cde11d29fb66947d8884a429fc3711715148d1494 [INFO] running `"docker" "start" "-a" "6252647e338e3c0dee29c98cde11d29fb66947d8884a429fc3711715148d1494"` [INFO] [stderr] Compiling odds v0.2.25 [INFO] [stderr] Compiling elastic-array-plus v0.9.0 [INFO] [stderr] Compiling etcommon-hexutil v0.2.2 [INFO] [stderr] Compiling blockchain v0.2.0 [INFO] [stderr] Compiling secp256k1-plus v0.5.7 [INFO] [stderr] Compiling memchr v0.1.11 [INFO] [stderr] Compiling tokio-timer-plus v0.1.3 [INFO] [stderr] Compiling rust-crypto v0.2.36 [INFO] [stderr] Compiling thread-id v2.0.0 [INFO] [stderr] Compiling tokio-core v0.1.9 [INFO] [stderr] Compiling thread_local v0.2.7 [INFO] [stderr] Compiling aho-corasick v0.5.3 [INFO] [stderr] Compiling etcommon-rlp v0.2.2 [INFO] [stderr] Compiling nodrop v0.1.9 [INFO] [stderr] Compiling regex v0.1.80 [INFO] [stderr] Compiling generic-array v0.8.3 [INFO] [stderr] Compiling arrayvec v0.3.23 [INFO] [stderr] Compiling etcommon-bigint v0.2.7 [INFO] [stderr] Compiling digest v0.6.2 [INFO] [stderr] Compiling block-buffer v0.2.0 [INFO] [stderr] Compiling sha3 v0.6.0 [INFO] [stderr] Compiling sha2 v0.6.0 [INFO] [stderr] Compiling ripemd160 v0.6.0 [INFO] [stderr] Compiling env_logger v0.3.5 [INFO] [stderr] Compiling etcommon-trie v0.3.8 [INFO] [stderr] Compiling etcommon-bloom v0.2.1 [INFO] [stderr] Compiling dpt v0.2.6 [INFO] [stderr] Compiling ethash v0.3.0 [INFO] [stderr] Compiling rlpx v0.3.0 [INFO] [stderr] Compiling etcommon-block v0.3.2 [INFO] [stderr] Compiling sputnikvm v0.7.6 [INFO] [stderr] Compiling devp2p v0.3.1 [INFO] [stderr] Compiling sputnikvm-stateful v0.7.5 [INFO] [stderr] Compiling etclient v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `MemoryStateful` [INFO] [stderr] --> src/validator/genesis.rs:2:36 [INFO] [stderr] | [INFO] [stderr] 2 | use sputnikvm_stateful::{Stateful, MemoryStateful}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Block`, `TotalHeader`, `Transaction` [INFO] [stderr] --> src/validator/genesis.rs:4:21 [INFO] [stderr] | [INFO] [stderr] 4 | use block::{Header, Block, TotalHeader, Transaction, TransactionAction}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DatabaseGuard` [INFO] [stderr] --> src/validator/genesis.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | use trie::{DatabaseGuard, DatabaseOwned, MemoryTrie}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ethash` [INFO] [stderr] --> src/validator/genesis.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use ethash; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FixedMemoryTrie` [INFO] [stderr] --> src/validator/mod.rs:3:28 [INFO] [stderr] | [INFO] [stderr] 3 | use trie::{MemoryDatabase, FixedMemoryTrie}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `H64` [INFO] [stderr] --> src/validator/mod.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | use bigint::{U256, H256, H64, Gas}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Transaction`, `ommers_hash`, `transactions_root` [INFO] [stderr] --> src/validator/mod.rs:5:43 [INFO] [stderr] | [INFO] [stderr] 5 | use block::{Header, Receipt, TotalHeader, Transaction, Block, Log, TransactionAction, ommers_hash, transactions_root, receipts_root}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Keccak256` [INFO] [stderr] --> src/validator/mod.rs:7:20 [INFO] [stderr] | [INFO] [stderr] 7 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rlp` [INFO] [stderr] --> src/validator/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use rlp; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/validator/mod.rs:77:36 [INFO] [stderr] | [INFO] [stderr] 77 | let mut validator: Box = if block.header.number < U256::from(1150000) { [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn Validator` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `PublicKey` [INFO] [stderr] --> src/main.rs:33:22 [INFO] [stderr] | [INFO] [stderr] 33 | use secp256k1::key::{PublicKey, SecretKey}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `H512` [INFO] [stderr] --> src/main.rs:43:26 [INFO] [stderr] | [INFO] [stderr] 43 | use bigint::{H256, U256, H512}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Keccak256` [INFO] [stderr] --> src/main.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `receipts_root` [INFO] [stderr] --> src/main.rs:46:73 [INFO] [stderr] | [INFO] [stderr] 46 | use block::{Header, Block, Transaction, transactions_root, ommers_hash, receipts_root}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in #228 [INFO] [stderr] --> src/main.rs:152:59 [INFO] [stderr] | [INFO] [stderr] 152 | let mut timeout = Timeout::new(dur, &handle).unwrap().boxed(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in #228 [INFO] [stderr] --> src/main.rs:167:29 [INFO] [stderr] | [INFO] [stderr] 167 | timeout = t.boxed(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in #228 [INFO] [stderr] --> src/main.rs:199:63 [INFO] [stderr] | [INFO] [stderr] 199 | timeout = Timeout::new(dur, &handle).unwrap().boxed(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in #228 [INFO] [stderr] --> src/main.rs:298:71 [INFO] [stderr] | [INFO] [stderr] 298 | timeout = Timeout::new(dur, &handle).unwrap().boxed(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/validator/mod.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/main.rs:45:12 [INFO] [stderr] | [INFO] [stderr] 45 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | for i in validated_number..headers.len() { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `when` [INFO] [stderr] --> src/main.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | let mut when = Instant::now() + dur; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_when` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `version` [INFO] [stderr] --> src/main.rs:212:29 [INFO] [stderr] | [INFO] [stderr] 212 | node, data, version [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `version: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `max_headers` [INFO] [stderr] --> src/main.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | number, max_headers, skip, reverse [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `max_headers: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reverse` [INFO] [stderr] --> src/main.rs:222:52 [INFO] [stderr] | [INFO] [stderr] 222 | number, max_headers, skip, reverse [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `reverse: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `skip` [INFO] [stderr] --> src/main.rs:222:46 [INFO] [stderr] | [INFO] [stderr] 222 | number, max_headers, skip, reverse [INFO] [stderr] | ^^^^ help: try ignoring the field: `skip: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `max_headers` [INFO] [stderr] --> src/main.rs:242:31 [INFO] [stderr] | [INFO] [stderr] 242 | hash, max_headers, skip, reverse [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `max_headers: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reverse` [INFO] [stderr] --> src/main.rs:242:50 [INFO] [stderr] | [INFO] [stderr] 242 | hash, max_headers, skip, reverse [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `reverse: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `skip` [INFO] [stderr] --> src/main.rs:242:44 [INFO] [stderr] | [INFO] [stderr] 242 | hash, max_headers, skip, reverse [INFO] [stderr] | ^^^^ help: try ignoring the field: `skip: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `difficulty_bound_divisor` [INFO] [stderr] --> src/validator/mod.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | let difficulty_bound_divisor = U256::from(0x0800); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_difficulty_bound_divisor` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `duration_limit` [INFO] [stderr] --> src/validator/mod.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let duration_limit = 0x0d; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_duration_limit` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `frontier_limit` [INFO] [stderr] --> src/validator/mod.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let frontier_limit = U256::from(1150000); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_frontier_limit` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/validator/mod.rs:143:24 [INFO] [stderr] | [INFO] [stderr] 143 | let (mix_hash, result) = self.dag.hashimoto(self.current_block.header.partial_hash(), [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/validator/mod.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | let vm: SeqTransactionVM = stateful.execute( [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_vm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/validator/mod.rs:233:17 [INFO] [stderr] | [INFO] [stderr] 233 | let vm: SeqTransactionVM = stateful.execute( [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_vm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `number` [INFO] [stderr] --> src/patch.rs:26:21 [INFO] [stderr] | [INFO] [stderr] 26 | fn block_reward(number: U256, uncles: usize) -> U256 { P::base_reward() + P::base_reward().shr(5) * U256::from(uncles) } [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `uncles` [INFO] [stderr] --> src/patch.rs:51:35 [INFO] [stderr] | [INFO] [stderr] 51 | fn block_reward(number: U256, uncles: usize) -> U256 { [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_uncles` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `distance` [INFO] [stderr] --> src/patch.rs:59:21 [INFO] [stderr] | [INFO] [stderr] 59 | fn uncle_reward(distance: U256) -> U256 { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_distance` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 120 | let mut client = ETHStream::new( [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] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | let mut got_bodies_for_current = true; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | let mut when = Instant::now() + dur; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:150:29 [INFO] [stderr] | [INFO] [stderr] 150 | let (mut client_sender, mut client_receiver) = client.split(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/validator/genesis.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | let mut header = Header { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/validator/genesis.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | let mut accounts: Vec<(&String, &JSONAccount)> = genesis_accounts.iter().collect(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NETWORK_ID` [INFO] [stderr] --> src/main.rs:52:1 [INFO] [stderr] | [INFO] [stderr] 52 | const NETWORK_ID: usize = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | env_logger::init(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 16.49s [INFO] running `"docker" "inspect" "6252647e338e3c0dee29c98cde11d29fb66947d8884a429fc3711715148d1494"` [INFO] running `"docker" "rm" "-f" "6252647e338e3c0dee29c98cde11d29fb66947d8884a429fc3711715148d1494"` [INFO] [stdout] 6252647e338e3c0dee29c98cde11d29fb66947d8884a429fc3711715148d1494 [INFO] running `"docker" "create" "-v" "/big/crater/work/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/big/crater/work/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.38.0" "test" "--frozen" "--no-run"` [INFO] [stdout] e964d3501479858df00a0da9e1066853604e0b95081e537522ad68084f10f15f [INFO] running `"docker" "start" "-a" "e964d3501479858df00a0da9e1066853604e0b95081e537522ad68084f10f15f"` [INFO] [stderr] Compiling etclient v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Block`, `TotalHeader`, `Transaction` [INFO] [stderr] --> src/validator/genesis.rs:4:21 [INFO] [stderr] | [INFO] [stderr] 4 | use block::{Header, Block, TotalHeader, Transaction, TransactionAction}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DatabaseGuard` [INFO] [stderr] --> src/validator/genesis.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | use trie::{DatabaseGuard, DatabaseOwned, MemoryTrie}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ethash` [INFO] [stderr] --> src/validator/genesis.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use ethash; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ethash` [INFO] [stderr] --> src/validator/genesis.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | use ethash; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FixedMemoryTrie` [INFO] [stderr] --> src/validator/mod.rs:3:28 [INFO] [stderr] | [INFO] [stderr] 3 | use trie::{MemoryDatabase, FixedMemoryTrie}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `H64` [INFO] [stderr] --> src/validator/mod.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | use bigint::{U256, H256, H64, Gas}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Transaction`, `ommers_hash`, `transactions_root` [INFO] [stderr] --> src/validator/mod.rs:5:43 [INFO] [stderr] | [INFO] [stderr] 5 | use block::{Header, Receipt, TotalHeader, Transaction, Block, Log, TransactionAction, ommers_hash, transactions_root, receipts_root}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Keccak256` [INFO] [stderr] --> src/validator/mod.rs:7:20 [INFO] [stderr] | [INFO] [stderr] 7 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rlp` [INFO] [stderr] --> src/validator/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use rlp; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/validator/mod.rs:77:36 [INFO] [stderr] | [INFO] [stderr] 77 | let mut validator: Box = if block.header.number < U256::from(1150000) { [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn Validator` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `PublicKey` [INFO] [stderr] --> src/main.rs:33:22 [INFO] [stderr] | [INFO] [stderr] 33 | use secp256k1::key::{PublicKey, SecretKey}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `H512` [INFO] [stderr] --> src/main.rs:43:26 [INFO] [stderr] | [INFO] [stderr] 43 | use bigint::{H256, U256, H512}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Keccak256` [INFO] [stderr] --> src/main.rs:45:20 [INFO] [stderr] | [INFO] [stderr] 45 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `receipts_root` [INFO] [stderr] --> src/main.rs:46:73 [INFO] [stderr] | [INFO] [stderr] 46 | use block::{Header, Block, Transaction, transactions_root, ommers_hash, receipts_root}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in #228 [INFO] [stderr] --> src/main.rs:152:59 [INFO] [stderr] | [INFO] [stderr] 152 | let mut timeout = Timeout::new(dur, &handle).unwrap().boxed(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in #228 [INFO] [stderr] --> src/main.rs:167:29 [INFO] [stderr] | [INFO] [stderr] 167 | timeout = t.boxed(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in #228 [INFO] [stderr] --> src/main.rs:199:63 [INFO] [stderr] | [INFO] [stderr] 199 | timeout = Timeout::new(dur, &handle).unwrap().boxed(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in #228 [INFO] [stderr] --> src/main.rs:298:71 [INFO] [stderr] | [INFO] [stderr] 298 | timeout = Timeout::new(dur, &handle).unwrap().boxed(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/validator/mod.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/main.rs:45:12 [INFO] [stderr] | [INFO] [stderr] 45 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | for i in validated_number..headers.len() { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `when` [INFO] [stderr] --> src/main.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | let mut when = Instant::now() + dur; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_when` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `version` [INFO] [stderr] --> src/main.rs:212:29 [INFO] [stderr] | [INFO] [stderr] 212 | node, data, version [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `version: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `max_headers` [INFO] [stderr] --> src/main.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | number, max_headers, skip, reverse [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `max_headers: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reverse` [INFO] [stderr] --> src/main.rs:222:52 [INFO] [stderr] | [INFO] [stderr] 222 | number, max_headers, skip, reverse [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `reverse: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `skip` [INFO] [stderr] --> src/main.rs:222:46 [INFO] [stderr] | [INFO] [stderr] 222 | number, max_headers, skip, reverse [INFO] [stderr] | ^^^^ help: try ignoring the field: `skip: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `max_headers` [INFO] [stderr] --> src/main.rs:242:31 [INFO] [stderr] | [INFO] [stderr] 242 | hash, max_headers, skip, reverse [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `max_headers: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reverse` [INFO] [stderr] --> src/main.rs:242:50 [INFO] [stderr] | [INFO] [stderr] 242 | hash, max_headers, skip, reverse [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `reverse: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `skip` [INFO] [stderr] --> src/main.rs:242:44 [INFO] [stderr] | [INFO] [stderr] 242 | hash, max_headers, skip, reverse [INFO] [stderr] | ^^^^ help: try ignoring the field: `skip: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `difficulty_bound_divisor` [INFO] [stderr] --> src/validator/mod.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | let difficulty_bound_divisor = U256::from(0x0800); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_difficulty_bound_divisor` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `duration_limit` [INFO] [stderr] --> src/validator/mod.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let duration_limit = 0x0d; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_duration_limit` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `frontier_limit` [INFO] [stderr] --> src/validator/mod.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let frontier_limit = U256::from(1150000); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_frontier_limit` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/validator/mod.rs:143:24 [INFO] [stderr] | [INFO] [stderr] 143 | let (mix_hash, result) = self.dag.hashimoto(self.current_block.header.partial_hash(), [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/validator/mod.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | let vm: SeqTransactionVM = stateful.execute( [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_vm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/validator/mod.rs:233:17 [INFO] [stderr] | [INFO] [stderr] 233 | let vm: SeqTransactionVM = stateful.execute( [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_vm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `number` [INFO] [stderr] --> src/patch.rs:26:21 [INFO] [stderr] | [INFO] [stderr] 26 | fn block_reward(number: U256, uncles: usize) -> U256 { P::base_reward() + P::base_reward().shr(5) * U256::from(uncles) } [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `uncles` [INFO] [stderr] --> src/patch.rs:51:35 [INFO] [stderr] | [INFO] [stderr] 51 | fn block_reward(number: U256, uncles: usize) -> U256 { [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_uncles` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `distance` [INFO] [stderr] --> src/patch.rs:59:21 [INFO] [stderr] | [INFO] [stderr] 59 | fn uncle_reward(distance: U256) -> U256 { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_distance` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 120 | let mut client = ETHStream::new( [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] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | let mut got_bodies_for_current = true; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | let mut when = Instant::now() + dur; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:150:29 [INFO] [stderr] | [INFO] [stderr] 150 | let (mut client_sender, mut client_receiver) = client.split(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/validator/genesis.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | let mut header = Header { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/validator/genesis.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | let mut accounts: Vec<(&String, &JSONAccount)> = genesis_accounts.iter().collect(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NETWORK_ID` [INFO] [stderr] --> src/main.rs:52:1 [INFO] [stderr] | [INFO] [stderr] 52 | const NETWORK_ID: usize = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | env_logger::init(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.62s [INFO] running `"docker" "inspect" "e964d3501479858df00a0da9e1066853604e0b95081e537522ad68084f10f15f"` [INFO] running `"docker" "rm" "-f" "e964d3501479858df00a0da9e1066853604e0b95081e537522ad68084f10f15f"` [INFO] [stdout] e964d3501479858df00a0da9e1066853604e0b95081e537522ad68084f10f15f [INFO] running `"docker" "create" "-v" "/big/crater/work/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/big/crater/work/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.38.0" "test" "--frozen"` [INFO] [stdout] 99771a1b146cd2151d6e3db62745220db3c43b3d2568e496f1702ef64bc7f77f [INFO] running `"docker" "start" "-a" "99771a1b146cd2151d6e3db62745220db3c43b3d2568e496f1702ef64bc7f77f"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/etclient-aa3da4433d5cd335 [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test validator::tests::test_calculate_difficulty ... ok [INFO] [stdout] test validator::genesis::tests::mainnet_genesis_block ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "99771a1b146cd2151d6e3db62745220db3c43b3d2568e496f1702ef64bc7f77f"` [INFO] running `"docker" "rm" "-f" "99771a1b146cd2151d6e3db62745220db3c43b3d2568e496f1702ef64bc7f77f"` [INFO] [stdout] 99771a1b146cd2151d6e3db62745220db3c43b3d2568e496f1702ef64bc7f77f