[INFO] updating cached repository ETCDEVTeam/sputnikvm-dev [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/ETCDEVTeam/sputnikvm-dev [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/ETCDEVTeam/sputnikvm-dev" "work/ex/clippy-test-run/sources/stable/gh/ETCDEVTeam/sputnikvm-dev"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/ETCDEVTeam/sputnikvm-dev'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/ETCDEVTeam/sputnikvm-dev" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ETCDEVTeam/sputnikvm-dev"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ETCDEVTeam/sputnikvm-dev'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 46a63e0866cdfdd3559f2cf9096478db9f5adb41 [INFO] sha for GitHub repo ETCDEVTeam/sputnikvm-dev: 46a63e0866cdfdd3559f2cf9096478db9f5adb41 [INFO] validating manifest of ETCDEVTeam/sputnikvm-dev 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 ETCDEVTeam/sputnikvm-dev 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 ETCDEVTeam/sputnikvm-dev [INFO] finished frobbing ETCDEVTeam/sputnikvm-dev [INFO] frobbed toml for ETCDEVTeam/sputnikvm-dev written to work/ex/clippy-test-run/sources/stable/gh/ETCDEVTeam/sputnikvm-dev/Cargo.toml [INFO] started frobbing ETCDEVTeam/sputnikvm-dev [INFO] finished frobbing ETCDEVTeam/sputnikvm-dev [INFO] frobbed toml for ETCDEVTeam/sputnikvm-dev written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ETCDEVTeam/sputnikvm-dev/Cargo.toml [INFO] crate ETCDEVTeam/sputnikvm-dev 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 ETCDEVTeam/sputnikvm-dev 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/gh/ETCDEVTeam/sputnikvm-dev:/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] 41b16eb2ce42e345018b43c2cb8407447be7be071b0ae4796196e70585bc1781 [INFO] running `"docker" "start" "-a" "41b16eb2ce42e345018b43c2cb8407447be7be071b0ae4796196e70585bc1781"` [INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other binary targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a binary target: [INFO] [stderr] [INFO] [stderr] * /opt/crater/workdir/src/main.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autobins = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] warning: path `/opt/crater/workdir/src/main.rs` was erroneously implicitly accepted for binary `svmdev`, [INFO] [stderr] please set bin.path in Cargo.toml [INFO] [stderr] Checking etcommon-rlp v0.2.3 [INFO] [stderr] Checking num-bigint v0.1.43 [INFO] [stderr] Checking generic-array v0.8.3 [INFO] [stderr] Checking bn-plus v0.4.4 [INFO] [stderr] Checking parking_lot v0.4.8 [INFO] [stderr] Checking secp256k1-plus v0.5.7 [INFO] [stderr] Checking globset v0.1.4 [INFO] [stderr] Checking env_logger v0.4.3 [INFO] [stderr] Checking jsonrpc-core v7.1.1 [INFO] [stderr] Checking digest v0.6.2 [INFO] [stderr] Checking block-buffer v0.2.0 [INFO] [stderr] Checking hyper v0.11.19 [INFO] [stderr] Checking etcommon-bigint v0.2.9 [INFO] [stderr] Checking sha3 v0.6.0 [INFO] [stderr] Checking ripemd160 v0.6.0 [INFO] [stderr] Checking sha2 v0.6.0 [INFO] [stderr] Checking jsonrpc-server-utils v7.1.1 [INFO] [stderr] Checking jsonrpc-pubsub v7.1.1 [INFO] [stderr] Checking etcommon-bloom v0.2.1 [INFO] [stderr] Checking etcommon-trie v0.3.11 [INFO] [stderr] Checking etcommon-block-core v0.1.0 [INFO] [stderr] Checking jsonrpc-macros-plus v7.1.4 [INFO] [stderr] Checking etcommon-block v0.3.4 [INFO] [stderr] Checking jsonrpc-http-server-plus v7.1.0 [INFO] [stderr] Checking sputnikvm v0.10.1 [INFO] [stderr] Checking sputnikvm-precompiled-bn128 v0.10.0 [INFO] [stderr] Checking sputnikvm-precompiled-modexp v0.10.0 [INFO] [stderr] Checking sputnikvm-stateful v0.10.0 [INFO] [stderr] Checking sputnikvm-network-classic v0.10.0 [INFO] [stderr] Checking sputnikvm-network-musicoin v0.10.0 [INFO] [stderr] Checking sputnikvm-network-ubiq v0.10.0 [INFO] [stderr] Checking sputnikvm-network-ellaism v0.10.0 [INFO] [stderr] Checking sputnikvm-network-foundation v0.10.0 [INFO] [stderr] Checking sputnikvm-network-expanse v0.10.0 [INFO] [stderr] Checking sputnikvm-dev v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/miner/mod.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | state_root: state_root, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `state_root` [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/rpc/util.rs:284:17 [INFO] [stderr] | [INFO] [stderr] 284 | code: code, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [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/miner/mod.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | state_root: state_root, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `state_root` [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/rpc/util.rs:284:17 [INFO] [stderr] | [INFO] [stderr] 284 | code: code, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `rlp` [INFO] [stderr] --> src/miner/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use rlp; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Account`, `UnsignedTransaction` [INFO] [stderr] --> src/miner/mod.rs:2:29 [INFO] [stderr] | [INFO] [stderr] 2 | use block::{Receipt, Block, UnsignedTransaction, Transaction, TransactionAction, Log, FromKey, Header, Account, ommers_hash, transactions_root, receipts_root, RlpHash}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MemoryDatabaseGuard`, `Trie` [INFO] [stderr] --> src/miner/mod.rs:3:38 [INFO] [stderr] | [INFO] [stderr] 3 | use trie::{MemoryDatabase, Database, MemoryDatabaseGuard, Trie}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `M256` [INFO] [stderr] --> src/miner/mod.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | use bigint::{H256, M256, U256, H64, B256, Gas, Address}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `secp256k1::SECP256K1` [INFO] [stderr] --> src/miner/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use secp256k1::SECP256K1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PublicKey` [INFO] [stderr] --> src/miner/mod.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | use secp256k1::key::{PublicKey, SecretKey}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/miner/mod.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/miner/mod.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Sender`, `channel` [INFO] [stderr] --> src/miner/mod.rs:14:23 [INFO] [stderr] | [INFO] [stderr] 14 | use std::sync::mpsc::{channel, Sender, Receiver}; [INFO] [stderr] | ^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AccountChange`, `AccountCommitment`, `AccountState` [INFO] [stderr] --> src/miner/mod.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | use sputnikvm::{AccountChange, ValidTransaction, Patch, AccountCommitment, AccountState, HeaderParams, SeqTransactionVM, VM, VMStatus}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sputnikvm::errors::RequireError` [INFO] [stderr] --> src/miner/mod.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use sputnikvm::errors::RequireError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::os::OsRng` [INFO] [stderr] --> src/miner/mod.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | use rand::os::OsRng; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Keccak256` [INFO] [stderr] --> src/miner/mod.rs:20:20 [INFO] [stderr] | [INFO] [stderr] 20 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Account`, `FromKey`, `Header`, `Log`, `TransactionAction`, `UnsignedTransaction` [INFO] [stderr] --> src/miner/state.rs:4:42 [INFO] [stderr] | [INFO] [stderr] 4 | use block::{Receipt, Block, TotalHeader, UnsignedTransaction, Transaction, TransactionAction, Log, FromKey, Header, Account}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MemoryDatabaseGuard`, `Trie` [INFO] [stderr] --> src/miner/state.rs:5:28 [INFO] [stderr] | [INFO] [stderr] 5 | use trie::{MemoryDatabase, MemoryDatabaseGuard, Trie}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `B256`, `Gas`, `H64` [INFO] [stderr] --> src/miner/state.rs:6:32 [INFO] [stderr] | [INFO] [stderr] 6 | use bigint::{H256, M256, U256, H64, B256, Gas, Address}; [INFO] [stderr] | ^^^ ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MutexGuard`, `Mutex` [INFO] [stderr] --> src/miner/state.rs:13:17 [INFO] [stderr] | [INFO] [stderr] 13 | use std::sync::{Mutex, MutexGuard}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/miner/state.rs:14:33 [INFO] [stderr] | [INFO] [stderr] 14 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/miner/mod.rs:115:38 [INFO] [stderr] | [INFO] [stderr] 115 | gas_limit: Gas::from(100000usize), [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `100_000usize` [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: unused imports: `Params`, `self` [INFO] [stderr] --> src/rpc/mod.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | use jsonrpc_core::{self, IoHandler, Params}; [INFO] [stderr] | ^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde::Serialize` [INFO] [stderr] --> src/rpc/mod.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use serde::Serialize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde::de::DeserializeOwned` [INFO] [stderr] --> src/rpc/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use serde::de::DeserializeOwned; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Value`, `self` [INFO] [stderr] --> src/rpc/mod.rs:7:18 [INFO] [stderr] | [INFO] [stderr] 7 | use serde_json::{self, Value}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Receiver`, `channel` [INFO] [stderr] --> src/rpc/mod.rs:11:23 [INFO] [stderr] | [INFO] [stderr] 11 | use std::sync::mpsc::{channel, Sender, Receiver}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `RPCStep` [INFO] [stderr] --> src/rpc/serves.rs:1:81 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{EthereumRPC, FilterRPC, DebugRPC, Either, RPCTransaction, RPCTrace, RPCStep, RPCBlock, RPCLog, RPCReceipt, RPCLogFilter, RPCBlockTrace, RPCDump, RPCDumpAccount, RPCTraceConfig}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::solidity::*` [INFO] [stderr] --> src/rpc/serves.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use super::solidity::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `H2048` [INFO] [stderr] --> src/rpc/serves.rs:11:32 [INFO] [stderr] | [INFO] [stderr] 11 | use bigint::{M256, U256, H256, H2048, Address, Gas}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `read_hex`, `to_hex` [INFO] [stderr] --> src/rpc/serves.rs:12:15 [INFO] [stderr] | [INFO] [stderr] 12 | use hexutil::{read_hex, to_hex}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Log`, `Receipt`, `TotalHeader`, `TransactionAction`, `UnsignedTransaction` [INFO] [stderr] --> src/rpc/serves.rs:13:20 [INFO] [stderr] | [INFO] [stderr] 13 | use block::{Block, TotalHeader, Account, Log, Receipt, FromKey, Transaction, UnsignedTransaction, TransactionAction}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AccountChange`, `MachineStatus`, `Memory`, `VMStatus`, `ValidTransaction` [INFO] [stderr] --> src/rpc/serves.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | use sputnikvm::{AccountChange, ValidTransaction, SeqTransactionVM, VM, VMStatus, Memory, MachineStatus, HeaderParams, Patch}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Receiver`, `channel` [INFO] [stderr] --> src/rpc/serves.rs:20:23 [INFO] [stderr] | [INFO] [stderr] 20 | use std::sync::mpsc::{channel, Sender, Receiver}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `U256` [INFO] [stderr] --> src/rpc/filter.rs:1:29 [INFO] [stderr] | [INFO] [stderr] 1 | use bigint::{Address, H256, U256}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `hexutil::*` [INFO] [stderr] --> src/rpc/filter.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use hexutil::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Receipt` [INFO] [stderr] --> src/rpc/filter.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | use block::{Log, Receipt}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/rpc/filter.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rpc/filter.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | return Ok(ret); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ret)` [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 import: `UntrustedRlp` [INFO] [stderr] --> src/rpc/util.rs:8:17 [INFO] [stderr] | [INFO] [stderr] 8 | use rlp::{self, UntrustedRlp}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `to_hex` [INFO] [stderr] --> src/rpc/util.rs:10:25 [INFO] [stderr] | [INFO] [stderr] 10 | use hexutil::{read_hex, to_hex}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Log` [INFO] [stderr] --> src/rpc/util.rs:11:42 [INFO] [stderr] | [INFO] [stderr] 11 | use block::{Block, TotalHeader, Account, Log, Receipt, FromKey, Transaction, UnsignedTransaction, TransactionAction, GlobalSignaturePatch, RlpHash}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/rpc/util.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `jsonrpc_macros::Trailing` [INFO] [stderr] --> src/rpc/util.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use jsonrpc_macros::Trailing; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rpc/solidity.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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: `miner::MinerState` [INFO] [stderr] --> src/main.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | use miner::MinerState; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PublicKey` [INFO] [stderr] --> src/main.rs:48:22 [INFO] [stderr] | [INFO] [stderr] 48 | use secp256k1::key::{PublicKey, SecretKey}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Receiver`, `Sender` [INFO] [stderr] --> src/main.rs:55:32 [INFO] [stderr] | [INFO] [stderr] 55 | use std::sync::mpsc::{channel, Sender, Receiver}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rlp` [INFO] [stderr] --> src/miner/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use rlp; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Account`, `UnsignedTransaction` [INFO] [stderr] --> src/miner/mod.rs:2:29 [INFO] [stderr] | [INFO] [stderr] 2 | use block::{Receipt, Block, UnsignedTransaction, Transaction, TransactionAction, Log, FromKey, Header, Account, ommers_hash, transactions_root, receipts_root, RlpHash}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MemoryDatabaseGuard`, `Trie` [INFO] [stderr] --> src/miner/mod.rs:3:38 [INFO] [stderr] | [INFO] [stderr] 3 | use trie::{MemoryDatabase, Database, MemoryDatabaseGuard, Trie}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `M256` [INFO] [stderr] --> src/miner/mod.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | use bigint::{H256, M256, U256, H64, B256, Gas, Address}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `secp256k1::SECP256K1` [INFO] [stderr] --> src/miner/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use secp256k1::SECP256K1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PublicKey` [INFO] [stderr] --> src/miner/mod.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | use secp256k1::key::{PublicKey, SecretKey}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/miner/mod.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/miner/mod.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Sender`, `channel` [INFO] [stderr] --> src/miner/mod.rs:14:23 [INFO] [stderr] | [INFO] [stderr] 14 | use std::sync::mpsc::{channel, Sender, Receiver}; [INFO] [stderr] | ^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AccountChange`, `AccountCommitment`, `AccountState` [INFO] [stderr] --> src/miner/mod.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | use sputnikvm::{AccountChange, ValidTransaction, Patch, AccountCommitment, AccountState, HeaderParams, SeqTransactionVM, VM, VMStatus}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `sputnikvm::errors::RequireError` [INFO] [stderr] --> src/miner/mod.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use sputnikvm::errors::RequireError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::os::OsRng` [INFO] [stderr] --> src/miner/mod.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | use rand::os::OsRng; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Keccak256` [INFO] [stderr] --> src/miner/mod.rs:20:20 [INFO] [stderr] | [INFO] [stderr] 20 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Account`, `FromKey`, `Header`, `Log`, `TransactionAction`, `UnsignedTransaction` [INFO] [stderr] --> src/miner/state.rs:4:42 [INFO] [stderr] | [INFO] [stderr] 4 | use block::{Receipt, Block, TotalHeader, UnsignedTransaction, Transaction, TransactionAction, Log, FromKey, Header, Account}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MemoryDatabaseGuard`, `Trie` [INFO] [stderr] --> src/miner/state.rs:5:28 [INFO] [stderr] | [INFO] [stderr] 5 | use trie::{MemoryDatabase, MemoryDatabaseGuard, Trie}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `B256`, `Gas`, `H64` [INFO] [stderr] --> src/miner/state.rs:6:32 [INFO] [stderr] | [INFO] [stderr] 6 | use bigint::{H256, M256, U256, H64, B256, Gas, Address}; [INFO] [stderr] | ^^^ ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MutexGuard`, `Mutex` [INFO] [stderr] --> src/miner/state.rs:13:17 [INFO] [stderr] | [INFO] [stderr] 13 | use std::sync::{Mutex, MutexGuard}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/miner/state.rs:14:33 [INFO] [stderr] | [INFO] [stderr] 14 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/miner/mod.rs:115:38 [INFO] [stderr] | [INFO] [stderr] 115 | gas_limit: Gas::from(100000usize), [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `100_000usize` [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: unused imports: `Params`, `self` [INFO] [stderr] --> src/rpc/mod.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | use jsonrpc_core::{self, IoHandler, Params}; [INFO] [stderr] | ^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde::Serialize` [INFO] [stderr] --> src/rpc/mod.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use serde::Serialize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde::de::DeserializeOwned` [INFO] [stderr] --> src/rpc/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use serde::de::DeserializeOwned; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Value`, `self` [INFO] [stderr] --> src/rpc/mod.rs:7:18 [INFO] [stderr] | [INFO] [stderr] 7 | use serde_json::{self, Value}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Receiver`, `channel` [INFO] [stderr] --> src/rpc/mod.rs:11:23 [INFO] [stderr] | [INFO] [stderr] 11 | use std::sync::mpsc::{channel, Sender, Receiver}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `RPCStep` [INFO] [stderr] --> src/rpc/serves.rs:1:81 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{EthereumRPC, FilterRPC, DebugRPC, Either, RPCTransaction, RPCTrace, RPCStep, RPCBlock, RPCLog, RPCReceipt, RPCLogFilter, RPCBlockTrace, RPCDump, RPCDumpAccount, RPCTraceConfig}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::solidity::*` [INFO] [stderr] --> src/rpc/serves.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use super::solidity::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `H2048` [INFO] [stderr] --> src/rpc/serves.rs:11:32 [INFO] [stderr] | [INFO] [stderr] 11 | use bigint::{M256, U256, H256, H2048, Address, Gas}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `read_hex`, `to_hex` [INFO] [stderr] --> src/rpc/serves.rs:12:15 [INFO] [stderr] | [INFO] [stderr] 12 | use hexutil::{read_hex, to_hex}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Log`, `Receipt`, `TotalHeader`, `TransactionAction`, `UnsignedTransaction` [INFO] [stderr] --> src/rpc/serves.rs:13:20 [INFO] [stderr] | [INFO] [stderr] 13 | use block::{Block, TotalHeader, Account, Log, Receipt, FromKey, Transaction, UnsignedTransaction, TransactionAction}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AccountChange`, `MachineStatus`, `Memory`, `VMStatus`, `ValidTransaction` [INFO] [stderr] --> src/rpc/serves.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | use sputnikvm::{AccountChange, ValidTransaction, SeqTransactionVM, VM, VMStatus, Memory, MachineStatus, HeaderParams, Patch}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Receiver`, `channel` [INFO] [stderr] --> src/rpc/serves.rs:20:23 [INFO] [stderr] | [INFO] [stderr] 20 | use std::sync::mpsc::{channel, Sender, Receiver}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `U256` [INFO] [stderr] --> src/rpc/filter.rs:1:29 [INFO] [stderr] | [INFO] [stderr] 1 | use bigint::{Address, H256, U256}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `hexutil::*` [INFO] [stderr] --> src/rpc/filter.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use hexutil::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Receipt` [INFO] [stderr] --> src/rpc/filter.rs:3:18 [INFO] [stderr] | [INFO] [stderr] 3 | use block::{Log, Receipt}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/rpc/filter.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rpc/filter.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | return Ok(ret); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ret)` [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 import: `UntrustedRlp` [INFO] [stderr] --> src/rpc/util.rs:8:17 [INFO] [stderr] | [INFO] [stderr] 8 | use rlp::{self, UntrustedRlp}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `to_hex` [INFO] [stderr] --> src/rpc/util.rs:10:25 [INFO] [stderr] | [INFO] [stderr] 10 | use hexutil::{read_hex, to_hex}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Log` [INFO] [stderr] --> src/rpc/util.rs:11:42 [INFO] [stderr] | [INFO] [stderr] 11 | use block::{Block, TotalHeader, Account, Log, Receipt, FromKey, Transaction, UnsignedTransaction, TransactionAction, GlobalSignaturePatch, RlpHash}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/rpc/util.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `jsonrpc_macros::Trailing` [INFO] [stderr] --> src/rpc/util.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use jsonrpc_macros::Trailing; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rpc/solidity.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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: `miner::MinerState` [INFO] [stderr] --> src/main.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | use miner::MinerState; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PublicKey` [INFO] [stderr] --> src/main.rs:48:22 [INFO] [stderr] | [INFO] [stderr] 48 | use secp256k1::key::{PublicKey, SecretKey}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Receiver`, `Sender` [INFO] [stderr] --> src/main.rs:55:32 [INFO] [stderr] | [INFO] [stderr] 55 | use std::sync::mpsc::{channel, Sender, Receiver}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/miner/mod.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `EthereumRPC` [INFO] [stderr] --> src/rpc/util.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{EthereumRPC, Either, RPCStep, RPCTransaction, RPCBlock, RPCLog, RPCReceipt, RPCTopicFilter, RPCLogFilter, RPCTraceConfig, RPCBreakpointConfig, RPCSourceMapConfig}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/miner/mod.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | let vm: SeqTransactionVM

= { [INFO] [stderr] | ^^ help: consider using `_vm` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `balance` [INFO] [stderr] --> src/miner/mod.rs:135:22 [INFO] [stderr] | [INFO] [stderr] 135 | for (secret_key, balance) in genesis_accounts { [INFO] [stderr] | ^^^^^^^ help: consider using `_balance` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/error.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | fn from(val: PreExecutionError) -> Error { [INFO] [stderr] | ^^^ help: consider using `_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/error.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | fn from(val: DecoderError) -> Error { [INFO] [stderr] | ^^^ help: consider using `_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/error.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | fn from(val: ParseHexError) -> Error { [INFO] [stderr] | ^^^ help: consider using `_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/error.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | fn from(val: ParseIntError) -> Error { [INFO] [stderr] | ^^^ help: consider using `_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/error.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | fn from(val: secp256k1::Error) -> Error { [INFO] [stderr] | ^^^ help: consider using `_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/miner/state.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let value = rlp::encode(&genesis).to_vec(); [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/miner/state.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | let value = rlp::encode(&block).to_vec(); [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `valid` [INFO] [stderr] --> src/rpc/serves.rs:306:14 [INFO] [stderr] | [INFO] [stderr] 306 | let (valid, transaction) = { [INFO] [stderr] | ^^^^^ help: consider using `_valid` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/miner/state.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | let mut transaction_block_hashes = HashMap::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: variant is never constructed: `UnsupportedTrieQuery` [INFO] [stderr] --> src/error.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | UnsupportedTrieQuery, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_total_header_by_number` [INFO] [stderr] --> src/miner/state.rs:205:5 [INFO] [stderr] | [INFO] [stderr] 205 | pub fn get_total_header_by_number(&self, index: usize) -> TotalHeader { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/miner/state.rs:46:17 [INFO] [stderr] | [INFO] [stderr] 46 | assert!(genesis.transactions.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `genesis.transactions.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/miner/state.rs:90:31 [INFO] [stderr] | [INFO] [stderr] 90 | transactions.push(self.transaction_database.get(&hash).unwrap().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.transaction_database[&hash]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/miner/state.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | assert!(self.block_hashes.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.block_hashes.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/miner/state.rs:111:22 [INFO] [stderr] | [INFO] [stderr] 111 | let parent = self.total_header_database.get(&parent_hash).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.total_header_database[&parent_hash]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/miner/state.rs:134:63 [INFO] [stderr] | [INFO] [stderr] 134 | let fat_storage = database.entry(address).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/miner/state.rs:145:45 [INFO] [stderr] | [INFO] [stderr] 145 | database.entry(address).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/miner/state.rs:152:63 [INFO] [stderr] | [INFO] [stderr] 152 | let fat_storage = database.entry(address).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/miner/state.rs:182:9 [INFO] [stderr] | [INFO] [stderr] 182 | self.transaction_block_hashes.get(&key).map(|v| v.clone()).ok_or(Error::NotFound) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.transaction_block_hashes.get(&key).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/miner/state.rs:182:57 [INFO] [stderr] | [INFO] [stderr] 182 | self.transaction_block_hashes.get(&key).map(|v| v.clone()).ok_or(Error::NotFound) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*v` [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] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/miner/state.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | self.block_database.get(&key).map(|v| v.clone()).ok_or(Error::NotFound) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.block_database.get(&key).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/miner/state.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | self.transaction_database.get(&key).map(|v| v.clone()).ok_or(Error::NotFound) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.transaction_database.get(&key).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/miner/state.rs:194:9 [INFO] [stderr] | [INFO] [stderr] 194 | self.receipt_database.get(&key).map(|v| v.clone()).ok_or(Error::NotFound) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.receipt_database.get(&key).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/miner/state.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | self.total_header_database.get(&key).map(|v| v.clone()).ok_or(Error::NotFound) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.total_header_database.get(&key).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/miner/state.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | self.total_header_database.get(&self.block_hashes[index]).map(|v| v.clone()).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.total_header_database.get(&self.block_hashes[index]).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/miner/mod.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | fn next<'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/miner/mod.rs:44:31 [INFO] [stderr] | [INFO] [stderr] 44 | gas_used = gas_used + receipts[i].used_gas.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `receipts[i].used_gas` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/miner/mod.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | use sha3::{Digest, Keccak256}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `EthereumRPC` [INFO] [stderr] --> src/rpc/util.rs:1:13 [INFO] [stderr] | [INFO] [stderr] 1 | use super::{EthereumRPC, Either, RPCStep, RPCTransaction, RPCBlock, RPCLog, RPCReceipt, RPCTopicFilter, RPCLogFilter, RPCTraceConfig, RPCBreakpointConfig, RPCSourceMapConfig}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/miner/mod.rs:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | channel.recv_timeout(Duration::new(10, 0)); [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] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/miner/mod.rs:196:23 [INFO] [stderr] | [INFO] [stderr] 196 | used_gas: used_gas.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `used_gas` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/rpc/serves.rs:169:63 [INFO] [stderr] | [INFO] [stderr] 169 | let value = storage.get(&H256::from(index.0)).unwrap_or(M256::zero()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(M256::zero)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:204:34 [INFO] [stderr] | [INFO] [stderr] 204 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:216:34 [INFO] [stderr] | [INFO] [stderr] 216 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:229:34 [INFO] [stderr] | [INFO] [stderr] 229 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:241:34 [INFO] [stderr] | [INFO] [stderr] 241 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/rpc/serves.rs:315:9 [INFO] [stderr] | [INFO] [stderr] 315 | self.channel.send(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/rpc/serves.rs:331:9 [INFO] [stderr] | [INFO] [stderr] 331 | self.channel.send(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:375:34 [INFO] [stderr] | [INFO] [stderr] 375 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:380:34 [INFO] [stderr] | [INFO] [stderr] 380 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:392:34 [INFO] [stderr] | [INFO] [stderr] 392 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:398:34 [INFO] [stderr] | [INFO] [stderr] 398 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:410:34 [INFO] [stderr] | [INFO] [stderr] 410 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:426:34 [INFO] [stderr] | [INFO] [stderr] 426 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:442:34 [INFO] [stderr] | [INFO] [stderr] 442 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:459:34 [INFO] [stderr] | [INFO] [stderr] 459 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:465:34 [INFO] [stderr] | [INFO] [stderr] 465 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:470:34 [INFO] [stderr] | [INFO] [stderr] 470 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:488:34 [INFO] [stderr] | [INFO] [stderr] 488 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:494:34 [INFO] [stderr] | [INFO] [stderr] 494 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:499:34 [INFO] [stderr] | [INFO] [stderr] 499 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:511:34 [INFO] [stderr] | [INFO] [stderr] 511 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:519:34 [INFO] [stderr] | [INFO] [stderr] 519 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:524:34 [INFO] [stderr] | [INFO] [stderr] 524 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/rpc/serves.rs:592:22 [INFO] [stderr] | [INFO] [stderr] 592 | let config = config.unwrap_or(RPCTraceConfig::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/rpc/serves.rs:623:22 [INFO] [stderr] | [INFO] [stderr] 623 | let config = config.unwrap_or(RPCTraceConfig::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/rpc/serves.rs:649:22 [INFO] [stderr] | [INFO] [stderr] 649 | let config = config.unwrap_or(RPCTraceConfig::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/rpc/serves.rs:678:22 [INFO] [stderr] | [INFO] [stderr] 678 | let config = config.unwrap_or(RPCTraceConfig::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/rpc/serves.rs:707:22 [INFO] [stderr] | [INFO] [stderr] 707 | let config = config.unwrap_or(RPCTraceConfig::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rpc/filter.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / match filter { [INFO] [stderr] 41 | | &TopicFilter::All => true, [INFO] [stderr] 42 | | &TopicFilter::Or(ref hashes) => { [INFO] [stderr] 43 | | if log.topics.len() >= index { [INFO] [stderr] ... | [INFO] [stderr] 54 | | }, [INFO] [stderr] 55 | | } [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] 40 | match *filter { [INFO] [stderr] 41 | TopicFilter::All => true, [INFO] [stderr] 42 | TopicFilter::Or(ref hashes) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/rpc/filter.rs:108:28 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn from_log_filter(&self, log: RPCLogFilter) -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rpc/filter.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | / match filter { [INFO] [stderr] 151 | | &Filter::Log(ref filter) => { [INFO] [stderr] 152 | | let ret = get_logs(&state, filter.clone())?; [INFO] [stderr] 153 | | Ok(ret) [INFO] [stderr] 154 | | }, [INFO] [stderr] 155 | | _ => Err(Error::NotFound), [INFO] [stderr] 156 | | } [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] 150 | match *filter { [INFO] [stderr] 151 | Filter::Log(ref filter) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rpc/filter.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | / match filter { [INFO] [stderr] 164 | | &mut Filter::PendingTransaction(ref mut next_start) => { [INFO] [stderr] 165 | | let pending_transactions = state.all_pending_transaction_hashes(); [INFO] [stderr] 166 | | let mut ret = Vec::new(); [INFO] [stderr] ... | [INFO] [stderr] 186 | | }, [INFO] [stderr] 187 | | } [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] 163 | match *filter { [INFO] [stderr] 164 | Filter::PendingTransaction(ref mut next_start) => { [INFO] [stderr] 165 | let pending_transactions = state.all_pending_transaction_hashes(); [INFO] [stderr] 166 | let mut ret = Vec::new(); [INFO] [stderr] 167 | while *next_start < pending_transactions.len() { [INFO] [stderr] 168 | ret.push(format!("0x{:x}", &pending_transactions[*next_start])); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/rpc/util.rs:93:18 [INFO] [stderr] | [INFO] [stderr] 93 | for i in 0..(transaction_index + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=transaction_index` [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: redundant closure found [INFO] [stderr] --> src/rpc/util.rs:115:48 [INFO] [stderr] | [INFO] [stderr] 115 | contract_address: contract_address.map(|v| Hex(v)), [INFO] [stderr] | ^^^^^^^^^^ help: remove closure as shown: `Hex` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vm` [INFO] [stderr] --> src/miner/mod.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | let vm: SeqTransactionVM

= { [INFO] [stderr] | ^^ help: consider using `_vm` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `balance` [INFO] [stderr] --> src/miner/mod.rs:135:22 [INFO] [stderr] | [INFO] [stderr] 135 | for (secret_key, balance) in genesis_accounts { [INFO] [stderr] | ^^^^^^^ help: consider using `_balance` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/error.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | fn from(val: PreExecutionError) -> Error { [INFO] [stderr] | ^^^ help: consider using `_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/error.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | fn from(val: DecoderError) -> Error { [INFO] [stderr] | ^^^ help: consider using `_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/error.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | fn from(val: ParseHexError) -> Error { [INFO] [stderr] | ^^^ help: consider using `_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/error.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | fn from(val: ParseIntError) -> Error { [INFO] [stderr] | ^^^ help: consider using `_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `val` [INFO] [stderr] --> src/error.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | fn from(val: secp256k1::Error) -> Error { [INFO] [stderr] | ^^^ help: consider using `_val` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/miner/state.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let value = rlp::encode(&genesis).to_vec(); [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/miner/state.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | let value = rlp::encode(&block).to_vec(); [INFO] [stderr] | ^^^^^ help: consider using `_value` instead [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/rpc/util.rs:235:63 [INFO] [stderr] | [INFO] [stderr] 235 | account.as_ref().map(|account| account.nonce).unwrap_or(U256::zero()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(U256::zero)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: unused variable: `valid` [INFO] [stderr] --> src/rpc/serves.rs:306:14 [INFO] [stderr] | [INFO] [stderr] 306 | let (valid, transaction) = { [INFO] [stderr] | ^^^^^ help: consider using `_valid` instead [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rpc/util.rs:416:29 [INFO] [stderr] | [INFO] [stderr] 416 | / match account { [INFO] [stderr] 417 | | &AccountChange::Full { address, ref changing_storage, .. } => { [INFO] [stderr] 418 | | if address == context_address { [INFO] [stderr] 419 | | for_storage = Some(changing_storage.clone()); [INFO] [stderr] ... | [INFO] [stderr] 427 | | _ => (), [INFO] [stderr] 428 | | } [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] 416 | match *account { [INFO] [stderr] 417 | AccountChange::Full { address, ref changing_storage, .. } => { [INFO] [stderr] 418 | if address == context_address { [INFO] [stderr] 419 | for_storage = Some(changing_storage.clone()); [INFO] [stderr] 420 | } [INFO] [stderr] 421 | }, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/rpc/util.rs:442:21 [INFO] [stderr] | [INFO] [stderr] 442 | / if let &Some(RPCBreakpointConfig { [INFO] [stderr] 443 | | ref source_map, ref breakpoints [INFO] [stderr] 444 | | }) = &config.breakpoints { [INFO] [stderr] 445 | | if let Some(&RPCSourceMapConfig { ref source_map, ref source_list }) = [INFO] [stderr] ... | [INFO] [stderr] 487 | | }); [INFO] [stderr] 488 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 442 | if let Some(RPCBreakpointConfig { [INFO] [stderr] 443 | ref source_map, ref breakpoints [INFO] [stderr] 444 | }) = config.breakpoints { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/miner/state.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | let mut transaction_block_hashes = HashMap::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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | env_logger::init(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/main.rs:149:1 [INFO] [stderr] | [INFO] [stderr] 149 | / fn with_patch<'a, P: 'static + Patch + Send>(matches: clap::ArgMatches<'a>) { [INFO] [stderr] 150 | | let mut rng = OsRng::new().unwrap(); [INFO] [stderr] 151 | | [INFO] [stderr] 152 | | let secret_key = match matches.value_of("PRIVATE_KEY") { [INFO] [stderr] ... | [INFO] [stderr] 226 | | sender); [INFO] [stderr] 227 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnsupportedTrieQuery` [INFO] [stderr] --> src/error.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | UnsupportedTrieQuery, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_total_header_by_number` [INFO] [stderr] --> src/miner/state.rs:205:5 [INFO] [stderr] | [INFO] [stderr] 205 | pub fn get_total_header_by_number(&self, index: usize) -> TotalHeader { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/miner/state.rs:46:17 [INFO] [stderr] | [INFO] [stderr] 46 | assert!(genesis.transactions.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `genesis.transactions.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/miner/state.rs:90:31 [INFO] [stderr] | [INFO] [stderr] 90 | transactions.push(self.transaction_database.get(&hash).unwrap().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.transaction_database[&hash]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/miner/state.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | assert!(self.block_hashes.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.block_hashes.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/miner/state.rs:111:22 [INFO] [stderr] | [INFO] [stderr] 111 | let parent = self.total_header_database.get(&parent_hash).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.total_header_database[&parent_hash]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/miner/state.rs:134:63 [INFO] [stderr] | [INFO] [stderr] 134 | let fat_storage = database.entry(address).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/miner/state.rs:145:45 [INFO] [stderr] | [INFO] [stderr] 145 | database.entry(address).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/miner/state.rs:152:63 [INFO] [stderr] | [INFO] [stderr] 152 | let fat_storage = database.entry(address).or_insert(HashMap::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(HashMap::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/miner/state.rs:182:9 [INFO] [stderr] | [INFO] [stderr] 182 | self.transaction_block_hashes.get(&key).map(|v| v.clone()).ok_or(Error::NotFound) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.transaction_block_hashes.get(&key).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/miner/state.rs:182:57 [INFO] [stderr] | [INFO] [stderr] 182 | self.transaction_block_hashes.get(&key).map(|v| v.clone()).ok_or(Error::NotFound) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*v` [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] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/miner/state.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | self.block_database.get(&key).map(|v| v.clone()).ok_or(Error::NotFound) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.block_database.get(&key).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/miner/state.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | self.transaction_database.get(&key).map(|v| v.clone()).ok_or(Error::NotFound) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.transaction_database.get(&key).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/miner/state.rs:194:9 [INFO] [stderr] | [INFO] [stderr] 194 | self.receipt_database.get(&key).map(|v| v.clone()).ok_or(Error::NotFound) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.receipt_database.get(&key).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/miner/state.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | self.total_header_database.get(&key).map(|v| v.clone()).ok_or(Error::NotFound) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.total_header_database.get(&key).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/miner/state.rs:206:9 [INFO] [stderr] | [INFO] [stderr] 206 | self.total_header_database.get(&self.block_hashes[index]).map(|v| v.clone()).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.total_header_database.get(&self.block_hashes[index]).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/miner/mod.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | fn next<'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/miner/mod.rs:44:31 [INFO] [stderr] | [INFO] [stderr] 44 | gas_used = gas_used + receipts[i].used_gas.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `receipts[i].used_gas` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/miner/mod.rs:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | channel.recv_timeout(Duration::new(10, 0)); [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] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/miner/mod.rs:196:23 [INFO] [stderr] | [INFO] [stderr] 196 | used_gas: used_gas.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `used_gas` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/rpc/serves.rs:169:63 [INFO] [stderr] | [INFO] [stderr] 169 | let value = storage.get(&H256::from(index.0)).unwrap_or(M256::zero()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(M256::zero)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:204:34 [INFO] [stderr] | [INFO] [stderr] 204 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:216:34 [INFO] [stderr] | [INFO] [stderr] 216 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:229:34 [INFO] [stderr] | [INFO] [stderr] 229 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:241:34 [INFO] [stderr] | [INFO] [stderr] 241 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/rpc/serves.rs:315:9 [INFO] [stderr] | [INFO] [stderr] 315 | self.channel.send(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/rpc/serves.rs:331:9 [INFO] [stderr] | [INFO] [stderr] 331 | self.channel.send(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:375:34 [INFO] [stderr] | [INFO] [stderr] 375 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:380:34 [INFO] [stderr] | [INFO] [stderr] 380 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:392:34 [INFO] [stderr] | [INFO] [stderr] 392 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:398:34 [INFO] [stderr] | [INFO] [stderr] 398 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:410:34 [INFO] [stderr] | [INFO] [stderr] 410 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:426:34 [INFO] [stderr] | [INFO] [stderr] 426 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:442:34 [INFO] [stderr] | [INFO] [stderr] 442 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:459:34 [INFO] [stderr] | [INFO] [stderr] 459 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:465:34 [INFO] [stderr] | [INFO] [stderr] 465 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:470:34 [INFO] [stderr] | [INFO] [stderr] 470 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:488:34 [INFO] [stderr] | [INFO] [stderr] 488 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:494:34 [INFO] [stderr] | [INFO] [stderr] 494 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:499:34 [INFO] [stderr] | [INFO] [stderr] 499 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:511:34 [INFO] [stderr] | [INFO] [stderr] 511 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:519:34 [INFO] [stderr] | [INFO] [stderr] 519 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/rpc/serves.rs:524:34 [INFO] [stderr] | [INFO] [stderr] 524 | Err(e) => return Err(e.into()), [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/rpc/serves.rs:592:22 [INFO] [stderr] | [INFO] [stderr] 592 | let config = config.unwrap_or(RPCTraceConfig::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/rpc/serves.rs:623:22 [INFO] [stderr] | [INFO] [stderr] 623 | let config = config.unwrap_or(RPCTraceConfig::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/rpc/serves.rs:649:22 [INFO] [stderr] | [INFO] [stderr] 649 | let config = config.unwrap_or(RPCTraceConfig::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/rpc/serves.rs:678:22 [INFO] [stderr] | [INFO] [stderr] 678 | let config = config.unwrap_or(RPCTraceConfig::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/rpc/serves.rs:707:22 [INFO] [stderr] | [INFO] [stderr] 707 | let config = config.unwrap_or(RPCTraceConfig::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rpc/filter.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / match filter { [INFO] [stderr] 41 | | &TopicFilter::All => true, [INFO] [stderr] 42 | | &TopicFilter::Or(ref hashes) => { [INFO] [stderr] 43 | | if log.topics.len() >= index { [INFO] [stderr] ... | [INFO] [stderr] 54 | | }, [INFO] [stderr] 55 | | } [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] 40 | match *filter { [INFO] [stderr] 41 | TopicFilter::All => true, [INFO] [stderr] 42 | TopicFilter::Or(ref hashes) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/rpc/filter.rs:108:28 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn from_log_filter(&self, log: RPCLogFilter) -> Result { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rpc/filter.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | / match filter { [INFO] [stderr] 151 | | &Filter::Log(ref filter) => { [INFO] [stderr] 152 | | let ret = get_logs(&state, filter.clone())?; [INFO] [stderr] 153 | | Ok(ret) [INFO] [stderr] 154 | | }, [INFO] [stderr] 155 | | _ => Err(Error::NotFound), [INFO] [stderr] 156 | | } [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] 150 | match *filter { [INFO] [stderr] 151 | Filter::Log(ref filter) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rpc/filter.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | / match filter { [INFO] [stderr] 164 | | &mut Filter::PendingTransaction(ref mut next_start) => { [INFO] [stderr] 165 | | let pending_transactions = state.all_pending_transaction_hashes(); [INFO] [stderr] 166 | | let mut ret = Vec::new(); [INFO] [stderr] ... | [INFO] [stderr] 186 | | }, [INFO] [stderr] 187 | | } [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] 163 | match *filter { [INFO] [stderr] 164 | Filter::PendingTransaction(ref mut next_start) => { [INFO] [stderr] 165 | let pending_transactions = state.all_pending_transaction_hashes(); [INFO] [stderr] 166 | let mut ret = Vec::new(); [INFO] [stderr] 167 | while *next_start < pending_transactions.len() { [INFO] [stderr] 168 | ret.push(format!("0x{:x}", &pending_transactions[*next_start])); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/rpc/util.rs:93:18 [INFO] [stderr] | [INFO] [stderr] 93 | for i in 0..(transaction_index + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=transaction_index` [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: redundant closure found [INFO] [stderr] --> src/rpc/util.rs:115:48 [INFO] [stderr] | [INFO] [stderr] 115 | contract_address: contract_address.map(|v| Hex(v)), [INFO] [stderr] | ^^^^^^^^^^ help: remove closure as shown: `Hex` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/rpc/util.rs:235:63 [INFO] [stderr] | [INFO] [stderr] 235 | account.as_ref().map(|account| account.nonce).unwrap_or(U256::zero()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(U256::zero)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rpc/util.rs:416:29 [INFO] [stderr] | [INFO] [stderr] 416 | / match account { [INFO] [stderr] 417 | | &AccountChange::Full { address, ref changing_storage, .. } => { [INFO] [stderr] 418 | | if address == context_address { [INFO] [stderr] 419 | | for_storage = Some(changing_storage.clone()); [INFO] [stderr] ... | [INFO] [stderr] 427 | | _ => (), [INFO] [stderr] 428 | | } [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] 416 | match *account { [INFO] [stderr] 417 | AccountChange::Full { address, ref changing_storage, .. } => { [INFO] [stderr] 418 | if address == context_address { [INFO] [stderr] 419 | for_storage = Some(changing_storage.clone()); [INFO] [stderr] 420 | } [INFO] [stderr] 421 | }, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/rpc/util.rs:442:21 [INFO] [stderr] | [INFO] [stderr] 442 | / if let &Some(RPCBreakpointConfig { [INFO] [stderr] 443 | | ref source_map, ref breakpoints [INFO] [stderr] 444 | | }) = &config.breakpoints { [INFO] [stderr] 445 | | if let Some(&RPCSourceMapConfig { ref source_map, ref source_list }) = [INFO] [stderr] ... | [INFO] [stderr] 487 | | }); [INFO] [stderr] 488 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 442 | if let Some(RPCBreakpointConfig { [INFO] [stderr] 443 | ref source_map, ref breakpoints [INFO] [stderr] 444 | }) = config.breakpoints { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | env_logger::init(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/main.rs:149:1 [INFO] [stderr] | [INFO] [stderr] 149 | / fn with_patch<'a, P: 'static + Patch + Send>(matches: clap::ArgMatches<'a>) { [INFO] [stderr] 150 | | let mut rng = OsRng::new().unwrap(); [INFO] [stderr] 151 | | [INFO] [stderr] 152 | | let secret_key = match matches.value_of("PRIVATE_KEY") { [INFO] [stderr] ... | [INFO] [stderr] 226 | | sender); [INFO] [stderr] 227 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 43.85s [INFO] running `"docker" "inspect" "41b16eb2ce42e345018b43c2cb8407447be7be071b0ae4796196e70585bc1781"` [INFO] running `"docker" "rm" "-f" "41b16eb2ce42e345018b43c2cb8407447be7be071b0ae4796196e70585bc1781"` [INFO] [stdout] 41b16eb2ce42e345018b43c2cb8407447be7be071b0ae4796196e70585bc1781