[INFO] cloning repository https://github.com/leafyoung/algo_challenge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/leafyoung/algo_challenge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleafyoung%2Falgo_challenge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleafyoung%2Falgo_challenge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 72be784d67fb1f9b73727a2f6082019de6410c82
[INFO] checking leafyoung/algo_challenge against try#50d7e48beb74b48bd17c3749bfb73843c9ae0166 for pr-151102
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleafyoung%2Falgo_challenge" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/leafyoung/algo_challenge
[INFO] finished tweaking git repo https://github.com/leafyoung/algo_challenge
[INFO] tweaked toml for git repo https://github.com/leafyoung/algo_challenge written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/leafyoung/algo_challenge on toolchain 50d7e48beb74b48bd17c3749bfb73843c9ae0166
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/leafyoung/algo_challenge already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking leafyoung/algo_challenge against try#50d7e48beb74b48bd17c3749bfb73843c9ae0166 for pr-151102
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleafyoung%2Falgo_challenge" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/leafyoung/algo_challenge
[INFO] finished tweaking git repo https://github.com/leafyoung/algo_challenge
[INFO] tweaked toml for git repo https://github.com/leafyoung/algo_challenge written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/leafyoung/algo_challenge on toolchain 50d7e48beb74b48bd17c3749bfb73843c9ae0166
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/leafyoung/algo_challenge already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tonic-build v0.9.2
[INFO] [stderr]   Downloaded tempfile v3.7.1
[INFO] [stderr]   Downloaded tokio-tungstenite v0.20.0
[INFO] [stderr]   Downloaded tungstenite v0.20.0
[INFO] [stderr]   Downloaded data-encoding v2.4.0
[INFO] [stderr]   Downloaded openssl-sys v0.9.91
[INFO] [stderr]   Downloaded aho-corasick v1.0.4
[INFO] [stderr]   Downloaded openssl v0.10.56
[INFO] [stderr]   Downloaded rustix v0.38.8
[INFO] [stderr]   Downloaded tokio v1.31.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9751db9d0858ad323b46407bea01ab9f4d618e05b58b01b89ecf4756a4bce68a
[INFO] running `Command { std: "docker" "start" "-a" "9751db9d0858ad323b46407bea01ab9f4d618e05b58b01b89ecf4756a4bce68a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9751db9d0858ad323b46407bea01ab9f4d618e05b58b01b89ecf4756a4bce68a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9751db9d0858ad323b46407bea01ab9f4d618e05b58b01b89ecf4756a4bce68a", kill_on_drop: false }`
[INFO] [stdout] 9751db9d0858ad323b46407bea01ab9f4d618e05b58b01b89ecf4756a4bce68a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9274718dc05a5b46020dc6e4c5fa09d78fb0ba6591fe45e5a1f616b1f008b6c6
[INFO] running `Command { std: "docker" "start" "-a" "9274718dc05a5b46020dc6e4c5fa09d78fb0ba6591fe45e5a1f616b1f008b6c6", kill_on_drop: false }`
[INFO] [stderr]     Checking pin-project-lite v0.2.12
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling rustix v0.38.8
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling regex-syntax v0.7.4
[INFO] [stderr]    Compiling openssl v0.10.56
[INFO] [stderr]    Compiling syn v2.0.28
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling cc v1.0.82
[INFO] [stderr]    Compiling bytes v1.4.0
[INFO] [stderr]    Compiling prettyplease v0.1.25
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]    Compiling serde v1.0.183
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling petgraph v0.6.3
[INFO] [stderr]    Compiling regex-automata v0.3.6
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling which v4.4.0
[INFO] [stderr]    Compiling thiserror v1.0.44
[INFO] [stderr]    Compiling openssl-sys v0.9.91
[INFO] [stderr]    Compiling serde_derive v1.0.183
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking cpufeatures v0.2.9
[INFO] [stderr]    Compiling serde_json v1.0.104
[INFO] [stderr]     Checking sha1 v0.10.5
[INFO] [stderr]    Compiling tempfile v3.7.1
[INFO] [stderr]     Checking data-encoding v2.4.0
[INFO] [stderr]     Checking base64 v0.21.2
[INFO] [stderr]    Compiling regex v1.9.3
[INFO] [stderr]    Compiling prost-derive v0.11.9
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling tracing-attributes v0.1.26
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.44
[INFO] [stderr]     Checking tokio v1.31.0
[INFO] [stderr]    Compiling async-trait v0.1.73
[INFO] [stderr]     Checking pin-project v1.1.3
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]    Compiling prost v0.11.9
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]    Compiling prost-types v0.11.9
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]    Compiling prost-build v0.11.9
[INFO] [stderr]     Checking tungstenite v0.20.0
[INFO] [stderr]    Compiling tonic-build v0.9.2
[INFO] [stderr]     Checking axum-core v0.3.4
[INFO] [stderr]     Checking futures-executor v0.3.28
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]    Compiling algo_challenge v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking tokio-util v0.7.8
[INFO] [stderr]     Checking tokio-io-timeout v1.2.0
[INFO] [stderr]     Checking tokio-stream v0.1.14
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-tungstenite v0.20.0
[INFO] [stderr]     Checking h2 v0.3.20
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking hyper v0.14.27
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking axum v0.6.20
[INFO] [stderr]     Checking tonic v0.9.2
[INFO] [stdout] warning: unused imports: `OrderbookAggregatorServer` and `OrderbookAggregator`
[INFO] [stdout]   --> src/types.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     OrderbookAggregator, OrderbookAggregatorServer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OrderbookAggregatorServer` and `OrderbookAggregator`
[INFO] [stdout]   --> src/types.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     OrderbookAggregator, OrderbookAggregatorServer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::types`
[INFO] [stdout]  --> src/grpc.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::types::{
[INFO] [stdout]   |            ^^^^^ could not find `types` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::types`
[INFO] [stdout]  --> src/grpc.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::types::{
[INFO] [stdout]   |            ^^^^^ could not find `types` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `grpc`
[INFO] [stdout]   --> src/grpc.rs:92:2
[INFO] [stdout]    |
[INFO] [stdout] 92 | }
[INFO] [stdout]    |  ^ consider adding a `main` function to `src/grpc.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0601.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/exchange/binance_client.rs:164:34
[INFO] [stdout]     |
[INFO] [stdout] 164 |                         .map(|x| (Level {
[INFO] [stdout]     |                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 168 |                         }))
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 164 ~                         .map(|x| Level {
[INFO] [stdout] 165 |                             exchange: Exchange::Binance.to_string(),
[INFO] [stdout] 166 |                             price: x.0.parse::<f64>().unwrap(),
[INFO] [stdout] 167 |                              amount: x.1.parse::<f64>().unwrap()
[INFO] [stdout] 168 ~                         })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/exchange/binance_client.rs:173:34
[INFO] [stdout]     |
[INFO] [stdout] 173 |                         .map(|x| (Level {
[INFO] [stdout]     |                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 177 |                         }))
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 ~                         .map(|x| Level {
[INFO] [stdout] 174 |                             exchange: Exchange::Binance.to_string(),
[INFO] [stdout] 175 |                             price: x.0.parse::<f64>().unwrap(),
[INFO] [stdout] 176 |                              amount: x.1.parse::<f64>().unwrap()
[INFO] [stdout] 177 ~                         })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/exchange/bitstamp_client.rs:149:34
[INFO] [stdout]     |
[INFO] [stdout] 149 |                         .map(|x| (Level {
[INFO] [stdout]     |                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 153 |                         }))
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 149 ~                         .map(|x| Level {
[INFO] [stdout] 150 |                             exchange: Exchange::Bitstamp.to_string(),
[INFO] [stdout] 151 |                             price: x.0.parse::<f64>().unwrap(),
[INFO] [stdout] 152 |                              amount: x.1.parse::<f64>().unwrap()
[INFO] [stdout] 153 ~                         })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/exchange/bitstamp_client.rs:158:34
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         .map(|x| (Level {
[INFO] [stdout]     |                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 162 |                         }))
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 158 ~                         .map(|x| Level {
[INFO] [stdout] 159 |                             exchange: Exchange::Bitstamp.to_string(),
[INFO] [stdout] 160 |                             price: x.0.parse::<f64>().unwrap(),
[INFO] [stdout] 161 |                              amount: x.1.parse::<f64>().unwrap()
[INFO] [stdout] 162 ~                         })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `orderbook_aggregator::orderbook_aggregator_client::OrderbookAggregatorClient`
[INFO] [stdout]   --> src/types.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub use orderbook_aggregator::orderbook_aggregator_client::OrderbookAggregatorClient;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/exchange/binance_client.rs:164:34
[INFO] [stdout]     |
[INFO] [stdout] 164 |                         .map(|x| (Level {
[INFO] [stdout]     |                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 168 |                         }))
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 164 ~                         .map(|x| Level {
[INFO] [stdout] 165 |                             exchange: Exchange::Binance.to_string(),
[INFO] [stdout] 166 |                             price: x.0.parse::<f64>().unwrap(),
[INFO] [stdout] 167 |                              amount: x.1.parse::<f64>().unwrap()
[INFO] [stdout] 168 ~                         })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/exchange/binance_client.rs:173:34
[INFO] [stdout]     |
[INFO] [stdout] 173 |                         .map(|x| (Level {
[INFO] [stdout]     |                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 177 |                         }))
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 ~                         .map(|x| Level {
[INFO] [stdout] 174 |                             exchange: Exchange::Binance.to_string(),
[INFO] [stdout] 175 |                             price: x.0.parse::<f64>().unwrap(),
[INFO] [stdout] 176 |                              amount: x.1.parse::<f64>().unwrap()
[INFO] [stdout] 177 ~                         })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/exchange/bitstamp_client.rs:149:34
[INFO] [stdout]     |
[INFO] [stdout] 149 |                         .map(|x| (Level {
[INFO] [stdout]     |                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 153 |                         }))
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 149 ~                         .map(|x| Level {
[INFO] [stdout] 150 |                             exchange: Exchange::Bitstamp.to_string(),
[INFO] [stdout] 151 |                             price: x.0.parse::<f64>().unwrap(),
[INFO] [stdout] 152 |                              amount: x.1.parse::<f64>().unwrap()
[INFO] [stdout] 153 ~                         })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/exchange/bitstamp_client.rs:158:34
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         .map(|x| (Level {
[INFO] [stdout]     |                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 162 |                         }))
[INFO] [stdout]     |                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 158 ~                         .map(|x| Level {
[INFO] [stdout] 159 |                             exchange: Exchange::Bitstamp.to_string(),
[INFO] [stdout] 160 |                             price: x.0.parse::<f64>().unwrap(),
[INFO] [stdout] 161 |                              amount: x.1.parse::<f64>().unwrap()
[INFO] [stdout] 162 ~                         })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `orderbook_aggregator::orderbook_aggregator_client::OrderbookAggregatorClient`
[INFO] [stdout]   --> src/types.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub use orderbook_aggregator::orderbook_aggregator_client::OrderbookAggregatorClient;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `algo_challenge` (bin "grpc" test) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `algo_challenge` (bin "grpc") due to 2 previous errors
[INFO] [stdout] warning: fields `exchange` and `last_updated` are never read
[INFO] [stdout]   --> src/types.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct OrderBook {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 52 |     pub exchange: Exchange,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 53 |     pub last_updated: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderBook` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `exchange` and `last_updated` are never read
[INFO] [stdout]   --> src/types.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct OrderBook {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 52 |     pub exchange: Exchange,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 53 |     pub last_updated: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderBook` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/exchange/bitstamp_client.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct BookData {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 45 |     // parse partially
[INFO] [stdout] 46 |     pub timestamp: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BookData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_updated` is never read
[INFO] [stdout]   --> src/types.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct OrderBook {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 52 |     pub exchange: Exchange,
[INFO] [stdout] 53 |     pub last_updated: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderBook` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/exchange/bitstamp_client.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct BookData {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 45 |     // parse partially
[INFO] [stdout] 46 |     pub timestamp: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BookData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_updated` is never read
[INFO] [stdout]   --> src/types.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct OrderBook {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 52 |     pub exchange: Exchange,
[INFO] [stdout] 53 |     pub last_updated: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderBook` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9274718dc05a5b46020dc6e4c5fa09d78fb0ba6591fe45e5a1f616b1f008b6c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9274718dc05a5b46020dc6e4c5fa09d78fb0ba6591fe45e5a1f616b1f008b6c6", kill_on_drop: false }`
[INFO] [stdout] 9274718dc05a5b46020dc6e4c5fa09d78fb0ba6591fe45e5a1f616b1f008b6c6
