[INFO] fetching crate buffett-core 0.1.1...
[INFO] testing buffett-core-0.1.1 against 1.69.0 for beta-1.70-1
[INFO] extracting crate buffett-core 0.1.1 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate buffett-core 0.1.1 on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "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-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+1.69.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-codec v0.1.2
[INFO] [stderr]   Downloaded generic-array v0.9.1
[INFO] [stderr]   Downloaded crossbeam-queue v0.2.3
[INFO] [stderr]   Downloaded hyper-tls v0.3.2
[INFO] [stderr]   Downloaded block-buffer v0.3.3
[INFO] [stderr]   Downloaded bitconch-jsonrpc-core v0.1.0
[INFO] [stderr]   Downloaded buffett-budget v0.1.2
[INFO] [stderr]   Downloaded tokio-uds v0.2.7
[INFO] [stderr]   Downloaded antidote v1.0.0
[INFO] [stderr]   Downloaded parking_lot v0.6.4
[INFO] [stderr]   Downloaded bitconch-jsonrpc-pubsub v0.1.0
[INFO] [stderr]   Downloaded memoffset v0.5.6
[INFO] [stderr]   Downloaded cookie v0.12.0
[INFO] [stderr]   Downloaded tokio-sync v0.1.8
[INFO] [stderr]   Downloaded tokio-timer v0.2.13
[INFO] [stderr]   Downloaded buffett-interface v0.1.0
[INFO] [stderr]   Downloaded buffett-metrics v0.1.3
[INFO] [stderr]   Downloaded tokio-reactor v0.1.12
[INFO] [stderr]   Downloaded tokio-udp v0.1.6
[INFO] [stderr]   Downloaded hyper-native-tls v0.3.0
[INFO] [stderr]   Downloaded sha2 v0.7.1
[INFO] [stderr]   Downloaded tokio-fs v0.1.7
[INFO] [stderr]   Downloaded parking_lot_core v0.3.1
[INFO] [stderr]   Downloaded crossbeam-epoch v0.8.2
[INFO] [stderr]   Downloaded tokio-executor v0.1.10
[INFO] [stderr]   Downloaded tokio-current-thread v0.1.7
[INFO] [stderr]   Downloaded tokio-threadpool v0.1.18
[INFO] [stderr]   Downloaded tokio v0.1.22
[INFO] [stderr]   Downloaded buffett-timing v0.1.1
[INFO] [stderr]   Downloaded tokio-io v0.1.13
[INFO] [stderr]   Downloaded nix v0.11.1
[INFO] [stderr]   Downloaded parking_lot_core v0.6.3
[INFO] [stderr]   Downloaded http-body v0.1.0
[INFO] [stderr]   Downloaded bs58 v0.2.5
[INFO] [stderr]   Downloaded bitconch-jsonrpc-server-utils v0.1.0
[INFO] [stderr]   Downloaded bitconch-jsonrpc-macros v0.1.0
[INFO] [stderr]   Downloaded tokio-tcp v0.1.4
[INFO] [stderr]   Downloaded crossbeam-deque v0.7.4
[INFO] [stderr]   Downloaded sys-info v0.5.10
[INFO] [stderr]   Downloaded serde_urlencoded v0.5.5
[INFO] [stderr]   Downloaded cookie_store v0.7.0
[INFO] [stderr]   Downloaded digest v0.7.6
[INFO] [stderr]   Downloaded publicsuffix v1.5.6
[INFO] [stderr]   Downloaded tokio-buf v0.1.1
[INFO] [stderr]   Downloaded want v0.2.0
[INFO] [stderr]   Downloaded http v0.1.21
[INFO] [stderr]   Downloaded hyper v0.12.36
[INFO] [stderr]   Downloaded reqwest v0.9.24
[INFO] [stderr]   Downloaded byte-tools v0.2.0
[INFO] [stderr]   Downloaded influx_db_client v0.3.6
[INFO] [stderr]   Downloaded ring v0.13.5
[INFO] [stderr]   Downloaded pnet_base v0.21.0
[INFO] [stderr]   Downloaded bitconch-jsonrpc-http-server v0.1.0
[INFO] [stderr]   Downloaded pnet_sys v0.21.0
[INFO] [stderr]   Downloaded buffett-crypto v0.1.1
[INFO] [stderr]   Downloaded ipnetwork v0.12.8
[INFO] [stderr]   Downloaded serde_cbor v0.9.0
[INFO] [stderr]   Downloaded pnet_datalink v0.21.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0902fd0533d25b088a0dd9de6c1172c7353ab40de8834fc55188554a526c4367
[INFO] running `Command { std: "docker" "start" "-a" "0902fd0533d25b088a0dd9de6c1172c7353ab40de8834fc55188554a526c4367", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0902fd0533d25b088a0dd9de6c1172c7353ab40de8834fc55188554a526c4367", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0902fd0533d25b088a0dd9de6c1172c7353ab40de8834fc55188554a526c4367", kill_on_drop: false }`
[INFO] [stdout] 0902fd0533d25b088a0dd9de6c1172c7353ab40de8834fc55188554a526c4367
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 81b1162eb744df7f13ccc5a42e58deae8a146f587a36bd5627301380efebbf95
[INFO] running `Command { std: "docker" "start" "-a" "81b1162eb744df7f13ccc5a42e58deae8a146f587a36bd5627301380efebbf95", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.142
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling futures v0.1.31
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling unicode-bidi v0.3.13
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling parking_lot_core v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling matches v0.1.10
[INFO] [stderr]    Compiling openssl-sys v0.9.87
[INFO] [stderr]    Compiling lock_api v0.3.4
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling openssl v0.10.52
[INFO] [stderr]    Compiling crossbeam-utils v0.8.15
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling memoffset v0.8.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling idna v0.1.5
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.14
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling url v1.7.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]    Compiling crossbeam-queue v0.2.3
[INFO] [stderr]    Compiling tokio-executor v0.1.10
[INFO] [stderr]    Compiling tokio-sync v0.1.8
[INFO] [stderr]    Compiling hyper v0.12.36
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling crossbeam-deque v0.7.4
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling backtrace v0.3.67
[INFO] [stderr]    Compiling tokio-timer v0.2.13
[INFO] [stderr]    Compiling tokio-current-thread v0.1.7
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling try-lock v0.2.4
[INFO] [stderr]    Compiling gimli v0.27.2
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling percent-encoding v2.2.0
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling num_cpus v1.15.0
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling net2 v0.2.38
[INFO] [stderr]    Compiling bytes v0.4.12
[INFO] [stderr]    Compiling tokio-threadpool v0.1.18
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling rand v0.5.6
[INFO] [stderr]    Compiling futures-cpupool v0.1.8
[INFO] [stderr]    Compiling tokio-io v0.1.13
[INFO] [stderr]    Compiling http v0.1.21
[INFO] [stderr]    Compiling tokio-buf v0.1.1
[INFO] [stderr]    Compiling string v0.2.1
[INFO] [stderr]    Compiling form_urlencoded v1.1.0
[INFO] [stderr]    Compiling base64 v0.9.3
[INFO] [stderr]    Compiling want v0.2.0
[INFO] [stderr]    Compiling tokio-codec v0.1.2
[INFO] [stderr]    Compiling tokio-fs v0.1.7
[INFO] [stderr]    Compiling owning_ref v0.4.1
[INFO] [stderr]    Compiling mime v0.2.6
[INFO] [stderr]    Compiling tokio-reactor v0.1.12
[INFO] [stderr]    Compiling mio-uds v0.6.8
[INFO] [stderr]    Compiling miniz_oxide v0.6.2
[INFO] [stderr]    Compiling idna v0.3.0
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling tokio-udp v0.1.6
[INFO] [stderr]    Compiling tokio-tcp v0.1.4
[INFO] [stderr]    Compiling tokio-uds v0.2.7
[INFO] [stderr]    Compiling object v0.30.3
[INFO] [stderr]    Compiling tokio v0.1.22
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling language-tags v0.2.2
[INFO] [stderr]    Compiling rustc-demangle v0.1.23
[INFO] [stderr]    Compiling scopeguard v0.3.3
[INFO] [stderr]    Compiling typeable v0.1.2
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]    Compiling traitobject v0.1.0
[INFO] [stderr]    Compiling lock_api v0.1.5
[INFO] [stderr]    Compiling url v2.3.1
[INFO] [stderr]    Compiling hyper v0.10.16
[INFO] [stderr]    Compiling crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling addr2line v0.19.0
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling generic-array v0.9.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.8
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling http-body v0.1.0
[INFO] [stderr]    Compiling h2 v0.1.26
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling bstr v1.4.0
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling ring v0.13.5
[INFO] [stderr]    Compiling sys-info v0.5.10
[INFO] [stderr]    Compiling arrayref v0.3.7
[INFO] [stderr]    Compiling byte-tools v0.2.0
[INFO] [stderr]    Compiling bs58 v0.2.5
[INFO] [stderr]    Compiling antidote v1.0.0
[INFO] [stderr]    Compiling publicsuffix v1.5.6
[INFO] [stderr]    Compiling block-buffer v0.3.3
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling globset v0.4.10
[INFO] [stderr]    Compiling digest v0.7.6
[INFO] [stderr]    Compiling parking_lot v0.6.4
[INFO] [stderr]    Compiling cookie v0.12.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling try_from v0.3.2
[INFO] [stderr]    Compiling nix v0.11.1
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling iana-time-zone v0.1.56
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling untrusted v0.6.2
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling dtoa v0.4.8
[INFO] [stderr]    Compiling sha2 v0.7.1
[INFO] [stderr]    Compiling serde_derive v1.0.160
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling flate2 v1.0.26
[INFO] [stderr]    Compiling uuid v0.7.4
[INFO] [stderr]    Compiling rayon v1.7.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling pnet_sys v0.21.0
[INFO] [stderr]    Compiling encoding_rs v0.8.32
[INFO] [stderr]    Compiling base64 v0.10.1
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling pnet_base v0.21.0
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling ipnetwork v0.12.8
[INFO] [stderr]    Compiling buffett-timing v0.1.1
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling env_logger v0.5.13
[INFO] [stderr]    Compiling pnet_datalink v0.21.0
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling socket2 v0.3.19
[INFO] [stderr]    Compiling itertools v0.7.11
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling serde v1.0.160
[INFO] [stderr]    Compiling hyper-native-tls v0.3.0
[INFO] [stderr]    Compiling hyper-tls v0.3.2
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]    Compiling generic-array v0.12.4
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling chrono v0.4.24
[INFO] [stderr]    Compiling serde_cbor v0.9.0
[INFO] [stderr]    Compiling serde_urlencoded v0.5.5
[INFO] [stderr]    Compiling buffett-interface v0.1.0
[INFO] [stderr]    Compiling bitconch-jsonrpc-core v0.1.0
[INFO] [stderr]    Compiling influx_db_client v0.3.6
[INFO] [stderr]    Compiling cookie_store v0.7.0
[INFO] [stderr]    Compiling buffett-crypto v0.1.1
[INFO] [stderr]    Compiling buffett-budget v0.1.2
[INFO] [stderr]    Compiling buffett-metrics v0.1.3
[INFO] [stderr]    Compiling reqwest v0.9.24
[INFO] [stderr]    Compiling bitconch-jsonrpc-server-utils v0.1.0
[INFO] [stderr]    Compiling bitconch-jsonrpc-pubsub v0.1.0
[INFO] [stderr]    Compiling bitconch-jsonrpc-macros v0.1.0
[INFO] [stderr]    Compiling bitconch-jsonrpc-http-server v0.1.0
[INFO] [stderr]    Compiling buffett-core v0.1.1 (/opt/rustwide/workdir)
[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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: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: 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: 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: 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: 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: 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: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: 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: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: 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: 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: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 28.38s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "81b1162eb744df7f13ccc5a42e58deae8a146f587a36bd5627301380efebbf95", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81b1162eb744df7f13ccc5a42e58deae8a146f587a36bd5627301380efebbf95", kill_on_drop: false }`
[INFO] [stdout] 81b1162eb744df7f13ccc5a42e58deae8a146f587a36bd5627301380efebbf95
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3255c5e228b03bfefd7f920a74927dca78e185c787fddb2d83c20561bd3e14bb
[INFO] running `Command { std: "docker" "start" "-a" "3255c5e228b03bfefd7f920a74927dca78e185c787fddb2d83c20561bd3e14bb", kill_on_drop: false }`
[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: 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: 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: 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: 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: 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: 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: 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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     JoinError(Box<dyn Any + Send + 'static>),
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling buffett-core v0.1.1 (/opt/rustwide/workdir)
[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: 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: 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: 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: 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: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: 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: 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: 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: 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: 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: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: 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: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: 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: 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: 39 warnings emitted
[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: 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: 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: 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]    = note: `#[warn(unused_imports)]` on by default
[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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: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: 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: 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: 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: 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: 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: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: 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: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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 598 |     ) -> Result<Value, Box<dyn error::Error>> {
[INFO] [stdout]     |                            +++
[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] error: aborting due to 4 previous errors; 41 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` due to 5 previous errors; 41 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3255c5e228b03bfefd7f920a74927dca78e185c787fddb2d83c20561bd3e14bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3255c5e228b03bfefd7f920a74927dca78e185c787fddb2d83c20561bd3e14bb", kill_on_drop: false }`
[INFO] [stdout] 3255c5e228b03bfefd7f920a74927dca78e185c787fddb2d83c20561bd3e14bb
