[INFO] fetching crate buffett-core 0.1.1...
[INFO] testing buffett-core-0.1.1 against beta-2020-10-09 for beta-1.48-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 beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "read-manifest" "--manifest-path" "Cargo.toml", 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" "+beta-2020-10-09" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded buffett-budget v0.1.2
[INFO] [stderr]   Downloaded buffett-crypto v0.1.1
[INFO] [stderr]   Downloaded buffett-metrics v0.1.3
[INFO] [stderr]   Downloaded bitconch-jsonrpc-core v0.1.0
[INFO] [stderr]   Downloaded bitconch-jsonrpc-http-server v0.1.0
[INFO] [stderr]   Downloaded bitconch-jsonrpc-macros v0.1.0
[INFO] [stderr]   Downloaded bitconch-jsonrpc-server-utils v0.1.0
[INFO] [stderr]   Downloaded bitconch-jsonrpc-pubsub v0.1.0
[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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e37c4b166de093ab669ebfd3e2a7ed015359a666c24757ed3dfdc19eddd4b6b0
[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" "e37c4b166de093ab669ebfd3e2a7ed015359a666c24757ed3dfdc19eddd4b6b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e37c4b166de093ab669ebfd3e2a7ed015359a666c24757ed3dfdc19eddd4b6b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e37c4b166de093ab669ebfd3e2a7ed015359a666c24757ed3dfdc19eddd4b6b0", kill_on_drop: false }`
[INFO] [stdout] e37c4b166de093ab669ebfd3e2a7ed015359a666c24757ed3dfdc19eddd4b6b0
[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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b6618b1291dbef5d7ef695e907485bf1d5e2846bae290cfa1f6df54c2f7afd6c
[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" "b6618b1291dbef5d7ef695e907485bf1d5e2846bae290cfa1f6df54c2f7afd6c", kill_on_drop: false }`
[INFO] [stderr]    Compiling traitobject v0.1.0
[INFO] [stderr]    Compiling antidote v1.0.0
[INFO] [stderr]    Compiling bs58 v0.2.5
[INFO] [stderr]    Compiling byte-tools v0.2.0
[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 itertools v0.7.11
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]    Compiling pnet_sys v0.21.0
[INFO] [stderr]    Compiling want v0.2.0
[INFO] [stderr]    Compiling base64 v0.9.3
[INFO] [stderr]    Compiling generic-array v0.9.0
[INFO] [stderr]    Compiling bstr v0.2.13
[INFO] [stderr]    Compiling mio v0.6.22
[INFO] [stderr]    Compiling mime v0.2.6
[INFO] [stderr]    Compiling block-buffer v0.3.3
[INFO] [stderr]    Compiling tokio-io v0.1.13
[INFO] [stderr]    Compiling pnet_datalink v0.21.0
[INFO] [stderr]    Compiling native-tls v0.2.4
[INFO] [stderr]    Compiling publicsuffix v1.5.4
[INFO] [stderr]    Compiling env_logger v0.5.13
[INFO] [stderr]    Compiling tokio-threadpool v0.1.18
[INFO] [stderr]    Compiling digest v0.7.6
[INFO] [stderr]    Compiling rayon v1.4.1
[INFO] [stderr]    Compiling hyper v0.10.16
[INFO] [stderr]    Compiling generic-array v0.12.3
[INFO] [stderr]    Compiling serde_cbor v0.9.0
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling sha2 v0.7.1
[INFO] [stderr]    Compiling bitconch-jsonrpc-core v0.1.0
[INFO] [stderr]    Compiling tokio-codec v0.1.2
[INFO] [stderr]    Compiling h2 v0.1.26
[INFO] [stderr]    Compiling globset v0.4.5
[INFO] [stderr]    Compiling cookie_store v0.7.0
[INFO] [stderr]    Compiling tokio-reactor v0.1.12
[INFO] [stderr]    Compiling mio-uds v0.6.8
[INFO] [stderr]    Compiling buffett-interface v0.1.0
[INFO] [stderr]    Compiling tokio-fs v0.1.7
[INFO] [stderr]    Compiling tokio-uds v0.2.7
[INFO] [stderr]    Compiling tokio-udp v0.1.6
[INFO] [stderr]    Compiling tokio-tcp v0.1.4
[INFO] [stderr]    Compiling bitconch-jsonrpc-pubsub v0.1.0
[INFO] [stderr]    Compiling tokio v0.1.22
[INFO] [stderr]    Compiling bitconch-jsonrpc-macros v0.1.0
[INFO] [stderr]    Compiling buffett-budget v0.1.2
[INFO] [stderr]    Compiling hyper-native-tls v0.3.0
[INFO] [stderr]    Compiling influx_db_client v0.3.6
[INFO] [stderr]    Compiling bitconch-jsonrpc-server-utils v0.1.0
[INFO] [stderr]    Compiling buffett-metrics v0.1.3
[INFO] [stderr]    Compiling hyper v0.12.35
[INFO] [stderr]    Compiling buffett-crypto v0.1.1
[INFO] [stderr]    Compiling hyper-tls v0.3.2
[INFO] [stderr]    Compiling bitconch-jsonrpc-http-server v0.1.0
[INFO] [stderr]    Compiling reqwest v0.9.24
[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:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |     random: &'a Fn() -> u64,
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> u64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[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]    |                            ^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> u64`
[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]    |                    ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Pubkey) -> f64`
[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]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Pubkey) -> f64`
[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]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[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]    |                              ^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     = note: `#[warn(redundant_semicolons)]` on by default
[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]    |                   ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Any + Send + 'static`
[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]    |                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Any + Send + 'static`
[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]    |                    ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Any + Send + 'static`
[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]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                                                                     ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                            ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                                                           ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                         ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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: 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: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 47.27s
[INFO] running `Command { std: "docker" "inspect" "b6618b1291dbef5d7ef695e907485bf1d5e2846bae290cfa1f6df54c2f7afd6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b6618b1291dbef5d7ef695e907485bf1d5e2846bae290cfa1f6df54c2f7afd6c", kill_on_drop: false }`
[INFO] [stdout] b6618b1291dbef5d7ef695e907485bf1d5e2846bae290cfa1f6df54c2f7afd6c
[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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f4c9b1988676df7f33c693cffd0f2391f96edce0e3c5d723fe135989bf250f6d
[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" "f4c9b1988676df7f33c693cffd0f2391f96edce0e3c5d723fe135989bf250f6d", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |     random: &'a Fn() -> u64,
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> u64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[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]    |                            ^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> u64`
[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]    |                    ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Pubkey) -> f64`
[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]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Pubkey) -> f64`
[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]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[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]    |                              ^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     = note: `#[warn(redundant_semicolons)]` on by default
[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]    |                   ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Any + Send + 'static`
[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]    |                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Any + Send + 'static`
[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]    |                    ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Any + Send + 'static`
[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]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                                                                     ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                            ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                                                           ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                         ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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: 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: 22 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] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 5   | use token_service::tests::tmp_ledger_path;
[INFO] [stdout]     |
[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] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use token_service::tests::tmp_ledger_path;
[INFO] [stdout]     |
[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] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use token_service::tests::tmp_ledger_path;
[INFO] [stdout]     |
[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] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 559 |     use token_service::tests::tmp_ledger_path;
[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]    |                 ^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> u64`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[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]    |                            ^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> u64`
[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]    |                    ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Pubkey) -> f64`
[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]    |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Pubkey) -> f64`
[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]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[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]    |                              ^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]     = note: `#[warn(redundant_semicolons)]` on by default
[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]    |                   ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Any + Send + 'static`
[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]    |                             ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Any + Send + 'static`
[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]    |                    ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Any + Send + 'static`
[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]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[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]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                                                                     ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                            ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                                                           ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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]     |                         ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[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] error[E0308]: mismatched types
[INFO] [stdout]    --> src/ledger.rs:554:12
[INFO] [stdout]     |
[INFO] [stdout] 554 |     (mint, path)
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            expected struct `std::string::String`, found `str`
[INFO] [stdout]     |            help: try using a conversion method: `path.to_string()`
[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]      = help: the trait `Sized` is not implemented for `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:9
[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]     = help: the trait `Sized` is not implemented for `str`
[INFO] [stdout]     = note: all function arguments must have a statically known size
[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 7 previous errors; 24 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`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "f4c9b1988676df7f33c693cffd0f2391f96edce0e3c5d723fe135989bf250f6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f4c9b1988676df7f33c693cffd0f2391f96edce0e3c5d723fe135989bf250f6d", kill_on_drop: false }`
[INFO] [stdout] f4c9b1988676df7f33c693cffd0f2391f96edce0e3c5d723fe135989bf250f6d
