[INFO] fetching crate buffett-core 0.1.1... [INFO] testing buffett-core-0.1.1 against 1.60.0 for beta-1.61-1 [INFO] extracting crate buffett-core 0.1.1 into /workspace/builds/worker-3/source [INFO] validating manifest of crates.io crate buffett-core 0.1.1 on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.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-3/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bitconch-jsonrpc-server-utils v0.1.0 [INFO] [stderr] Downloaded bitconch-jsonrpc-http-server v0.1.0 [INFO] [stderr] Downloaded bitconch-jsonrpc-core v0.1.0 [INFO] [stderr] Downloaded buffett-crypto v0.1.1 [INFO] [stderr] Downloaded buffett-metrics v0.1.3 [INFO] [stderr] Downloaded bitconch-jsonrpc-pubsub v0.1.0 [INFO] [stderr] Downloaded bitconch-jsonrpc-macros v0.1.0 [INFO] [stderr] Downloaded buffett-budget v0.1.2 [INFO] [stderr] Downloaded nix v0.11.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] a88d8ce3fb7eafb525f6c87cfc98c2a6e5c881c7ad03d9fc37940df4bac793dd [INFO] running `Command { std: "docker" "start" "-a" "a88d8ce3fb7eafb525f6c87cfc98c2a6e5c881c7ad03d9fc37940df4bac793dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a88d8ce3fb7eafb525f6c87cfc98c2a6e5c881c7ad03d9fc37940df4bac793dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a88d8ce3fb7eafb525f6c87cfc98c2a6e5c881c7ad03d9fc37940df4bac793dd", kill_on_drop: false }` [INFO] [stdout] a88d8ce3fb7eafb525f6c87cfc98c2a6e5c881c7ad03d9fc37940df4bac793dd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] a13272fb42ffed17a56e5e07fc6c2a4ce3cb78efbfa51d90294655eedf984cb0 [INFO] running `Command { std: "docker" "start" "-a" "a13272fb42ffed17a56e5e07fc6c2a4ce3cb78efbfa51d90294655eedf984cb0", kill_on_drop: false }` [INFO] [stderr] Compiling byte-tools v0.2.0 [INFO] [stderr] Compiling bs58 v0.2.5 [INFO] [stderr] Compiling nix v0.11.1 [INFO] [stderr] Compiling untrusted v0.6.2 [INFO] [stderr] Compiling ipnetwork v0.12.8 [INFO] [stderr] Compiling buffett-timing v0.1.1 [INFO] [stderr] Compiling pnet_base v0.21.0 [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Compiling sys-info v0.5.10 [INFO] [stderr] Compiling try_from v0.3.2 [INFO] [stderr] Compiling itertools v0.7.11 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling owning_ref v0.4.1 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling pnet_sys v0.21.0 [INFO] [stderr] Compiling dirs v1.0.5 [INFO] [stderr] Compiling want v0.2.0 [INFO] [stderr] Compiling hyper v0.12.36 [INFO] [stderr] Compiling parking_lot_core v0.3.1 [INFO] [stderr] Compiling bstr v0.2.17 [INFO] [stderr] Compiling openssl-sys v0.9.72 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling generic-array v0.9.1 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling futures-cpupool v0.1.8 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_xorshift v0.1.1 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling block-buffer v0.3.3 [INFO] [stderr] Compiling lock_api v0.1.5 [INFO] [stderr] Compiling pnet_datalink v0.21.0 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling backtrace v0.3.64 [INFO] [stderr] Compiling tokio-executor v0.1.10 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling crossbeam-queue v0.2.3 [INFO] [stderr] Compiling flate2 v1.0.23 [INFO] [stderr] Compiling digest v0.7.6 [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 mime_guess v2.0.4 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling hyper v0.10.16 [INFO] [stderr] Compiling cookie v0.12.0 [INFO] [stderr] Compiling globset v0.4.8 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling publicsuffix v1.5.6 [INFO] [stderr] Compiling openssl v0.10.38 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling tokio-current-thread v0.1.7 [INFO] [stderr] Compiling tokio-timer v0.2.13 [INFO] [stderr] Compiling mio-uds v0.6.8 [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling crossbeam-deque v0.7.4 [INFO] [stderr] Compiling sha2 v0.7.1 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling tokio-codec v0.1.2 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling uuid v0.7.4 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling tokio-threadpool v0.1.18 [INFO] [stderr] Compiling h2 v0.1.26 [INFO] [stderr] Compiling http-body v0.1.0 [INFO] [stderr] Compiling tokio-reactor v0.1.12 [INFO] [stderr] Compiling parking_lot v0.6.4 [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 tokio-fs v0.1.7 [INFO] [stderr] Compiling tokio v0.1.22 [INFO] [stderr] Compiling native-tls v0.2.10 [INFO] [stderr] Compiling hyper-native-tls v0.3.0 [INFO] [stderr] Compiling serde_json v1.0.79 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling generic-array v0.12.4 [INFO] [stderr] Compiling serde_cbor v0.9.0 [INFO] [stderr] Compiling serde_urlencoded v0.5.5 [INFO] [stderr] Compiling chrono v0.4.19 [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 hyper-tls v0.3.2 [INFO] [stderr] Compiling bitconch-jsonrpc-server-utils v0.1.0 [INFO] [stderr] Compiling bitconch-jsonrpc-pubsub v0.1.0 [INFO] [stderr] Compiling buffett-metrics v0.1.3 [INFO] [stderr] Compiling reqwest v0.9.24 [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)> { [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)> { [INFO] [stdout] 493 + pub fn close(self) -> Result> { [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; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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) -> Result; [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 [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) -> Result; [INFO] [stdout] | ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec` [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 [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)> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 81 - fn join(self) -> thread::Result<(Option)> { [INFO] [stdout] 81 + fn join(self) -> thread::Result> { [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] | ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()` [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] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - random: &'a Fn() -> u64, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - get_stake: &'a Fn(Pubkey) -> f64, [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - JoinError(Box), [INFO] [stdout] 16 + JoinError(Box), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new(random: &'a Fn() -> u64) -> Self { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 51 - get_stake: &'a Fn(Pubkey) -> f64, [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> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 - impl std::convert::From> for Error { [INFO] [stdout] 69 + impl std::convert::From> 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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 - fn from(e: Box) -> Error { [INFO] [stdout] 70 + fn from(e: Box) -> 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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 100 - ) -> Result> { [INFO] [stdout] 100 + ) -> Result> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 281 - pub fn process_command(config: &WalletConfig) -> Result> { [INFO] [stdout] 281 + pub fn process_command(config: &WalletConfig) -> Result> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 567 - pub fn gen_keypair_file(outfile: String) -> Result> { [INFO] [stdout] 567 + pub fn gen_keypair_file(outfile: String) -> Result> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 635 - fn get_last_id(config: &WalletConfig) -> Result> { [INFO] [stdout] 635 + fn get_last_id(config: &WalletConfig) -> Result> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 652 - ) -> Result> { [INFO] [stdout] 652 + ) -> Result> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 - fn cause(&self) -> Option<&error::Error> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 598 - ) -> Result> { [INFO] [stdout] 598 + ) -> Result> { [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 1m 17s [INFO] running `Command { std: "docker" "inspect" "a13272fb42ffed17a56e5e07fc6c2a4ce3cb78efbfa51d90294655eedf984cb0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a13272fb42ffed17a56e5e07fc6c2a4ce3cb78efbfa51d90294655eedf984cb0", kill_on_drop: false }` [INFO] [stdout] a13272fb42ffed17a56e5e07fc6c2a4ce3cb78efbfa51d90294655eedf984cb0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e1c69d763d6a358a0cd547eb028b013426175d1e80becfd3fa1f11d63a00b400 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "e1c69d763d6a358a0cd547eb028b013426175d1e80becfd3fa1f11d63a00b400", 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)> { [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)> { [INFO] [stdout] 493 + pub fn close(self) -> Result> { [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; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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) -> Result; [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 [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) -> Result; [INFO] [stdout] | ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec` [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 [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)> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 81 - fn join(self) -> thread::Result<(Option)> { [INFO] [stdout] 81 + fn join(self) -> thread::Result> { [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] | ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()` [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] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - random: &'a Fn() -> u64, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - get_stake: &'a Fn(Pubkey) -> f64, [INFO] [stdout] 44 + get_stake: &'a dyn Fn(Pubkey) -> f64, [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/result.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | JoinError(Box), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - JoinError(Box), [INFO] [stdout] 16 + JoinError(Box), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new(random: &'a Fn() -> u64) -> Self { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 51 - get_stake: &'a Fn(Pubkey) -> f64, [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> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 - impl std::convert::From> for Error { [INFO] [stdout] 69 + impl std::convert::From> 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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 - fn from(e: Box) -> Error { [INFO] [stdout] 70 + fn from(e: Box) -> 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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 100 - ) -> Result> { [INFO] [stdout] 100 + ) -> Result> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 281 - pub fn process_command(config: &WalletConfig) -> Result> { [INFO] [stdout] 281 + pub fn process_command(config: &WalletConfig) -> Result> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 567 - pub fn gen_keypair_file(outfile: String) -> Result> { [INFO] [stdout] 567 + pub fn gen_keypair_file(outfile: String) -> Result> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 635 - fn get_last_id(config: &WalletConfig) -> Result> { [INFO] [stdout] 635 + fn get_last_id(config: &WalletConfig) -> Result> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 652 - ) -> Result> { [INFO] [stdout] 652 + ) -> Result> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 - fn cause(&self) -> Option<&error::Error> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 598 - ) -> Result> { [INFO] [stdout] 598 + ) -> Result> { [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)> { [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)> { [INFO] [stdout] 493 + pub fn close(self) -> Result> { [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; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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; [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 [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) -> Result; [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 [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) -> Result; [INFO] [stdout] | ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec` [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 [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)> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 81 - fn join(self) -> thread::Result<(Option)> { [INFO] [stdout] 81 + fn join(self) -> thread::Result> { [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] | ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()` [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] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - random: &'a Fn() -> u64, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 - get_stake: &'a Fn(Pubkey) -> f64, [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), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - JoinError(Box), [INFO] [stdout] 16 + JoinError(Box), [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - pub fn new(random: &'a Fn() -> u64) -> Self { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 51 - get_stake: &'a Fn(Pubkey) -> f64, [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> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 - impl std::convert::From> for Error { [INFO] [stdout] 69 + impl std::convert::From> 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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 - fn from(e: Box) -> Error { [INFO] [stdout] 70 + fn from(e: Box) -> 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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 100 - ) -> Result> { [INFO] [stdout] 100 + ) -> Result> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 281 - pub fn process_command(config: &WalletConfig) -> Result> { [INFO] [stdout] 281 + pub fn process_command(config: &WalletConfig) -> Result> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 567 - pub fn gen_keypair_file(outfile: String) -> Result> { [INFO] [stdout] 567 + pub fn gen_keypair_file(outfile: String) -> Result> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 635 - fn get_last_id(config: &WalletConfig) -> Result> { [INFO] [stdout] 635 + fn get_last_id(config: &WalletConfig) -> Result> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 652 - ) -> Result> { [INFO] [stdout] 652 + ) -> Result> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 - fn cause(&self) -> Option<&error::Error> { [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 598 - ) -> Result> { [INFO] [stdout] 598 + ) -> Result> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/ledger.rs:554:12 [INFO] [stdout] | [INFO] [stdout] 554 | (mint, path) [INFO] [stdout] | ^^^^- help: try using a conversion method: `.to_string()` [INFO] [stdout] | | [INFO] [stdout] | expected struct `std::string::String`, found `str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `str` cannot be known at compilation time [INFO] [stdout] --> src/ledger.rs:755:33 [INFO] [stdout] | [INFO] [stdout] 755 | std::fs::remove_dir_all(ledger_path).unwrap(); [INFO] [stdout] | ----------------------- ^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `str` [INFO] [stdout] note: required by a bound in `std::fs::remove_dir_all` [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 6 previous errors; 41 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0425. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `buffett-core` due to 7 previous errors; 41 warnings emitted [INFO] running `Command { std: "docker" "inspect" "e1c69d763d6a358a0cd547eb028b013426175d1e80becfd3fa1f11d63a00b400", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e1c69d763d6a358a0cd547eb028b013426175d1e80becfd3fa1f11d63a00b400", kill_on_drop: false }` [INFO] [stdout] e1c69d763d6a358a0cd547eb028b013426175d1e80becfd3fa1f11d63a00b400