[INFO] fetching crate buffett-core 0.1.1...
[INFO] checking buffett-core-0.1.1 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate buffett-core 0.1.1 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate buffett-core 0.1.1 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate buffett-core 0.1.1
[INFO] finished tweaking crates.io crate buffett-core 0.1.1
[INFO] tweaked toml for crates.io crate buffett-core 0.1.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded untrusted v0.6.2
[INFO] [stderr]   Downloaded sys-info v0.5.10
[INFO] [stderr]   Downloaded block-buffer v0.3.3
[INFO] [stderr]   Downloaded generic-array v0.9.1
[INFO] [stderr]   Downloaded byte-tools v0.2.0
[INFO] [stderr]   Downloaded digest v0.7.6
[INFO] [stderr]   Downloaded sha2 v0.7.1
[INFO] [stderr]   Downloaded traitobject v0.1.0
[INFO] [stderr]   Downloaded version_check v0.1.5
[INFO] [stderr]   Downloaded bitconch-jsonrpc-macros v0.1.0
[INFO] [stderr]   Downloaded bitconch-jsonrpc-pubsub v0.1.0
[INFO] [stderr]   Downloaded unicase v1.4.2
[INFO] [stderr]   Downloaded base64 v0.9.3
[INFO] [stderr]   Downloaded influx_db_client v0.3.6
[INFO] [stderr]   Downloaded language-tags v0.2.2
[INFO] [stderr]   Downloaded hyper-native-tls v0.3.0
[INFO] [stderr]   Downloaded mime v0.2.6
[INFO] [stderr]   Downloaded hyper v0.10.16
[INFO] [stderr]   Downloaded buffett-metrics v0.1.3
[INFO] [stderr]   Downloaded bitconch-jsonrpc-server-utils v0.1.0
[INFO] [stderr]   Downloaded bitconch-jsonrpc-http-server v0.1.0
[INFO] [stderr]   Downloaded bitconch-jsonrpc-core v0.1.0
[INFO] [stderr]   Downloaded buffett-budget v0.1.2
[INFO] [stderr]   Downloaded bs58 v0.2.5
[INFO] [stderr]   Downloaded buffett-interface v0.1.0
[INFO] [stderr]   Downloaded buffett-timing v0.1.1
[INFO] [stderr]   Downloaded antidote v1.0.0
[INFO] [stderr]   Downloaded log v0.3.9
[INFO] [stderr]   Downloaded typeable v0.1.2
[INFO] [stderr]   Downloaded pnet_datalink v0.21.0
[INFO] [stderr]   Downloaded pnet_base v0.21.0
[INFO] [stderr]   Downloaded ipnetwork v0.12.8
[INFO] [stderr]   Downloaded pnet_sys v0.21.0
[INFO] [stderr]   Downloaded ring v0.13.5
[INFO] [stderr]   Downloaded serde_cbor v0.9.0
[INFO] [stderr]   Downloaded buffett-crypto v0.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6a685cd61b37b668d208d728dd89b9e89749a6f7991f87f01b7dd0230ef9665e
[INFO] running `Command { std: "docker" "start" "-a" "6a685cd61b37b668d208d728dd89b9e89749a6f7991f87f01b7dd0230ef9665e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6a685cd61b37b668d208d728dd89b9e89749a6f7991f87f01b7dd0230ef9665e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a685cd61b37b668d208d728dd89b9e89749a6f7991f87f01b7dd0230ef9665e", kill_on_drop: false }`
[INFO] [stdout] 6a685cd61b37b668d208d728dd89b9e89749a6f7991f87f01b7dd0230ef9665e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2e9fcc850da605eb2a100c3b51abfe9dc72037bc859895e6e6660628b24cb4ca
[INFO] running `Command { std: "docker" "start" "-a" "2e9fcc850da605eb2a100c3b51abfe9dc72037bc859895e6e6660628b24cb4ca", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]    Compiling parking_lot_core v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling hyper v0.12.36
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking safemem v0.3.3
[INFO] [stderr]     Checking owning_ref v0.4.1
[INFO] [stderr]     Checking mime v0.2.6
[INFO] [stderr]     Checking base64 v0.9.3
[INFO] [stderr]    Compiling backtrace v0.3.71
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking traitobject v0.1.0
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]     Checking typeable v0.1.2
[INFO] [stderr]     Checking language-tags v0.2.2
[INFO] [stderr]     Checking lock_api v0.1.5
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]     Checking crossbeam-deque v0.7.4
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking generic-array v0.9.1
[INFO] [stderr]     Checking tokio-executor v0.1.10
[INFO] [stderr]     Checking tokio-sync v0.1.8
[INFO] [stderr]     Checking want v0.2.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking bstr v1.9.1
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking tokio-timer v0.2.13
[INFO] [stderr]     Checking tokio-current-thread v0.1.7
[INFO] [stderr]    Compiling ring v0.13.5
[INFO] [stderr]    Compiling sys-info v0.5.10
[INFO] [stderr]     Checking antidote v1.0.0
[INFO] [stderr]     Checking byte-tools v0.2.0
[INFO] [stderr]     Checking bs58 v0.2.5
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking digest v0.7.6
[INFO] [stderr]     Checking block-buffer v0.3.3
[INFO] [stderr]     Checking try_from v0.3.2
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]     Checking untrusted v0.6.2
[INFO] [stderr]     Checking fake-simd v0.1.2
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]    Compiling nix v0.11.1
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking sha2 v0.7.1
[INFO] [stderr]     Checking base64 v0.10.1
[INFO] [stderr]     Checking buffett-timing v0.1.1
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking publicsuffix v1.5.6
[INFO] [stderr]     Checking pnet_base v0.21.0
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking ipnetwork v0.12.8
[INFO] [stderr]     Checking getopts v0.2.21
[INFO] [stderr]     Checking itertools v0.7.11
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking openssl-sys v0.9.102
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking tokio-threadpool v0.1.18
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking pnet_sys v0.21.0
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking hyper v0.10.16
[INFO] [stderr]     Checking cookie v0.12.0
[INFO] [stderr]     Checking pnet_datalink v0.21.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking http v0.1.21
[INFO] [stderr]     Checking string v0.2.1
[INFO] [stderr]     Checking tokio-buf v0.1.1
[INFO] [stderr]     Checking socket2 v0.3.19
[INFO] [stderr]     Checking tokio-codec v0.1.2
[INFO] [stderr]     Checking tokio-fs v0.1.7
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking dirs v1.0.5
[INFO] [stderr]     Checking tokio-uds v0.2.7
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking tokio-udp v0.1.6
[INFO] [stderr]     Checking uuid v0.7.4
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking serde_json v1.0.115
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking generic-array v0.12.4
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking serde_cbor v0.9.0
[INFO] [stderr]     Checking serde_urlencoded v0.5.5
[INFO] [stderr]     Checking chrono v0.4.37
[INFO] [stderr]     Checking buffett-interface v0.1.0
[INFO] [stderr]     Checking globset v0.4.14
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking bitconch-jsonrpc-core v0.1.0
[INFO] [stderr]     Checking env_logger v0.5.13
[INFO] [stderr]     Checking h2 v0.1.26
[INFO] [stderr]     Checking http-body v0.1.0
[INFO] [stderr]     Checking bitconch-jsonrpc-pubsub v0.1.0
[INFO] [stderr]     Checking bitconch-jsonrpc-server-utils v0.1.0
[INFO] [stderr]     Checking buffett-budget v0.1.2
[INFO] [stderr]     Checking bitconch-jsonrpc-macros v0.1.0
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking cookie_store v0.7.0
[INFO] [stderr]     Checking buffett-crypto v0.1.1
[INFO] [stderr]     Checking hyper-native-tls v0.3.0
[INFO] [stderr]     Checking hyper-tls v0.3.2
[INFO] [stderr]     Checking bitconch-jsonrpc-http-server v0.1.0
[INFO] [stderr]     Checking influx_db_client v0.3.6
[INFO] [stderr]     Checking reqwest v0.9.24
[INFO] [stderr]     Checking buffett-metrics v0.1.3
[INFO] [stderr]     Checking buffett-core v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/tx_vault.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/choose_gossip_peer_strategy.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/crdt.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/crdt.rs:1205:10
[INFO] [stdout]      |
[INFO] [stdout] 1205 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]   --> src/budget_program.rs:1:15
[INFO] [stdout]    |
[INFO] [stdout] 1  | use bincode::{self, deserialize, serialize_into, serialized_size};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | extern crate bincode;
[INFO] [stdout]    | --------------------- the item `bincode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `tokio` is imported redundantly
[INFO] [stdout]    --> src/token_service.rs:27:5
[INFO] [stdout]     |
[INFO] [stdout] 27  | use tokio;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | extern crate tokio;
[INFO] [stdout]     | ------------------- the item `tokio` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]   --> src/dynamic_program.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | use libc;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | extern crate libc;
[INFO] [stdout]    | ------------------ the item `libc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libloading` is imported redundantly
[INFO] [stdout]   --> src/dynamic_program.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout] 5  | use libloading;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | extern crate libloading;
[INFO] [stdout]    | ------------------------ the item `libloading` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]   --> src/entry_writer.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout] 2  | use bincode;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | extern crate bincode;
[INFO] [stdout]    | --------------------- the item `bincode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/fullnode.rs:493:34
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub fn close(self) -> Result<(Option<FullnodeReturnType>)> {
[INFO] [stdout]     |                                  ^                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 493 -     pub fn close(self) -> Result<(Option<FullnodeReturnType>)> {
[INFO] [stdout] 493 +     pub fn close(self) -> Result<Option<FullnodeReturnType>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]   --> src/ledger.rs:5:15
[INFO] [stdout]    |
[INFO] [stdout] 5  | use bincode::{self, deserialize, deserialize_from, serialize_into, serialized_size};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | extern crate bincode;
[INFO] [stdout]    | --------------------- the item `bincode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Seek` is imported redundantly
[INFO] [stdout]   --> src/ledger.rs:21:43
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::io::prelude::*;
[INFO] [stdout]    |     ------------------- the item `Seek` is already imported here
[INFO] [stdout] 21 | use std::io::{self, BufReader, BufWriter, Seek, SeekFrom};
[INFO] [stdout]    |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `reqwest` is imported redundantly
[INFO] [stdout]   --> src/netutil.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout] 5  | use reqwest;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | extern crate reqwest;
[INFO] [stdout]    | --------------------- the item `reqwest` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/packet.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const BLOB_SIZE: usize = (64 * 1024 - 128); // wikipedia says there should be 20b for ipv4 headers
[INFO] [stdout]    |                              ^               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 - pub const BLOB_SIZE: usize = (64 * 1024 - 128); // wikipedia says there should be 20b for ipv4 headers
[INFO] [stdout] 26 + pub const BLOB_SIZE: usize = 64 * 1024 - 128; // wikipedia says there should be 20b for ipv4 headers
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/replicate_stage.rs:101:50
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 let _exit = Finalizer::new(exit);;
[INFO] [stdout]     |                                                  ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]   --> src/result.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout] 2  | use bincode;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | extern crate bincode;
[INFO] [stdout]    | --------------------- the item `bincode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/result.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/result.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bs58` is imported redundantly
[INFO] [stdout]   --> src/rpc.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | use bs58;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | extern crate bs58;
[INFO] [stdout]    | ------------------ the item `bs58` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:100:39
[INFO] [stdout]     |
[INFO] [stdout] 100 |         fn confirm_transaction(&self, Self::Metadata, String) -> Result<bool>;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:100:55
[INFO] [stdout]     |
[INFO] [stdout] 100 |         fn confirm_transaction(&self, Self::Metadata, String) -> Result<bool>;
[INFO] [stdout]     |                                                       ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:103:36
[INFO] [stdout]     |
[INFO] [stdout] 103 |         fn get_account_info(&self, Self::Metadata, String) -> Result<Account>;
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:103:52
[INFO] [stdout]     |
[INFO] [stdout] 103 |         fn get_account_info(&self, Self::Metadata, String) -> Result<Account>;
[INFO] [stdout]     |                                                    ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:106:31
[INFO] [stdout]     |
[INFO] [stdout] 106 |         fn get_balance(&self, Self::Metadata, String) -> Result<i64>;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:106:47
[INFO] [stdout]     |
[INFO] [stdout] 106 |         fn get_balance(&self, Self::Metadata, String) -> Result<i64>;
[INFO] [stdout]     |                                               ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:109:32
[INFO] [stdout]     |
[INFO] [stdout] 109 |         fn get_finality(&self, Self::Metadata) -> Result<usize>;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:112:31
[INFO] [stdout]     |
[INFO] [stdout] 112 |         fn get_last_id(&self, Self::Metadata) -> Result<String>;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:115:40
[INFO] [stdout]     |
[INFO] [stdout] 115 |         fn get_signature_status(&self, Self::Metadata, String) -> Result<RpcSignatureStatus>;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:115:56
[INFO] [stdout]     |
[INFO] [stdout] 115 |         fn get_signature_status(&self, Self::Metadata, String) -> Result<RpcSignatureStatus>;
[INFO] [stdout]     |                                                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:118:41
[INFO] [stdout]     |
[INFO] [stdout] 118 |         fn get_transaction_count(&self, Self::Metadata) -> Result<u64>;
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:121:35
[INFO] [stdout]     |
[INFO] [stdout] 121 |         fn request_airdrop(&self, Self::Metadata, String, u64) -> Result<String>;
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:121:51
[INFO] [stdout]     |
[INFO] [stdout] 121 |         fn request_airdrop(&self, Self::Metadata, String, u64) -> Result<String>;
[INFO] [stdout]     |                                                   ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:121:59
[INFO] [stdout]     |
[INFO] [stdout] 121 |         fn request_airdrop(&self, Self::Metadata, String, u64) -> Result<String>;
[INFO] [stdout]     |                                                           ^^^ help: try naming the parameter or explicitly ignoring it: `_: u64`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:124:36
[INFO] [stdout]     |
[INFO] [stdout] 124 |         fn send_transaction(&self, Self::Metadata, Vec<u8>) -> Result<String>;
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:124:52
[INFO] [stdout]     |
[INFO] [stdout] 124 |         fn send_transaction(&self, Self::Metadata, Vec<u8>) -> Result<String>;
[INFO] [stdout]     |                                                    ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/thin_client.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_cbor` is imported redundantly
[INFO] [stdout]   --> src/tictactoe_dashboard_program.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | use serde_cbor;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | extern crate serde_cbor;
[INFO] [stdout]    | ------------------------ the item `serde_cbor` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_cbor` is imported redundantly
[INFO] [stdout]   --> src/tictactoe_program.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | use serde_cbor;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | extern crate serde_cbor;
[INFO] [stdout]    | ------------------------ the item `serde_cbor` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/tictactoe_program.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/tpu.rs:81:37
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn join(self) -> thread::Result<(Option<TpuReturnType>)> {
[INFO] [stdout]    |                                     ^                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -     fn join(self) -> thread::Result<(Option<TpuReturnType>)> {
[INFO] [stdout] 81 +     fn join(self) -> thread::Result<Option<TpuReturnType>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bs58` is imported redundantly
[INFO] [stdout]   --> src/wallet.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout] 2  | use bs58;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | extern crate bs58;
[INFO] [stdout]    | ------------------ the item `bs58` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `reqwest` is imported redundantly
[INFO] [stdout]   --> src/wallet.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use reqwest;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | extern crate reqwest;
[INFO] [stdout]    | --------------------- the item `reqwest` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/wallet.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | use serde_json::{self, Value};
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Write` is imported redundantly
[INFO] [stdout]   --> src/wallet.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::prelude::*;
[INFO] [stdout]    |     ------------------- the item `Write` is already imported here
[INFO] [stdout] 20 | use std::io::{Error, ErrorKind, Write};
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `tmp_ledger_path` in this scope
[INFO] [stdout]    --> src/ledger.rs:550:16
[INFO] [stdout]     |
[INFO] [stdout] 550 |     let path = tmp_ledger_path(name);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] note: function `token_service::tests::tmp_ledger_path` exists but is inaccessible
[INFO] [stdout]    --> src/token_service.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |     fn tmp_ledger_path(name: &str) -> String {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `tmp_ledger_path` in this scope
[INFO] [stdout]    --> src/ledger.rs:724:27
[INFO] [stdout]     |
[INFO] [stdout] 724 |         let ledger_path = tmp_ledger_path("test_ledger_reader_writer");
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] note: function `token_service::tests::tmp_ledger_path` exists but is inaccessible
[INFO] [stdout]    --> src/token_service.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |     fn tmp_ledger_path(name: &str) -> String {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `tmp_ledger_path` in this scope
[INFO] [stdout]    --> src/ledger.rs:804:27
[INFO] [stdout]     |
[INFO] [stdout] 804 |         let ledger_path = tmp_ledger_path("test_recover_ledger");
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] note: function `token_service::tests::tmp_ledger_path` exists but is inaccessible
[INFO] [stdout]    --> src/token_service.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |     fn tmp_ledger_path(name: &str) -> String {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `tmp_ledger_path` in this scope
[INFO] [stdout]    --> src/ledger.rs:855:27
[INFO] [stdout]     |
[INFO] [stdout] 855 |         let ledger_path = tmp_ledger_path("test_verify_ledger");
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] note: function `token_service::tests::tmp_ledger_path` exists but is inaccessible
[INFO] [stdout]    --> src/token_service.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |     fn tmp_ledger_path(name: &str) -> String {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/tx_vault.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/choose_gossip_peer_strategy.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/crdt.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/crdt.rs:1205:10
[INFO] [stdout]      |
[INFO] [stdout] 1205 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]   --> src/budget_program.rs:1:15
[INFO] [stdout]    |
[INFO] [stdout] 1  | use bincode::{self, deserialize, serialize_into, serialized_size};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | extern crate bincode;
[INFO] [stdout]    | --------------------- the item `bincode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `tokio` is imported redundantly
[INFO] [stdout]    --> src/token_service.rs:27:5
[INFO] [stdout]     |
[INFO] [stdout] 27  | use tokio;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | extern crate tokio;
[INFO] [stdout]     | ------------------- the item `tokio` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libc` is imported redundantly
[INFO] [stdout]   --> src/dynamic_program.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | use libc;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | extern crate libc;
[INFO] [stdout]    | ------------------ the item `libc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `libloading` is imported redundantly
[INFO] [stdout]   --> src/dynamic_program.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout] 5  | use libloading;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | extern crate libloading;
[INFO] [stdout]    | ------------------------ the item `libloading` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]   --> src/entry_writer.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout] 2  | use bincode;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | extern crate bincode;
[INFO] [stdout]    | --------------------- the item `bincode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/fullnode.rs:493:34
[INFO] [stdout]     |
[INFO] [stdout] 493 |     pub fn close(self) -> Result<(Option<FullnodeReturnType>)> {
[INFO] [stdout]     |                                  ^                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 493 -     pub fn close(self) -> Result<(Option<FullnodeReturnType>)> {
[INFO] [stdout] 493 +     pub fn close(self) -> Result<Option<FullnodeReturnType>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]   --> src/ledger.rs:5:15
[INFO] [stdout]    |
[INFO] [stdout] 5  | use bincode::{self, deserialize, deserialize_from, serialize_into, serialized_size};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | extern crate bincode;
[INFO] [stdout]    | --------------------- the item `bincode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Keypair`
[INFO] [stdout]   --> src/ledger.rs:17:33
[INFO] [stdout]    |
[INFO] [stdout] 17 | use buffett_crypto::signature::{Keypair, KeypairUtil};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Seek` is imported redundantly
[INFO] [stdout]   --> src/ledger.rs:21:43
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::io::prelude::*;
[INFO] [stdout]    |     ------------------- the item `Seek` is already imported here
[INFO] [stdout] 21 | use std::io::{self, BufReader, BufWriter, Seek, SeekFrom};
[INFO] [stdout]    |                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serialized_size` is imported redundantly
[INFO] [stdout]    --> src/ledger.rs:560:9
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use super::*;
[INFO] [stdout]     |         -------- the item `serialized_size` is already imported here
[INFO] [stdout] 560 |     use bincode::serialized_size;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vote` is imported redundantly
[INFO] [stdout]    --> src/ledger.rs:561:9
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use super::*;
[INFO] [stdout]     |         -------- the item `Vote` is already imported here
[INFO] [stdout] 560 |     use bincode::serialized_size;
[INFO] [stdout] 561 |     use buffett_budget::instruction::Vote;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `BudgetTransaction` is imported redundantly
[INFO] [stdout]    --> src/ledger.rs:562:9
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use super::*;
[INFO] [stdout]     |         -------- the item `BudgetTransaction` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 562 |     use crate::budget_transaction::BudgetTransaction;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Entry` is imported redundantly
[INFO] [stdout]    --> src/ledger.rs:564:36
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use super::*;
[INFO] [stdout]     |         -------- the item `Entry` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 564 |     use crate::entry::{next_entry, Entry};
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `BLOB_DATA_SIZE` is imported redundantly
[INFO] [stdout]    --> src/ledger.rs:566:35
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use super::*;
[INFO] [stdout]     |         -------- the item `BLOB_DATA_SIZE` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 566 |     use crate::packet::{to_blobs, BLOB_DATA_SIZE, PACKET_DATA_SIZE};
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Keypair` is imported redundantly
[INFO] [stdout]    --> src/ledger.rs:567:37
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use super::*;
[INFO] [stdout]     |         -------- the item `Keypair` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 567 |     use buffett_crypto::signature::{Keypair, KeypairUtil};
[INFO] [stdout]     |                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `KeypairUtil` is imported redundantly
[INFO] [stdout]    --> src/ledger.rs:567:46
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use super::*;
[INFO] [stdout]     |         -------- the item `KeypairUtil` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 567 |     use buffett_crypto::signature::{Keypair, KeypairUtil};
[INFO] [stdout]     |                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/ledger.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 568 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `IpAddr` is imported redundantly
[INFO] [stdout]    --> src/ledger.rs:569:20
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use super::*;
[INFO] [stdout]     |         -------- the item `IpAddr` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 569 |     use std::net::{IpAddr, Ipv4Addr, SocketAddr};
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ipv4Addr` is imported redundantly
[INFO] [stdout]    --> src/ledger.rs:569:28
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use super::*;
[INFO] [stdout]     |         -------- the item `Ipv4Addr` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 569 |     use std::net::{IpAddr, Ipv4Addr, SocketAddr};
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `SocketAddr` is imported redundantly
[INFO] [stdout]    --> src/ledger.rs:569:38
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use super::*;
[INFO] [stdout]     |         -------- the item `SocketAddr` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 569 |     use std::net::{IpAddr, Ipv4Addr, SocketAddr};
[INFO] [stdout]     |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Transaction` is imported redundantly
[INFO] [stdout]    --> src/ledger.rs:570:9
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use super::*;
[INFO] [stdout]     |         -------- the item `Transaction` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 570 |     use crate::transaction::Transaction;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `reqwest` is imported redundantly
[INFO] [stdout]   --> src/netutil.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout] 5  | use reqwest;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | extern crate reqwest;
[INFO] [stdout]    | --------------------- the item `reqwest` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `buffett_crypto::hash::Hash`
[INFO] [stdout]  --> src/packet.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use buffett_crypto::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `next_entries_mut`
[INFO] [stdout]  --> src/packet.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::ledger::{next_entries_mut, Block};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/packet.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const BLOB_SIZE: usize = (64 * 1024 - 128); // wikipedia says there should be 20b for ipv4 headers
[INFO] [stdout]    |                              ^               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 - pub const BLOB_SIZE: usize = (64 * 1024 - 128); // wikipedia says there should be 20b for ipv4 headers
[INFO] [stdout] 26 + pub const BLOB_SIZE: usize = 64 * 1024 - 128; // wikipedia says there should be 20b for ipv4 headers
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/replicate_stage.rs:101:50
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 let _exit = Finalizer::new(exit);;
[INFO] [stdout]     |                                                  ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]   --> src/result.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout] 2  | use bincode;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | extern crate bincode;
[INFO] [stdout]    | --------------------- the item `bincode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/result.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/result.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]    --> src/result.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     use serde_json;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:91:1
[INFO] [stdout]     |
[INFO] [stdout] 91  | extern crate serde_json;
[INFO] [stdout]     | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bs58` is imported redundantly
[INFO] [stdout]   --> src/rpc.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | use bs58;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | extern crate bs58;
[INFO] [stdout]    | ------------------ the item `bs58` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:100:39
[INFO] [stdout]     |
[INFO] [stdout] 100 |         fn confirm_transaction(&self, Self::Metadata, String) -> Result<bool>;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:100:55
[INFO] [stdout]     |
[INFO] [stdout] 100 |         fn confirm_transaction(&self, Self::Metadata, String) -> Result<bool>;
[INFO] [stdout]     |                                                       ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:103:36
[INFO] [stdout]     |
[INFO] [stdout] 103 |         fn get_account_info(&self, Self::Metadata, String) -> Result<Account>;
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:103:52
[INFO] [stdout]     |
[INFO] [stdout] 103 |         fn get_account_info(&self, Self::Metadata, String) -> Result<Account>;
[INFO] [stdout]     |                                                    ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:106:31
[INFO] [stdout]     |
[INFO] [stdout] 106 |         fn get_balance(&self, Self::Metadata, String) -> Result<i64>;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:106:47
[INFO] [stdout]     |
[INFO] [stdout] 106 |         fn get_balance(&self, Self::Metadata, String) -> Result<i64>;
[INFO] [stdout]     |                                               ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:109:32
[INFO] [stdout]     |
[INFO] [stdout] 109 |         fn get_finality(&self, Self::Metadata) -> Result<usize>;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:112:31
[INFO] [stdout]     |
[INFO] [stdout] 112 |         fn get_last_id(&self, Self::Metadata) -> Result<String>;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:115:40
[INFO] [stdout]     |
[INFO] [stdout] 115 |         fn get_signature_status(&self, Self::Metadata, String) -> Result<RpcSignatureStatus>;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:115:56
[INFO] [stdout]     |
[INFO] [stdout] 115 |         fn get_signature_status(&self, Self::Metadata, String) -> Result<RpcSignatureStatus>;
[INFO] [stdout]     |                                                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:118:41
[INFO] [stdout]     |
[INFO] [stdout] 118 |         fn get_transaction_count(&self, Self::Metadata) -> Result<u64>;
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:121:35
[INFO] [stdout]     |
[INFO] [stdout] 121 |         fn request_airdrop(&self, Self::Metadata, String, u64) -> Result<String>;
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:121:51
[INFO] [stdout]     |
[INFO] [stdout] 121 |         fn request_airdrop(&self, Self::Metadata, String, u64) -> Result<String>;
[INFO] [stdout]     |                                                   ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:121:59
[INFO] [stdout]     |
[INFO] [stdout] 121 |         fn request_airdrop(&self, Self::Metadata, String, u64) -> Result<String>;
[INFO] [stdout]     |                                                           ^^^ help: try naming the parameter or explicitly ignoring it: `_: u64`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:124:36
[INFO] [stdout]     |
[INFO] [stdout] 124 |         fn send_transaction(&self, Self::Metadata, Vec<u8>) -> Result<String>;
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc.rs:124:52
[INFO] [stdout]     |
[INFO] [stdout] 124 |         fn send_transaction(&self, Self::Metadata, Vec<u8>) -> Result<String>;
[INFO] [stdout]     |                                                    ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]   --> src/thin_client.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std;
[INFO] [stdout]    |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_cbor` is imported redundantly
[INFO] [stdout]   --> src/tictactoe_dashboard_program.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | use serde_cbor;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | extern crate serde_cbor;
[INFO] [stdout]    | ------------------------ the item `serde_cbor` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_cbor` is imported redundantly
[INFO] [stdout]   --> src/tictactoe_program.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout] 3  | use serde_cbor;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | extern crate serde_cbor;
[INFO] [stdout]    | ------------------------ the item `serde_cbor` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/tictactoe_program.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/tpu.rs:81:37
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn join(self) -> thread::Result<(Option<TpuReturnType>)> {
[INFO] [stdout]    |                                     ^                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -     fn join(self) -> thread::Result<(Option<TpuReturnType>)> {
[INFO] [stdout] 81 +     fn join(self) -> thread::Result<Option<TpuReturnType>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bs58` is imported redundantly
[INFO] [stdout]   --> src/wallet.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout] 2  | use bs58;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | extern crate bs58;
[INFO] [stdout]    | ------------------ the item `bs58` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `reqwest` is imported redundantly
[INFO] [stdout]   --> src/wallet.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use reqwest;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | extern crate reqwest;
[INFO] [stdout]    | --------------------- the item `reqwest` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/wallet.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | use serde_json::{self, Value};
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Write` is imported redundantly
[INFO] [stdout]   --> src/wallet.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::prelude::*;
[INFO] [stdout]    |     ------------------- the item `Write` is already imported here
[INFO] [stdout] 20 | use std::io::{Error, ErrorKind, Write};
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/logger.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/logger.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | static INIT: Once = ONCE_INIT;
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]   |
[INFO] [stdout] 4 | static INIT: Once = Once::new();
[INFO] [stdout]   |                     ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choose_gossip_peer_strategy.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |     random: &'a Fn() -> u64,
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     random: &'a dyn Fn() -> u64,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choose_gossip_peer_strategy.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |     get_stake: &'a Fn(Pubkey) -> f64,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     get_stake: &'a dyn Fn(Pubkey) -> f64,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/result.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |     JoinError(Box<Any + Send + 'static>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     JoinError(Box<dyn Any + Send + 'static>),
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/logger.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/logger.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | static INIT: Once = ONCE_INIT;
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]   |
[INFO] [stdout] 4 | static INIT: Once = Once::new();
[INFO] [stdout]   |                     ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choose_gossip_peer_strategy.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(random: &'a Fn() -> u64) -> Self {
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(random: &'a dyn Fn() -> u64) -> Self {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choose_gossip_peer_strategy.rs:51:24
[INFO] [stdout]    |
[INFO] [stdout] 51 |         get_stake: &'a Fn(Pubkey) -> f64,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |         get_stake: &'a dyn Fn(Pubkey) -> f64,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choose_gossip_peer_strategy.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |     random: &'a Fn() -> u64,
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     random: &'a dyn Fn() -> u64,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choose_gossip_peer_strategy.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |     get_stake: &'a Fn(Pubkey) -> f64,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     get_stake: &'a dyn Fn(Pubkey) -> f64,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/result.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |     JoinError(Box<Any + Send + 'static>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     JoinError(Box<dyn Any + Send + 'static>),
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choose_gossip_peer_strategy.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(random: &'a Fn() -> u64) -> Self {
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new(random: &'a dyn Fn() -> u64) -> Self {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/choose_gossip_peer_strategy.rs:51:24
[INFO] [stdout]    |
[INFO] [stdout] 51 |         get_stake: &'a Fn(Pubkey) -> f64,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |         get_stake: &'a dyn Fn(Pubkey) -> f64,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/result.rs:69:29
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl std::convert::From<Box<Any + Send + 'static>> for Error {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl std::convert::From<Box<dyn Any + Send + 'static>> for Error {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/result.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn from(e: Box<Any + Send + 'static>) -> Error {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn from(e: Box<dyn Any + Send + 'static>) -> Error {
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wallet.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wallet.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 | ) -> Result<WalletCommand, Box<error::Error>> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 100 | ) -> Result<WalletCommand, Box<dyn error::Error>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wallet.rs:281:69
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub fn process_command(config: &WalletConfig) -> Result<String, Box<error::Error>> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub fn process_command(config: &WalletConfig) -> Result<String, Box<dyn error::Error>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wallet.rs:567:64
[INFO] [stdout]     |
[INFO] [stdout] 567 | pub fn gen_keypair_file(outfile: String) -> Result<String, Box<error::Error>> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 567 | pub fn gen_keypair_file(outfile: String) -> Result<String, Box<dyn error::Error>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wallet.rs:635:59
[INFO] [stdout]     |
[INFO] [stdout] 635 | fn get_last_id(config: &WalletConfig) -> Result<Hash, Box<error::Error>> {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 635 | fn get_last_id(config: &WalletConfig) -> Result<Hash, Box<dyn error::Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wallet.rs:652:25
[INFO] [stdout]     |
[INFO] [stdout] 652 | ) -> Result<String, Box<error::Error>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 652 | ) -> Result<String, Box<dyn error::Error>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wallet.rs:598:28
[INFO] [stdout]     |
[INFO] [stdout] 598 |     ) -> Result<Value, Box<error::Error>> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 598 |     ) -> Result<Value, Box<dyn error::Error>> {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/result.rs:69:29
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl std::convert::From<Box<Any + Send + 'static>> for Error {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl std::convert::From<Box<dyn Any + Send + 'static>> for Error {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/result.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn from(e: Box<Any + Send + 'static>) -> Error {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn from(e: Box<dyn Any + Send + 'static>) -> Error {
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wallet.rs:70:32
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wallet.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 | ) -> Result<WalletCommand, Box<error::Error>> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 100 | ) -> Result<WalletCommand, Box<dyn error::Error>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wallet.rs:281:69
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub fn process_command(config: &WalletConfig) -> Result<String, Box<error::Error>> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub fn process_command(config: &WalletConfig) -> Result<String, Box<dyn error::Error>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wallet.rs:567:64
[INFO] [stdout]     |
[INFO] [stdout] 567 | pub fn gen_keypair_file(outfile: String) -> Result<String, Box<error::Error>> {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 567 | pub fn gen_keypair_file(outfile: String) -> Result<String, Box<dyn error::Error>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wallet.rs:635:59
[INFO] [stdout]     |
[INFO] [stdout] 635 | fn get_last_id(config: &WalletConfig) -> Result<Hash, Box<error::Error>> {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 635 | fn get_last_id(config: &WalletConfig) -> Result<Hash, Box<dyn error::Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wallet.rs:652:25
[INFO] [stdout]     |
[INFO] [stdout] 652 | ) -> Result<String, Box<error::Error>> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 652 | ) -> Result<String, Box<dyn error::Error>> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wallet.rs:598:28
[INFO] [stdout]     |
[INFO] [stdout] 598 |     ) -> Result<Value, Box<error::Error>> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 598 |     ) -> Result<Value, Box<dyn error::Error>> {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/broadcast_stage.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     for mut blobs in blobs_chunked {
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeypairUtil`
[INFO] [stdout]   --> src/ledger.rs:17:42
[INFO] [stdout]    |
[INFO] [stdout] 17 | use buffett_crypto::signature::{Keypair, KeypairUtil};
[INFO] [stdout]    |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/broadcast_stage.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     for mut blobs in blobs_chunked {
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/packet.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let mut p = SharedPackets::default();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/recvmmsg.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut p = &mut packets[i];
[INFO] [stdout]    |                         ----^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/packet.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let mut p = SharedPackets::default();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/recvmmsg.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut p = &mut packets[i];
[INFO] [stdout]    |                         ----^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `[u8]`, which is not FFI-safe
[INFO] [stdout]   --> src/dynamic_program.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 | type Entrypoint = unsafe extern "C" fn(infos: &mut Vec<KeyedAccount>, data: &[u8]);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a raw pointer instead
[INFO] [stdout]    = note: slices have no C equivalent
[INFO] [stdout]    = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 64 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `buffett`
[INFO] [stdout]  --> benches/signature.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate buffett;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `buffett`
[INFO] [stdout]  --> benches/ledger.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate buffett;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `buffett`
[INFO] [stdout]  --> benches/sigverify.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | extern crate buffett;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `buffett`
[INFO] [stdout]  --> benches/bank.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | extern crate buffett;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `buffett`
[INFO] [stdout]  --> benches/banking_stage.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | extern crate buffett;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `buffett-core` (bench "signature") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `buffett-core` (bench "ledger") due to 2 previous errors
[INFO] [stderr] error: could not compile `buffett-core` (bench "sigverify") due to 2 previous errors
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Bank`
[INFO] [stdout]   --> benches/bank.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let bank = Bank::new(&mint);
[INFO] [stdout]    |                ^^^^ use of undeclared type `Bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `buffett-core` (bench "banking_stage") due to 2 previous errors
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0433, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `buffett-core` (bench "bank") due to 3 previous errors
[INFO] [stdout] error: aborting due to 4 previous errors; 80 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `buffett-core` (lib test) due to 5 previous errors; 80 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "2e9fcc850da605eb2a100c3b51abfe9dc72037bc859895e6e6660628b24cb4ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e9fcc850da605eb2a100c3b51abfe9dc72037bc859895e6e6660628b24cb4ca", kill_on_drop: false }`
[INFO] [stdout] 2e9fcc850da605eb2a100c3b51abfe9dc72037bc859895e6e6660628b24cb4ca
