[INFO] cloning repository https://github.com/matiboy/bittrade-websockets [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/matiboy/bittrade-websockets" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatiboy%2Fbittrade-websockets", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatiboy%2Fbittrade-websockets'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8bee2fe73527e8178591c2620506bcc5c3776d0f [INFO] building matiboy/bittrade-websockets against try#8b8eff55bd72abbb57167bc42222a7f91d41cb0d for pr-142134-abi-ast-error [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatiboy%2Fbittrade-websockets" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/matiboy/bittrade-websockets on toolchain 8b8eff55bd72abbb57167bc42222a7f91d41cb0d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/matiboy/bittrade-websockets [INFO] finished tweaking git repo https://github.com/matiboy/bittrade-websockets [INFO] tweaked toml for git repo https://github.com/matiboy/bittrade-websockets written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/matiboy/bittrade-websockets 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" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8e102eb7753f01cbaca03aab20d4fa9d267117dad187b6aceb11d17034769788 [INFO] running `Command { std: "docker" "start" "-a" "8e102eb7753f01cbaca03aab20d4fa9d267117dad187b6aceb11d17034769788", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8e102eb7753f01cbaca03aab20d4fa9d267117dad187b6aceb11d17034769788", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8e102eb7753f01cbaca03aab20d4fa9d267117dad187b6aceb11d17034769788", kill_on_drop: false }` [INFO] [stdout] 8e102eb7753f01cbaca03aab20d4fa9d267117dad187b6aceb11d17034769788 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 27445775586ca1f751b1a04ce457c94f30bcf0ec2d8d9d3007d7d930e4b51702 [INFO] running `Command { std: "docker" "start" "-a" "27445775586ca1f751b1a04ce457c94f30bcf0ec2d8d9d3007d7d930e4b51702", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.15 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling once_cell v1.20.2 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling cc v1.2.10 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling log v0.4.25 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling bitflags v2.8.0 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling serde v1.0.217 [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Compiling openssl-src v300.4.1+3.4.0 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling openssl v0.10.69 [INFO] [stderr] Compiling bytes v1.9.0 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling itoa v1.0.14 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling native-tls v0.2.13 [INFO] [stderr] Compiling openssl-sys v0.9.104 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling socket2 v0.5.8 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling httparse v1.9.5 [INFO] [stderr] Compiling portable-atomic v1.10.0 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling thiserror v2.0.11 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling serde_json v1.0.137 [INFO] [stderr] Compiling getrandom v0.3.1 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling rust_decimal v1.36.0 [INFO] [stderr] Compiling console v0.15.10 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling http v1.2.0 [INFO] [stderr] Compiling anstyle-parse v0.2.6 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling anstyle-query v1.1.2 [INFO] [stderr] Compiling serde_derive v1.0.217 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling thiserror-impl v2.0.11 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling tokio v1.43.0 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling colorchoice v1.0.3 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling number_prefix v0.4.0 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling anstyle v1.0.10 [INFO] [stderr] Compiling smawk v0.3.2 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling data-encoding v2.7.0 [INFO] [stderr] Compiling unicode-linebreak v0.1.5 [INFO] [stderr] Compiling textwrap v0.16.1 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling anstream v0.6.18 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling indicatif v0.17.9 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling env_filter v0.1.3 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Compiling cliclack v0.3.5 [INFO] [stderr] Compiling env_logger v0.11.6 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling tokio-util v0.7.13 [INFO] [stderr] Compiling rust_decimal_macros v1.36.0 [INFO] [stderr] Compiling tempfile v3.16.0 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tungstenite v0.26.1 [INFO] [stderr] Compiling tokio-tungstenite v0.26.1 [INFO] [stderr] Compiling bittrade-websockets v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `time::Duration` [INFO] [stdout] --> src/exchanges/manager.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, time::Duration}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `broadcast`, `oneshot`, and `time::sleep` [INFO] [stdout] --> src/exchanges/manager.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{select, sync::{broadcast, mpsc, oneshot}, time::sleep}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `UnixSocketError` and `create_socket` [INFO] [stdout] --> src/exchanges/manager.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::unix_socket::{create_socket, UnixSocketError}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/exchanges/binance/exchange.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `broadcast` and `select` [INFO] [stdout] --> src/exchanges/binance/exchange.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{select, sync::{broadcast, mpsc, oneshot, watch}}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `commands::Command` and `messages::BinancePairMessage` [INFO] [stdout] --> src/exchanges/binance/exchange.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | use super::{commands::Command, messages::BinancePairMessage}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stream::SplitSink` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use futures::{stream::SplitSink, SinkExt, StreamExt}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `JoinHandle`, `JoinSet`, and `net::TcpStream` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use tokio::{net::TcpStream, select, sync::{broadcast, mpsc, oneshot, watch, RwLock}, task::{JoinHandle, JoinSet}, time::{self, sleep}}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MaybeTlsStream` and `WebSocketStream` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:5:47 [INFO] [stdout] | [INFO] [stdout] 5 | use tokio_tungstenite::{tungstenite::Message, MaybeTlsStream, WebSocketStream}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/channels/pair.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `watch` [INFO] [stdout] --> src/channels/pair.rs:3:45 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{select, sync::{broadcast, mpsc, watch}}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio_tungstenite::tungstenite::Message` [INFO] [stdout] --> src/channels/pair.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use tokio_tungstenite::tungstenite::Message; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/exchanges/manager.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 51 | ExchangeName::Binance => { [INFO] [stdout] | --------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 54 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exchange_name` [INFO] [stdout] --> src/exchanges/manager.rs:63:37 [INFO] [stdout] | [INFO] [stdout] 63 | async fn remove_pair(&mut self, exchange_name: ExchangeName, pair: String) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exchange_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pair` [INFO] [stdout] --> src/exchanges/manager.rs:63:66 [INFO] [stdout] | [INFO] [stdout] 63 | async fn remove_pair(&mut self, exchange_name: ExchangeName, pair: String) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | let (tx, rx) = broadcast::channel::(1024); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `receiver` [INFO] [stdout] --> src/exchanges/exchange/handler.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | let (sender, receiver) = broadcast::channel(1024); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Exit` is never constructed [INFO] [stdout] --> src/control/control.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 187 | pub enum PromptResult { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] 188 | Serve(String), [INFO] [stdout] 189 | Exit, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `exchange` and `pair` are never read [INFO] [stdout] --> src/exchanges/messages.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ExchangePairPrice { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 6 | #[serde(skip)] [INFO] [stdout] 7 | pub exchange: ExchangeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | #[serde(skip)] [INFO] [stdout] 9 | pub pair: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExchangePairPrice` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ExchangeApiError` is never used [INFO] [stdout] --> src/exchanges/errors.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum ExchangeApiError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExchangeApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `remove_pair` is never used [INFO] [stdout] --> src/exchanges/manager.rs:63:14 [INFO] [stdout] | [INFO] [stdout] 16 | impl ExchangeManager { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | async fn remove_pair(&mut self, exchange_name: ExchangeName, pair: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `public_websocket_handle` is never read [INFO] [stdout] --> src/exchanges/binance/exchange.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct BinanceExchange { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 11 | public_websocket_handle: Option>, // TODO we should not need to keep the handle anymore, the oneshot sto... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinanceExchange` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `remove_pair` is never used [INFO] [stdout] --> src/exchanges/binance/exchange.rs:57:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl BinanceExchange { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub async fn remove_pair(&mut self, pair: &String) -> () { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_default_private_url` is never used [INFO] [stdout] --> src/exchanges/binance/exchange.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn get_default_private_url() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/exchanges/binance/commands.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | AddPair(String), [INFO] [stdout] | ------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 4 - AddPair(String), [INFO] [stdout] 4 + AddPair(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/exchanges/binance/commands.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | RemovePair(String), [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 5 - RemovePair(String), [INFO] [stdout] 5 + RemovePair(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `AddKey` is never constructed [INFO] [stdout] --> src/exchanges/binance/commands.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub enum Command { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 6 | AddKey(String, String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stop_sender`, `task`, and `sender` are never read [INFO] [stdout] --> src/exchanges/exchange/handler.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct ExchangeHandler { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 10 | pub stop_sender: oneshot::Sender<()>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 11 | pub task: JoinHandle<()>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | pub sender: broadcast::Sender, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExchangeHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 31s [INFO] running `Command { std: "docker" "inspect" "27445775586ca1f751b1a04ce457c94f30bcf0ec2d8d9d3007d7d930e4b51702", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27445775586ca1f751b1a04ce457c94f30bcf0ec2d8d9d3007d7d930e4b51702", kill_on_drop: false }` [INFO] [stdout] 27445775586ca1f751b1a04ce457c94f30bcf0ec2d8d9d3007d7d930e4b51702 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c52130036ec8988d3a64951687487c15bd318c769fe02b21477269207ae17fc5 [INFO] running `Command { std: "docker" "start" "-a" "c52130036ec8988d3a64951687487c15bd318c769fe02b21477269207ae17fc5", kill_on_drop: false }` [INFO] [stderr] Compiling bittrade-websockets v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `time::Duration` [INFO] [stdout] --> src/exchanges/manager.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, time::Duration}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `broadcast`, `oneshot`, and `time::sleep` [INFO] [stdout] --> src/exchanges/manager.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{select, sync::{broadcast, mpsc, oneshot}, time::sleep}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `UnixSocketError` and `create_socket` [INFO] [stdout] --> src/exchanges/manager.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::unix_socket::{create_socket, UnixSocketError}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/exchanges/binance/exchange.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `broadcast` and `select` [INFO] [stdout] --> src/exchanges/binance/exchange.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{select, sync::{broadcast, mpsc, oneshot, watch}}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `commands::Command` and `messages::BinancePairMessage` [INFO] [stdout] --> src/exchanges/binance/exchange.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | use super::{commands::Command, messages::BinancePairMessage}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stream::SplitSink` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use futures::{stream::SplitSink, SinkExt, StreamExt}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `JoinHandle`, `JoinSet`, and `net::TcpStream` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use tokio::{net::TcpStream, select, sync::{broadcast, mpsc, oneshot, watch, RwLock}, task::{JoinHandle, JoinSet}, time::{self, sleep}}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MaybeTlsStream` and `WebSocketStream` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:5:47 [INFO] [stdout] | [INFO] [stdout] 5 | use tokio_tungstenite::{tungstenite::Message, MaybeTlsStream, WebSocketStream}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::exchanges::exchange::ExchangeName` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | use crate::exchanges::exchange::ExchangeName; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `mpsc` and `watch` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:171:23 [INFO] [stdout] | [INFO] [stdout] 171 | use tokio::sync::{mpsc, watch}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:172:23 [INFO] [stdout] | [INFO] [stdout] 172 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/channels/pair.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `watch` [INFO] [stdout] --> src/channels/pair.rs:3:45 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::{select, sync::{broadcast, mpsc, watch}}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio_tungstenite::tungstenite::Message` [INFO] [stdout] --> src/channels/pair.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use tokio_tungstenite::tungstenite::Message; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/exchanges/manager.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 51 | ExchangeName::Binance => { [INFO] [stdout] | --------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 54 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exchange_name` [INFO] [stdout] --> src/exchanges/manager.rs:63:37 [INFO] [stdout] | [INFO] [stdout] 63 | async fn remove_pair(&mut self, exchange_name: ExchangeName, pair: String) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exchange_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pair` [INFO] [stdout] --> src/exchanges/manager.rs:63:66 [INFO] [stdout] | [INFO] [stdout] 63 | async fn remove_pair(&mut self, exchange_name: ExchangeName, pair: String) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx` [INFO] [stdout] --> src/exchanges/binance/websocket/public.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | let (tx, rx) = broadcast::channel::(1024); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `receiver` [INFO] [stdout] --> src/exchanges/exchange/handler.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | let (sender, receiver) = broadcast::channel(1024); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Exit` is never constructed [INFO] [stdout] --> src/control/control.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 187 | pub enum PromptResult { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] 188 | Serve(String), [INFO] [stdout] 189 | Exit, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `exchange` and `pair` are never read [INFO] [stdout] --> src/exchanges/messages.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ExchangePairPrice { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 6 | #[serde(skip)] [INFO] [stdout] 7 | pub exchange: ExchangeName, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | #[serde(skip)] [INFO] [stdout] 9 | pub pair: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExchangePairPrice` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ExchangeApiError` is never used [INFO] [stdout] --> src/exchanges/errors.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum ExchangeApiError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExchangeApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `remove_pair` is never used [INFO] [stdout] --> src/exchanges/manager.rs:63:14 [INFO] [stdout] | [INFO] [stdout] 16 | impl ExchangeManager { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | async fn remove_pair(&mut self, exchange_name: ExchangeName, pair: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `public_websocket_handle` is never read [INFO] [stdout] --> src/exchanges/binance/exchange.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct BinanceExchange { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 11 | public_websocket_handle: Option>, // TODO we should not need to keep the handle anymore, the oneshot sto... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinanceExchange` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `remove_pair` is never used [INFO] [stdout] --> src/exchanges/binance/exchange.rs:57:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl BinanceExchange { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub async fn remove_pair(&mut self, pair: &String) -> () { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_default_private_url` is never used [INFO] [stdout] --> src/exchanges/binance/exchange.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn get_default_private_url() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `AddKey` is never constructed [INFO] [stdout] --> src/exchanges/binance/commands.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub enum Command { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 6 | AddKey(String, String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stop_sender`, `task`, and `sender` are never read [INFO] [stdout] --> src/exchanges/exchange/handler.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct ExchangeHandler { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 10 | pub stop_sender: oneshot::Sender<()>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 11 | pub task: JoinHandle<()>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | pub sender: broadcast::Sender, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExchangeHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.19s [INFO] running `Command { std: "docker" "inspect" "c52130036ec8988d3a64951687487c15bd318c769fe02b21477269207ae17fc5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c52130036ec8988d3a64951687487c15bd318c769fe02b21477269207ae17fc5", kill_on_drop: false }` [INFO] [stdout] c52130036ec8988d3a64951687487c15bd318c769fe02b21477269207ae17fc5