[INFO] cloning repository https://github.com/guoxingyun/orderBook-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/guoxingyun/orderBook-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguoxingyun%2ForderBook-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguoxingyun%2ForderBook-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b1442614b7eb6608e314099810d2cbbcf556d723
[INFO] testing guoxingyun/orderBook-rs against beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguoxingyun%2ForderBook-rs" "/workspace/builds/worker-7/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/guoxingyun/orderBook-rs on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/guoxingyun/orderBook-rs
[INFO] finished tweaking git repo https://github.com/guoxingyun/orderBook-rs
[INFO] tweaked toml for git repo https://github.com/guoxingyun/orderBook-rs written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/guoxingyun/orderBook-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: rust
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rust_decimal v1.4.0
[INFO] [stderr]   Downloaded jsonrpc-client-http v0.5.0
[INFO] [stderr]   Downloaded tokio-postgres v0.5.3
[INFO] [stderr]   Downloaded postgres-protocol v0.5.1
[INFO] [stderr]   Downloaded jsonrpc-http-server v12.2.0
[INFO] [stderr]   Downloaded postgres-protocol v0.4.1
[INFO] [stderr]   Downloaded rdkafka v0.23.1
[INFO] [stderr]   Downloaded jsonrpc-server-utils v12.2.0
[INFO] [stderr]   Downloaded tokio-postgres v0.4.0-rc.3
[INFO] [stderr]   Downloaded jsonrpc-core v12.2.0
[INFO] [stderr]   Downloaded rdkafka-sys v1.3.1
[INFO] [stderr]   Downloaded postgres v0.16.0-rc.2
[INFO] [stderr]   Downloaded postgres v0.17.2
[INFO] [stderr]   Downloaded slog-term v2.5.0
[INFO] [stderr]   Downloaded jsonrpc-core v8.0.1
[INFO] [stderr]   Downloaded jsonrpc-client-core v0.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dcdf071bb5712374bdb1ef6607ca8a68357aa1762af17c9978e48ff56d8866fa
[INFO] running `Command { std: "docker" "start" "-a" "dcdf071bb5712374bdb1ef6607ca8a68357aa1762af17c9978e48ff56d8866fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dcdf071bb5712374bdb1ef6607ca8a68357aa1762af17c9978e48ff56d8866fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dcdf071bb5712374bdb1ef6607ca8a68357aa1762af17c9978e48ff56d8866fa", kill_on_drop: false }`
[INFO] [stdout] dcdf071bb5712374bdb1ef6607ca8a68357aa1762af17c9978e48ff56d8866fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 088cd5436ee31ade3bcbab9d3b46993bbcdb42a658da0283ebe52f1bb3612311
[INFO] running `Command { std: "docker" "start" "-a" "088cd5436ee31ade3bcbab9d3b46993bbcdb42a658da0283ebe52f1bb3612311", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: rust
[INFO] [stderr]    Compiling libc v0.2.68
[INFO] [stderr]    Compiling syn v1.0.30
[INFO] [stderr]    Compiling serde v1.0.105
[INFO] [stderr]    Compiling proc-macro-hack v0.5.14
[INFO] [stderr]    Compiling futures-io v0.3.5
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling base64 v0.12.0
[INFO] [stderr]    Compiling siphasher v0.3.2
[INFO] [stderr]    Compiling slog v2.5.2
[INFO] [stderr]    Compiling scoped-tls v0.1.2
[INFO] [stderr]    Compiling take v0.1.0
[INFO] [stderr]    Compiling try-lock v0.1.0
[INFO] [stderr]    Compiling smallvec v0.2.1
[INFO] [stderr]    Compiling slab v0.3.0
[INFO] [stderr]    Compiling md5 v0.6.1
[INFO] [stderr]    Compiling rent_to_own v0.1.0
[INFO] [stderr]    Compiling antidote v1.0.0
[INFO] [stderr]    Compiling scoped-tls-hkt v0.1.2
[INFO] [stderr]    Compiling ref_slice v1.2.0
[INFO] [stderr]    Compiling futures-channel v0.3.5
[INFO] [stderr]    Compiling futures-task v0.3.5
[INFO] [stderr]    Compiling backtrace-sys v0.1.34
[INFO] [stderr]    Compiling libz-sys v1.0.25
[INFO] [stderr]    Compiling cmake v0.1.44
[INFO] [stderr]    Compiling miniz-sys v0.1.12
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-iter v0.1.40
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling relay v0.1.1
[INFO] [stderr]    Compiling lock_api v0.2.0
[INFO] [stderr]    Compiling ring v0.14.6
[INFO] [stderr]    Compiling error-chain v0.12.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]    Compiling stringprep v0.1.2
[INFO] [stderr]    Compiling kv-log-macro v1.0.6
[INFO] [stderr]    Compiling base64 v0.10.1
[INFO] [stderr]    Compiling base64 v0.9.3
[INFO] [stderr]    Compiling snap v0.2.5
[INFO] [stderr]    Compiling parking_lot_core v0.5.0
[INFO] [stderr]    Compiling parking_lot v0.8.0
[INFO] [stderr]    Compiling bstr v0.2.12
[INFO] [stderr]    Compiling generic-array v0.12.3
[INFO] [stderr]    Compiling want v0.0.4
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling regex v1.3.5
[INFO] [stderr]    Compiling quote v1.0.3
[INFO] [stderr]    Compiling tokio-timer v0.2.13
[INFO] [stderr]    Compiling tokio-current-thread v0.1.7
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling darling_core v0.8.6
[INFO] [stderr]    Compiling crossbeam v0.7.3
[INFO] [stderr]    Compiling phf v0.8.0
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]    Compiling block-buffer v0.7.3
[INFO] [stderr]    Compiling crypto-mac v0.7.0
[INFO] [stderr]    Compiling rdkafka-sys v1.3.1
[INFO] [stderr]    Compiling hmac v0.7.1
[INFO] [stderr]    Compiling sha2 v0.8.1
[INFO] [stderr]    Compiling slog-async v2.5.0
[INFO] [stderr]    Compiling num v0.2.1
[INFO] [stderr]    Compiling globset v0.4.5
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling num_cpus v1.12.0
[INFO] [stderr]    Compiling net2 v0.2.33
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling time v0.1.42
[INFO] [stderr]    Compiling signal-hook-registry v1.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.7.0
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling dirs-sys v0.3.4
[INFO] [stderr]    Compiling socket2 v0.3.12
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling openssl-sys v0.9.54
[INFO] [stderr]    Compiling nix v0.17.0
[INFO] [stderr]    Compiling backtrace v0.3.45
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling flate2 v0.2.20
[INFO] [stderr]    Compiling tokio-threadpool v0.1.18
[INFO] [stderr]    Compiling futures-cpupool v0.1.8
[INFO] [stderr]    Compiling dirs v2.0.2
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling bytes v0.4.12
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling mio v0.6.21
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling parking_lot v0.10.0
[INFO] [stderr]    Compiling openssl v0.10.28
[INFO] [stderr]    Compiling term v0.6.1
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling tokio-io v0.1.13
[INFO] [stderr]    Compiling http v0.1.21
[INFO] [stderr]    Compiling string v0.2.1
[INFO] [stderr]    Compiling tokio-buf v0.1.1
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling postgres-protocol v0.4.1
[INFO] [stderr]    Compiling darling_macro v0.8.6
[INFO] [stderr]    Compiling mio-uds v0.6.7
[INFO] [stderr]    Compiling tokio-reactor v0.1.12
[INFO] [stderr]    Compiling tokio-codec v0.1.2
[INFO] [stderr]    Compiling tokio-fs v0.1.7
[INFO] [stderr]    Compiling postgres-protocol v0.5.1
[INFO] [stderr]    Compiling twox-hash v1.5.0
[INFO] [stderr]    Compiling tokio-tcp v0.1.4
[INFO] [stderr]    Compiling tokio-uds v0.2.6
[INFO] [stderr]    Compiling tokio-udp v0.1.6
[INFO] [stderr]    Compiling tokio v0.1.22
[INFO] [stderr]    Compiling postgres-types v0.1.1
[INFO] [stderr]    Compiling tokio-core v0.1.17
[INFO] [stderr]    Compiling darling v0.8.6
[INFO] [stderr]    Compiling kafka v0.8.0
[INFO] [stderr]    Compiling derive_state_machine_future v0.2.0
[INFO] [stderr]    Compiling tokio-proto v0.1.1
[INFO] [stderr]    Compiling http-body v0.1.0
[INFO] [stderr]    Compiling h2 v0.1.26
[INFO] [stderr]    Compiling hyper v0.11.27
[INFO] [stderr]    Compiling serde_derive v1.0.105
[INFO] [stderr]    Compiling pin-project-internal v0.4.17
[INFO] [stderr]    Compiling futures-macro v0.3.5
[INFO] [stderr]    Compiling tokio-macros v0.2.5
[INFO] [stderr]    Compiling derivative v2.1.1
[INFO] [stderr]    Compiling async-trait v0.1.26
[INFO] [stderr]    Compiling hyper v0.12.35
[INFO] [stderr]    Compiling tokio v0.2.13
[INFO] [stderr]    Compiling state_machine_future v0.2.0
[INFO] [stderr]    Compiling pin-project v0.4.17
[INFO] [stderr]    Compiling futures-util v0.3.5
[INFO] [stderr]    Compiling tokio-util v0.3.1
[INFO] [stderr]    Compiling futures-executor v0.3.5
[INFO] [stderr]    Compiling piper v0.1.3
[INFO] [stderr]    Compiling futures v0.3.5
[INFO] [stderr]    Compiling smol v0.1.10
[INFO] [stderr]    Compiling tokio-postgres v0.5.3
[INFO] [stderr]    Compiling async-std v1.6.0
[INFO] [stderr]    Compiling postgres v0.17.2
[INFO] [stderr]    Compiling serde_json v1.0.48
[INFO] [stderr]    Compiling toml v0.5.6
[INFO] [stderr]    Compiling chrono v0.4.11
[INFO] [stderr]    Compiling rust_decimal v1.4.0
[INFO] [stderr]    Compiling slog-term v2.5.0
[INFO] [stderr]    Compiling jsonrpc-core v8.0.1
[INFO] [stderr]    Compiling jsonrpc-core v12.2.0
[INFO] [stderr]    Compiling tokio-postgres v0.4.0-rc.3
[INFO] [stderr]    Compiling proc-macro-crate v0.1.4
[INFO] [stderr]    Compiling num_enum_derive v0.4.3
[INFO] [stderr]    Compiling jsonrpc-client-core v0.5.0
[INFO] [stderr]    Compiling jsonrpc-server-utils v12.2.0
[INFO] [stderr]    Compiling jsonrpc-client-http v0.5.0
[INFO] [stderr]    Compiling jsonrpc-http-server v12.2.0
[INFO] [stderr]    Compiling postgres v0.16.0-rc.2
[INFO] [stderr]    Compiling num_enum v0.4.3
[INFO] [stderr]    Compiling rdkafka v0.23.1
[INFO] [stderr]    Compiling orderBook-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `futures::executor::block_on`
[INFO] [stdout]  --> src/consume/engine/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use futures::executor::block_on;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Producer`, `Record`, `RequiredAcks`
[INFO] [stdout]  --> src/consume/engine/mod.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use kafka::producer::{Producer, Record, RequiredAcks};
[INFO] [stdout]   |                       ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::__private_api_enabled`
[INFO] [stdout]  --> src/consume/engine/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::__private_api_enabled;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustc_serialize::json`
[INFO] [stdout]  --> src/consume/engine/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rustc_serialize::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/consume/engine/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ord`
[INFO] [stdout]   --> src/consume/engine/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::cmp::Ord;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]   --> src/consume/engine/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::BTreeMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/consume/engine/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]   --> src/consume/engine/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ops::Mul;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]   --> src/consume/engine/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::ptr::null;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/consume/engine/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/consume/engine/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/consume/flush/mod.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(RustcEncodable, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/consume/flush/mod.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(RustcEncodable, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/consume/flush/mod.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(RustcEncodable, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/consume/flush/mod.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(RustcEncodable, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Producer`, `Record`, `RequiredAcks`
[INFO] [stdout]  --> src/consume/flush/mod.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kafka::producer::{Producer, Record, RequiredAcks};
[INFO] [stdout]   |                       ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ord`
[INFO] [stdout]  --> src/consume/flush/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]  --> src/consume/flush/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::BTreeMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]  --> src/consume/flush/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fmt::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::SystemTime`
[INFO] [stdout]  --> src/consume/flush/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::SystemTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kafka::error::Error as KafkaError`
[INFO] [stdout]   --> src/consume/flush/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use kafka::error::Error as KafkaError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rdkafka::config::ClientConfig`
[INFO] [stdout]   --> src/consume/flush/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rdkafka::config::ClientConfig;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BaseProducer`
[INFO] [stdout]   --> src/consume/flush/mod.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rdkafka::producer::{BaseProducer, BaseRecord};
[INFO] [stdout]    |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jsonrpc_http_server::jsonrpc_core::*`
[INFO] [stdout]   --> src/consume/flush/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use jsonrpc_http_server::jsonrpc_core::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jsonrpc_http_server::*`
[INFO] [stdout]   --> src/consume/flush/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use jsonrpc_http_server::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]   --> src/consume/flush/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde::Deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/consume/flush/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/consume/flush/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]   --> src/consume/flush/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::ops::Mul;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `marketLastTrades` should have an upper camel case name
[INFO] [stdout]   --> src/consume/flush/mod.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct marketLastTrades {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MarketLastTrades`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/consume/flush/mod.rs:206:20
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 if (trade.price == bid[0]) {
[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 `if` condition
[INFO] [stdout]    --> src/consume/flush/mod.rs:218:20
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 if (trade.price == ask[0]) {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ord`
[INFO] [stdout]  --> src/consume/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cmp::Ord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]  --> src/consume/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::BTreeMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::offset::LocalResult`
[INFO] [stdout]   --> src/consume/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use chrono::offset::LocalResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]   --> src/consume/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use chrono::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jsonrpc_http_server::jsonrpc_core::*`
[INFO] [stdout]   --> src/consume/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use jsonrpc_http_server::jsonrpc_core::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jsonrpc_http_server::*`
[INFO] [stdout]   --> src/consume/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use jsonrpc_http_server::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Consumer`, `FetchOffset`, `GroupOffsetStorage`
[INFO] [stdout]   --> src/consume/mod.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 | use kafka::consumer::{Consumer, FetchOffset, GroupOffsetStorage};
[INFO] [stdout]    |                       ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kafka::error::Error as KafkaError`
[INFO] [stdout]   --> src/consume/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use kafka::error::Error as KafkaError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/consume/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/consume/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]   --> src/consume/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::ops::Mul;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `orderFilter` should have an upper camel case name
[INFO] [stdout]   --> src/consume/mod.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct orderFilter {
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `OrderFilter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/consume/mod.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 | /         /**
[INFO] [stdout] 53 | |         unsafe {
[INFO] [stdout] 54 | |             info!("available buy order len {},available sell order len {},--BUY-{:?},--------SELL{:?}",
[INFO] [stdout] 55 | |                      crate::available_buy_orders.len(), crate::available_sell_orders.len(),
[INFO] [stdout] 56 | |                      crate::available_buy_orders, crate::available_sell_orders);
[INFO] [stdout] 57 | |         }**/
[INFO] [stdout]    | |____________^
[INFO] [stdout] 58 | /         for ms in mss.iter() {
[INFO] [stdout] 59 | |             for m in ms.messages() {
[INFO] [stdout] 60 | |                 let mut message = String::new();
[INFO] [stdout] 61 | |                 let message = String::from_utf8_lossy(m.value);
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |             let _ = crate::ORDER_CONSUMER.lock().unwrap().consume_messageset(ms);
[INFO] [stdout] 86 | |         }
[INFO] [stdout]    | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout]    = help: use `/* */` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/consume/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 | /         /**
[INFO] [stdout] 88 | |         unsafe {
[INFO] [stdout] 89 | |             info!("available buy order len {},available sell order len {},--BUY-{:?},--------SELL{:?}",
[INFO] [stdout] 90 | |                      crate::available_buy_orders.len(), crate::available_sell_orders.len(),
[INFO] [stdout] 91 | |                      crate::available_buy_orders, crate::available_sell_orders);
[INFO] [stdout] 92 | |         }**/
[INFO] [stdout]    | |____________^
[INFO] [stdout] 93 |           crate::ORDER_CONSUMER.lock().unwrap().commit_consumed();
[INFO] [stdout]    |           ------------------------------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `/* */` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/consume/mod.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 if (matched_num != 0) {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Client`, `NoTls`, `config::Config`, `error::Error`, `row::SimpleQueryRow`
[INFO] [stdout]  --> src/models/mod.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use postgres::{config::Config, error::Error, row::SimpleQueryRow, Client, NoTls};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustc_serialize::json`
[INFO] [stdout]  --> src/models/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rustc_serialize::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]  --> src/models/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Mul;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]  --> src/models/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr::null;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> src/models/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/models/mod.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Deserialize, RustcDecodable, RustcEncodable, Debug, Default, Clone)]
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/models/mod.rs:24:43
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Deserialize, RustcDecodable, RustcEncodable, Debug, Default, Clone)]
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/models/mod.rs:51:27
[INFO] [stdout]    |
[INFO] [stdout] 51 |     #[derive(Deserialize, RustcDecodable, Debug, Default, Clone)]
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/models/mod.rs:143:16
[INFO] [stdout]     |
[INFO] [stdout] 143 |             if (index < trades_len - 1) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::offset::LocalResult`
[INFO] [stdout]  --> src/util/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chrono::offset::LocalResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]  --> src/util/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ffi::CString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/mod.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let value = value as &Any;
[INFO] [stdout]    |                           ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::BufReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::fs::OpenOptions;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::Level`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use log::Level;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::LevelFilter`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use log::LevelFilter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Producer`, `Record`, `RequiredAcks`
[INFO] [stdout]   --> src/main.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 | use kafka::producer::{Producer, Record, RequiredAcks};
[INFO] [stdout]    |                       ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BaseRecord`
[INFO] [stdout]   --> src/main.rs:32:39
[INFO] [stdout]    |
[INFO] [stdout] 32 | use rdkafka::producer::{BaseProducer, BaseRecord};
[INFO] [stdout]    |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::fmt::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::ptr::null;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::channel`
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use std::sync::mpsc::channel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]   --> src/consume/engine/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fmt::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/consume/mod.rs:60:25
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let mut message = String::new();
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoded_message`
[INFO] [stdout]   --> src/consume/mod.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let mut decoded_message: postgresql::EngineOrder = Default::default();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_add` is never read
[INFO] [stdout]    --> src/consume/mod.rs:118:25
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let mut index_add = 0;
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `partner_available_orders` is never read
[INFO] [stdout]   --> src/consume/engine/mod.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut partner_available_orders = &mut Default::default();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `price_gap` is never read
[INFO] [stdout]   --> src/consume/engine/mod.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut price_gap = 0.0;
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `matched_amount` is never read
[INFO] [stdout]    --> src/consume/engine/mod.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut matched_amount: f64 = 0.0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/consume/engine/mod.rs:128:17
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut index = 0;
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `opponents_available_orders` is never read
[INFO] [stdout]    --> src/consume/engine/mod.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut opponents_available_orders = &mut Default::default();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `partner_available_orders` is never read
[INFO] [stdout]    --> src/consume/engine/mod.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut partner_available_orders = &mut Default::default();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]    --> src/models/mod.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |         let rows = result.unwrap();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> src/models/mod.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 232 |             result = crate::CLIENTDB.lock().unwrap().execute(&*sql, &[]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut client;
[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/consume/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut mss = crate::ORDER_CONSUMER.lock().unwrap().poll().unwrap();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/consume/mod.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let mut message = String::new();
[INFO] [stdout]    |                     ----^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/consume/mod.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let mut decoded_message: postgresql::EngineOrder = Default::default();
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/consume/mod.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 let mut matched_num = postgresql::count_matched_trades();
[INFO] [stdout]     |                     ----^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/consume/engine/mod.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut index = 0;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/consume/engine/mod.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |             let mut current_opponents_amount = opponents_available_orders[0].amount.clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/consume/engine/mod.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |         let mut trade = EngineTrade {
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/consume/engine/mod.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     unsafe {
[INFO] [stdout]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/consume/engine/mod.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]   --> src/main.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `available_buy_orders` should have an upper case name
[INFO] [stdout]   --> src/main.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | static mut available_buy_orders: Vec<postgresql::EngineOrder> = Vec::new();
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `AVAILABLE_BUY_ORDERS`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `available_sell_orders` should have an upper case name
[INFO] [stdout]   --> src/main.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | static mut available_sell_orders: Vec<postgresql::EngineOrder> = Vec::new();
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `AVAILABLE_SELL_ORDERS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `trades` should have an upper case name
[INFO] [stdout]   --> src/main.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | static mut trades: Vec<consume::engine::EngineTrade> = Vec::new();
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to upper case: `TRADES`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `market_id` should have an upper case name
[INFO] [stdout]   --> src/main.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | static mut market_id: String = String::new();
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper case: `MARKET_ID`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `kafka_server` should have an upper case name
[INFO] [stdout]   --> src/main.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | static kafka_server: &str = "localhost:9092";
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to upper case: `KAFKA_SERVER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restartDB` should have a snake case name
[INFO] [stdout]   --> src/main.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn restartDB() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^ help: convert the identifier to snake case: `restart_db`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connetDB` should have a snake case name
[INFO] [stdout]   --> src/main.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn connetDB() -> Option<postgres::Client> {
[INFO] [stdout]    |    ^^^^^^^^ help: convert the identifier to snake case: `connet_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/consume/mod.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         crate::ORDER_CONSUMER.lock().unwrap().commit_consumed();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `futures::Future` that must be used
[INFO] [stdout]    --> src/consume/mod.rs:126:21
[INFO] [stdout]     |
[INFO] [stdout] 126 |                     flush::update_maker(&mut maker_order, &trade);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lastTrades` should have a snake case name
[INFO] [stdout]    --> src/consume/flush/mod.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let mut lastTrades: Vec<LastTrade> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `last_trades`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `priceExsit` should have a snake case name
[INFO] [stdout]    --> src/consume/flush/mod.rs:204:21
[INFO] [stdout]     |
[INFO] [stdout] 204 |             let mut priceExsit = false;
[INFO] [stdout]     |                     ^^^^^^^^^^ help: convert the identifier to snake case: `price_exsit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `priceExsit` should have a snake case name
[INFO] [stdout]    --> src/consume/flush/mod.rs:216:21
[INFO] [stdout]     |
[INFO] [stdout] 216 |             let mut priceExsit = false;
[INFO] [stdout]     |                     ^^^^^^^^^^ help: convert the identifier to snake case: `price_exsit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `marketID` should have a snake case name
[INFO] [stdout]   --> src/models/mod.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         pub marketID: String,
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `market_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tradesArr` should have a snake case name
[INFO] [stdout]    --> src/models/mod.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut tradesArr: Vec<&str> = Default::default();
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `trades_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 108 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 44.17s
[INFO] running `Command { std: "docker" "inspect" "088cd5436ee31ade3bcbab9d3b46993bbcdb42a658da0283ebe52f1bb3612311", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "088cd5436ee31ade3bcbab9d3b46993bbcdb42a658da0283ebe52f1bb3612311", kill_on_drop: false }`
[INFO] [stdout] 088cd5436ee31ade3bcbab9d3b46993bbcdb42a658da0283ebe52f1bb3612311
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6168f0d73a48b51f5dc9418e5f1c5c7a2e684a09914d5faa315d04683547d4de
[INFO] running `Command { std: "docker" "start" "-a" "6168f0d73a48b51f5dc9418e5f1c5c7a2e684a09914d5faa315d04683547d4de", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: rust
[INFO] [stderr]    Compiling orderBook-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `futures::executor::block_on`
[INFO] [stdout]  --> src/consume/engine/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use futures::executor::block_on;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Producer`, `Record`, `RequiredAcks`
[INFO] [stdout]  --> src/consume/engine/mod.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use kafka::producer::{Producer, Record, RequiredAcks};
[INFO] [stdout]   |                       ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::__private_api_enabled`
[INFO] [stdout]  --> src/consume/engine/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::__private_api_enabled;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustc_serialize::json`
[INFO] [stdout]  --> src/consume/engine/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rustc_serialize::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/consume/engine/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ord`
[INFO] [stdout]   --> src/consume/engine/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::cmp::Ord;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]   --> src/consume/engine/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::BTreeMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/consume/engine/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]   --> src/consume/engine/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::ops::Mul;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]   --> src/consume/engine/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::ptr::null;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/consume/engine/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/consume/engine/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/consume/flush/mod.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(RustcEncodable, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/consume/flush/mod.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(RustcEncodable, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/consume/flush/mod.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(RustcEncodable, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/consume/flush/mod.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(RustcEncodable, Clone)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Producer`, `Record`, `RequiredAcks`
[INFO] [stdout]  --> src/consume/flush/mod.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use kafka::producer::{Producer, Record, RequiredAcks};
[INFO] [stdout]   |                       ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ord`
[INFO] [stdout]  --> src/consume/flush/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]  --> src/consume/flush/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::BTreeMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]  --> src/consume/flush/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fmt::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::SystemTime`
[INFO] [stdout]  --> src/consume/flush/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::SystemTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kafka::error::Error as KafkaError`
[INFO] [stdout]   --> src/consume/flush/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use kafka::error::Error as KafkaError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rdkafka::config::ClientConfig`
[INFO] [stdout]   --> src/consume/flush/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rdkafka::config::ClientConfig;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BaseProducer`
[INFO] [stdout]   --> src/consume/flush/mod.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rdkafka::producer::{BaseProducer, BaseRecord};
[INFO] [stdout]    |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jsonrpc_http_server::jsonrpc_core::*`
[INFO] [stdout]   --> src/consume/flush/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use jsonrpc_http_server::jsonrpc_core::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jsonrpc_http_server::*`
[INFO] [stdout]   --> src/consume/flush/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use jsonrpc_http_server::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]   --> src/consume/flush/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde::Deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/consume/flush/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/consume/flush/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]   --> src/consume/flush/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::ops::Mul;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `marketLastTrades` should have an upper camel case name
[INFO] [stdout]   --> src/consume/flush/mod.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct marketLastTrades {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MarketLastTrades`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/consume/flush/mod.rs:206:20
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 if (trade.price == bid[0]) {
[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 `if` condition
[INFO] [stdout]    --> src/consume/flush/mod.rs:218:20
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 if (trade.price == ask[0]) {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ord`
[INFO] [stdout]  --> src/consume/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cmp::Ord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]  --> src/consume/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::BTreeMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::offset::LocalResult`
[INFO] [stdout]   --> src/consume/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use chrono::offset::LocalResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]   --> src/consume/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use chrono::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jsonrpc_http_server::jsonrpc_core::*`
[INFO] [stdout]   --> src/consume/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use jsonrpc_http_server::jsonrpc_core::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jsonrpc_http_server::*`
[INFO] [stdout]   --> src/consume/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use jsonrpc_http_server::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Consumer`, `FetchOffset`, `GroupOffsetStorage`
[INFO] [stdout]   --> src/consume/mod.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 | use kafka::consumer::{Consumer, FetchOffset, GroupOffsetStorage};
[INFO] [stdout]    |                       ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kafka::error::Error as KafkaError`
[INFO] [stdout]   --> src/consume/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use kafka::error::Error as KafkaError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/consume/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/consume/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]   --> src/consume/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::ops::Mul;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `orderFilter` should have an upper camel case name
[INFO] [stdout]   --> src/consume/mod.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct orderFilter {
[INFO] [stdout]    |        ^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `OrderFilter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/consume/mod.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 | /         /**
[INFO] [stdout] 53 | |         unsafe {
[INFO] [stdout] 54 | |             info!("available buy order len {},available sell order len {},--BUY-{:?},--------SELL{:?}",
[INFO] [stdout] 55 | |                      crate::available_buy_orders.len(), crate::available_sell_orders.len(),
[INFO] [stdout] 56 | |                      crate::available_buy_orders, crate::available_sell_orders);
[INFO] [stdout] 57 | |         }**/
[INFO] [stdout]    | |____________^
[INFO] [stdout] 58 | /         for ms in mss.iter() {
[INFO] [stdout] 59 | |             for m in ms.messages() {
[INFO] [stdout] 60 | |                 let mut message = String::new();
[INFO] [stdout] 61 | |                 let message = String::from_utf8_lossy(m.value);
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |             let _ = crate::ORDER_CONSUMER.lock().unwrap().consume_messageset(ms);
[INFO] [stdout] 86 | |         }
[INFO] [stdout]    | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout]    = help: use `/* */` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/consume/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 | /         /**
[INFO] [stdout] 88 | |         unsafe {
[INFO] [stdout] 89 | |             info!("available buy order len {},available sell order len {},--BUY-{:?},--------SELL{:?}",
[INFO] [stdout] 90 | |                      crate::available_buy_orders.len(), crate::available_sell_orders.len(),
[INFO] [stdout] 91 | |                      crate::available_buy_orders, crate::available_sell_orders);
[INFO] [stdout] 92 | |         }**/
[INFO] [stdout]    | |____________^
[INFO] [stdout] 93 |           crate::ORDER_CONSUMER.lock().unwrap().commit_consumed();
[INFO] [stdout]    |           ------------------------------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `/* */` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/consume/mod.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 if (matched_num != 0) {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Client`, `NoTls`, `config::Config`, `error::Error`, `row::SimpleQueryRow`
[INFO] [stdout]  --> src/models/mod.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use postgres::{config::Config, error::Error, row::SimpleQueryRow, Client, NoTls};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustc_serialize::json`
[INFO] [stdout]  --> src/models/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rustc_serialize::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Mul`
[INFO] [stdout]  --> src/models/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Mul;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]  --> src/models/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ptr::null;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> src/models/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/models/mod.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Deserialize, RustcDecodable, RustcEncodable, Debug, Default, Clone)]
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/models/mod.rs:24:43
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Deserialize, RustcDecodable, RustcEncodable, Debug, Default, Clone)]
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/models/mod.rs:51:27
[INFO] [stdout]    |
[INFO] [stdout] 51 |     #[derive(Deserialize, RustcDecodable, Debug, Default, Clone)]
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/models/mod.rs:143:16
[INFO] [stdout]     |
[INFO] [stdout] 143 |             if (index < trades_len - 1) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::offset::LocalResult`
[INFO] [stdout]  --> src/util/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chrono::offset::LocalResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]  --> src/util/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ffi::CString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/mod.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let value = value as &Any;
[INFO] [stdout]    |                           ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::BufReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::fs::OpenOptions;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::Level`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use log::Level;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::LevelFilter`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use log::LevelFilter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Producer`, `Record`, `RequiredAcks`
[INFO] [stdout]   --> src/main.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 | use kafka::producer::{Producer, Record, RequiredAcks};
[INFO] [stdout]    |                       ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BaseRecord`
[INFO] [stdout]   --> src/main.rs:32:39
[INFO] [stdout]    |
[INFO] [stdout] 32 | use rdkafka::producer::{BaseProducer, BaseRecord};
[INFO] [stdout]    |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::fmt::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::ptr::null;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::channel`
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use std::sync::mpsc::channel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]   --> src/consume/engine/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fmt::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/consume/mod.rs:60:25
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let mut message = String::new();
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoded_message`
[INFO] [stdout]   --> src/consume/mod.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let mut decoded_message: postgresql::EngineOrder = Default::default();
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index_add` is never read
[INFO] [stdout]    --> src/consume/mod.rs:118:25
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let mut index_add = 0;
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `partner_available_orders` is never read
[INFO] [stdout]   --> src/consume/engine/mod.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let mut partner_available_orders = &mut Default::default();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `price_gap` is never read
[INFO] [stdout]   --> src/consume/engine/mod.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut price_gap = 0.0;
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `matched_amount` is never read
[INFO] [stdout]    --> src/consume/engine/mod.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut matched_amount: f64 = 0.0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/consume/engine/mod.rs:128:17
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut index = 0;
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `opponents_available_orders` is never read
[INFO] [stdout]    --> src/consume/engine/mod.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut opponents_available_orders = &mut Default::default();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `partner_available_orders` is never read
[INFO] [stdout]    --> src/consume/engine/mod.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut partner_available_orders = &mut Default::default();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]    --> src/models/mod.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |         let rows = result.unwrap();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> src/models/mod.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 232 |             result = crate::CLIENTDB.lock().unwrap().execute(&*sql, &[]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut client;
[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/consume/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut mss = crate::ORDER_CONSUMER.lock().unwrap().poll().unwrap();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/consume/mod.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let mut message = String::new();
[INFO] [stdout]    |                     ----^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/consume/mod.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let mut decoded_message: postgresql::EngineOrder = Default::default();
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/consume/mod.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 let mut matched_num = postgresql::count_matched_trades();
[INFO] [stdout]     |                     ----^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/consume/engine/mod.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut index = 0;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/consume/engine/mod.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |             let mut current_opponents_amount = opponents_available_orders[0].amount.clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/consume/engine/mod.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |         let mut trade = EngineTrade {
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/consume/engine/mod.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     unsafe {
[INFO] [stdout]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/consume/engine/mod.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]   --> src/main.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `available_buy_orders` should have an upper case name
[INFO] [stdout]   --> src/main.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | static mut available_buy_orders: Vec<postgresql::EngineOrder> = Vec::new();
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `AVAILABLE_BUY_ORDERS`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `available_sell_orders` should have an upper case name
[INFO] [stdout]   --> src/main.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | static mut available_sell_orders: Vec<postgresql::EngineOrder> = Vec::new();
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `AVAILABLE_SELL_ORDERS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `trades` should have an upper case name
[INFO] [stdout]   --> src/main.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | static mut trades: Vec<consume::engine::EngineTrade> = Vec::new();
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to upper case: `TRADES`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `market_id` should have an upper case name
[INFO] [stdout]   --> src/main.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | static mut market_id: String = String::new();
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper case: `MARKET_ID`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `kafka_server` should have an upper case name
[INFO] [stdout]   --> src/main.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | static kafka_server: &str = "localhost:9092";
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to upper case: `KAFKA_SERVER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restartDB` should have a snake case name
[INFO] [stdout]   --> src/main.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub fn restartDB() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^ help: convert the identifier to snake case: `restart_db`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connetDB` should have a snake case name
[INFO] [stdout]   --> src/main.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn connetDB() -> Option<postgres::Client> {
[INFO] [stdout]    |    ^^^^^^^^ help: convert the identifier to snake case: `connet_db`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/consume/mod.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         crate::ORDER_CONSUMER.lock().unwrap().commit_consumed();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `futures::Future` that must be used
[INFO] [stdout]    --> src/consume/mod.rs:126:21
[INFO] [stdout]     |
[INFO] [stdout] 126 |                     flush::update_maker(&mut maker_order, &trade);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `lastTrades` should have a snake case name
[INFO] [stdout]    --> src/consume/flush/mod.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let mut lastTrades: Vec<LastTrade> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `last_trades`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `priceExsit` should have a snake case name
[INFO] [stdout]    --> src/consume/flush/mod.rs:204:21
[INFO] [stdout]     |
[INFO] [stdout] 204 |             let mut priceExsit = false;
[INFO] [stdout]     |                     ^^^^^^^^^^ help: convert the identifier to snake case: `price_exsit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `priceExsit` should have a snake case name
[INFO] [stdout]    --> src/consume/flush/mod.rs:216:21
[INFO] [stdout]     |
[INFO] [stdout] 216 |             let mut priceExsit = false;
[INFO] [stdout]     |                     ^^^^^^^^^^ help: convert the identifier to snake case: `price_exsit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `marketID` should have a snake case name
[INFO] [stdout]   --> src/models/mod.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         pub marketID: String,
[INFO] [stdout]    |             ^^^^^^^^ help: convert the identifier to snake case: `market_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tradesArr` should have a snake case name
[INFO] [stdout]    --> src/models/mod.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut tradesArr: Vec<&str> = Default::default();
[INFO] [stdout]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `trades_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 108 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.66s
[INFO] running `Command { std: "docker" "inspect" "6168f0d73a48b51f5dc9418e5f1c5c7a2e684a09914d5faa315d04683547d4de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6168f0d73a48b51f5dc9418e5f1c5c7a2e684a09914d5faa315d04683547d4de", kill_on_drop: false }`
[INFO] [stdout] 6168f0d73a48b51f5dc9418e5f1c5c7a2e684a09914d5faa315d04683547d4de
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 77c64bf22a8897b3d8c569eb37244abbd2c5744a3995784df70f3072fb2d0946
[INFO] running `Command { std: "docker" "start" "-a" "77c64bf22a8897b3d8c569eb37244abbd2c5744a3995784df70f3072fb2d0946", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: rust
[INFO] [stderr] warning: unused import: `futures::executor::block_on`
[INFO] [stderr]  --> src/consume/engine/mod.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use futures::executor::block_on;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Producer`, `Record`, `RequiredAcks`
[INFO] [stderr]  --> src/consume/engine/mod.rs:6:23
[INFO] [stderr]   |
[INFO] [stderr] 6 | use kafka::producer::{Producer, Record, RequiredAcks};
[INFO] [stderr]   |                       ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `log::__private_api_enabled`
[INFO] [stderr]  --> src/consume/engine/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use log::__private_api_enabled;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rustc_serialize::json`
[INFO] [stderr]  --> src/consume/engine/mod.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rustc_serialize::json;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::any::Any`
[INFO] [stderr]   --> src/consume/engine/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::any::Any;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ord`
[INFO] [stderr]   --> src/consume/engine/mod.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::cmp::Ord;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::BTreeMap`
[INFO] [stderr]   --> src/consume/engine/mod.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::collections::BTreeMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::env`
[INFO] [stderr]   --> src/consume/engine/mod.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::env;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Mul`
[INFO] [stderr]   --> src/consume/engine/mod.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::ops::Mul;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr::null`
[INFO] [stderr]   --> src/consume/engine/mod.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::ptr::null;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]   --> src/consume/engine/mod.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use std::rc::Rc;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]   --> src/consume/engine/mod.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use std::time::Duration;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/consume/flush/mod.rs:25:10
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[derive(RustcEncodable, Clone)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/consume/flush/mod.rs:30:10
[INFO] [stderr]    |
[INFO] [stderr] 30 | #[derive(RustcEncodable, Clone)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/consume/flush/mod.rs:36:10
[INFO] [stderr]    |
[INFO] [stderr] 36 | #[derive(RustcEncodable, Clone)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/consume/flush/mod.rs:43:10
[INFO] [stderr]    |
[INFO] [stderr] 43 | #[derive(RustcEncodable, Clone)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Producer`, `Record`, `RequiredAcks`
[INFO] [stderr]  --> src/consume/flush/mod.rs:4:23
[INFO] [stderr]   |
[INFO] [stderr] 4 | use kafka::producer::{Producer, Record, RequiredAcks};
[INFO] [stderr]   |                       ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ord`
[INFO] [stderr]  --> src/consume/flush/mod.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::cmp::Ord;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::BTreeMap`
[INFO] [stderr]  --> src/consume/flush/mod.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::collections::BTreeMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Write`
[INFO] [stderr]  --> src/consume/flush/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::fmt::Write;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::SystemTime`
[INFO] [stderr]  --> src/consume/flush/mod.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::time::SystemTime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `kafka::error::Error as KafkaError`
[INFO] [stderr]   --> src/consume/flush/mod.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use kafka::error::Error as KafkaError;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rdkafka::config::ClientConfig`
[INFO] [stderr]   --> src/consume/flush/mod.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use rdkafka::config::ClientConfig;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BaseProducer`
[INFO] [stderr]   --> src/consume/flush/mod.rs:14:25
[INFO] [stderr]    |
[INFO] [stderr] 14 | use rdkafka::producer::{BaseProducer, BaseRecord};
[INFO] [stderr]    |                         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `jsonrpc_http_server::jsonrpc_core::*`
[INFO] [stderr]   --> src/consume/flush/mod.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use jsonrpc_http_server::jsonrpc_core::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `jsonrpc_http_server::*`
[INFO] [stderr]   --> src/consume/flush/mod.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use jsonrpc_http_server::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::Deserialize`
[INFO] [stderr]   --> src/consume/flush/mod.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use serde::Deserialize;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::any::Any`
[INFO] [stderr]   --> src/consume/flush/mod.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use std::any::Any;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::env`
[INFO] [stderr]   --> src/consume/flush/mod.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use std::env;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Mul`
[INFO] [stderr]   --> src/consume/flush/mod.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | use std::ops::Mul;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `marketLastTrades` should have an upper camel case name
[INFO] [stderr]   --> src/consume/flush/mod.rs:44:8
[INFO] [stderr]    |
[INFO] [stderr] 44 | struct marketLastTrades {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MarketLastTrades`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/consume/flush/mod.rs:206:20
[INFO] [stderr]     |
[INFO] [stderr] 206 |                 if (trade.price == bid[0]) {
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/consume/flush/mod.rs:218:20
[INFO] [stderr]     |
[INFO] [stderr] 218 |                 if (trade.price == ask[0]) {
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ord`
[INFO] [stderr]  --> src/consume/mod.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::cmp::Ord;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::BTreeMap`
[INFO] [stderr]  --> src/consume/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::BTreeMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::offset::LocalResult`
[INFO] [stderr]   --> src/consume/mod.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use chrono::offset::LocalResult;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::prelude::*`
[INFO] [stderr]   --> src/consume/mod.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use chrono::prelude::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `jsonrpc_http_server::jsonrpc_core::*`
[INFO] [stderr]   --> src/consume/mod.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use jsonrpc_http_server::jsonrpc_core::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `jsonrpc_http_server::*`
[INFO] [stderr]   --> src/consume/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use jsonrpc_http_server::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Consumer`, `FetchOffset`, `GroupOffsetStorage`
[INFO] [stderr]   --> src/consume/mod.rs:15:23
[INFO] [stderr]    |
[INFO] [stderr] 15 | use kafka::consumer::{Consumer, FetchOffset, GroupOffsetStorage};
[INFO] [stderr]    |                       ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `kafka::error::Error as KafkaError`
[INFO] [stderr]   --> src/consume/mod.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use kafka::error::Error as KafkaError;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::any::Any`
[INFO] [stderr]   --> src/consume/mod.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use std::any::Any;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::env`
[INFO] [stderr]   --> src/consume/mod.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use std::env;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Mul`
[INFO] [stderr]   --> src/consume/mod.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use std::ops::Mul;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `orderFilter` should have an upper camel case name
[INFO] [stderr]   --> src/consume/mod.rs:33:8
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct orderFilter {
[INFO] [stderr]    |        ^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `OrderFilter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/consume/mod.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 | /         /**
[INFO] [stderr] 53 | |         unsafe {
[INFO] [stderr] 54 | |             info!("available buy order len {},available sell order len {},--BUY-{:?},--------SELL{:?}",
[INFO] [stderr] 55 | |                      crate::available_buy_orders.len(), crate::available_sell_orders.len(),
[INFO] [stderr] 56 | |                      crate::available_buy_orders, crate::available_sell_orders);
[INFO] [stderr] 57 | |         }**/
[INFO] [stderr]    | |____________^
[INFO] [stderr] 58 | /         for ms in mss.iter() {
[INFO] [stderr] 59 | |             for m in ms.messages() {
[INFO] [stderr] 60 | |                 let mut message = String::new();
[INFO] [stderr] 61 | |                 let message = String::from_utf8_lossy(m.value);
[INFO] [stderr] ...  |
[INFO] [stderr] 85 | |             let _ = crate::ORDER_CONSUMER.lock().unwrap().consume_messageset(ms);
[INFO] [stderr] 86 | |         }
[INFO] [stderr]    | |_________- rustdoc does not generate documentation for expressions
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr]    = help: use `/* */` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/consume/mod.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 87 | /         /**
[INFO] [stderr] 88 | |         unsafe {
[INFO] [stderr] 89 | |             info!("available buy order len {},available sell order len {},--BUY-{:?},--------SELL{:?}",
[INFO] [stderr] 90 | |                      crate::available_buy_orders.len(), crate::available_sell_orders.len(),
[INFO] [stderr] 91 | |                      crate::available_buy_orders, crate::available_sell_orders);
[INFO] [stderr] 92 | |         }**/
[INFO] [stderr]    | |____________^
[INFO] [stderr] 93 |           crate::ORDER_CONSUMER.lock().unwrap().commit_consumed();
[INFO] [stderr]    |           ------------------------------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `/* */` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/consume/mod.rs:145:20
[INFO] [stderr]     |
[INFO] [stderr] 145 |                 if (matched_num != 0) {
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Client`, `NoTls`, `config::Config`, `error::Error`, `row::SimpleQueryRow`
[INFO] [stderr]  --> src/models/mod.rs:1:16
[INFO] [stderr]   |
[INFO] [stderr] 1 | use postgres::{config::Config, error::Error, row::SimpleQueryRow, Client, NoTls};
[INFO] [stderr]   |                ^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rustc_serialize::json`
[INFO] [stderr]  --> src/models/mod.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rustc_serialize::json;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Mul`
[INFO] [stderr]  --> src/models/mod.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::ops::Mul;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr::null`
[INFO] [stderr]  --> src/models/mod.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::ptr::null;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Mutex`
[INFO] [stderr]  --> src/models/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::sync::Mutex;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/models/mod.rs:24:27
[INFO] [stderr]    |
[INFO] [stderr] 24 |     #[derive(Deserialize, RustcDecodable, RustcEncodable, Debug, Default, Clone)]
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `RustcEncodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/models/mod.rs:24:43
[INFO] [stderr]    |
[INFO] [stderr] 24 |     #[derive(Deserialize, RustcDecodable, RustcEncodable, Debug, Default, Clone)]
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/models/mod.rs:51:27
[INFO] [stderr]    |
[INFO] [stderr] 51 |     #[derive(Deserialize, RustcDecodable, Debug, Default, Clone)]
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/models/mod.rs:143:16
[INFO] [stderr]     |
[INFO] [stderr] 143 |             if (index < trades_len - 1) {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::offset::LocalResult`
[INFO] [stderr]  --> src/util/mod.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use chrono::offset::LocalResult;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ffi::CString`
[INFO] [stderr]  --> src/util/mod.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::ffi::CString;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/util/mod.rs:45:27
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let value = value as &Any;
[INFO] [stderr]    |                           ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::BufReader`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::io::BufReader;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::OpenOptions`
[INFO] [stderr]   --> src/main.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::fs::OpenOptions;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `log::Level`
[INFO] [stderr]   --> src/main.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | use log::Level;
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `log::LevelFilter`
[INFO] [stderr]   --> src/main.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | use log::LevelFilter;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Producer`, `Record`, `RequiredAcks`
[INFO] [stderr]   --> src/main.rs:30:23
[INFO] [stderr]    |
[INFO] [stderr] 30 | use kafka::producer::{Producer, Record, RequiredAcks};
[INFO] [stderr]    |                       ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BaseRecord`
[INFO] [stderr]   --> src/main.rs:32:39
[INFO] [stderr]    |
[INFO] [stderr] 32 | use rdkafka::producer::{BaseProducer, BaseRecord};
[INFO] [stderr]    |                                       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Write`
[INFO] [stderr]   --> src/main.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 33 | use std::fmt::Write;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr::null`
[INFO] [stderr]   --> src/main.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 | use std::ptr::null;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::mpsc::channel`
[INFO] [stderr]   --> src/main.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 | use std::sync::mpsc::channel;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]   --> src/main.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 36 | use std::time::Duration;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Instant`
[INFO] [stderr]   --> src/main.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | use std::time::Instant;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Write`
[INFO] [stderr]   --> src/consume/engine/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::fmt::Write;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message`
[INFO] [stderr]   --> src/consume/mod.rs:60:25
[INFO] [stderr]    |
[INFO] [stderr] 60 |                 let mut message = String::new();
[INFO] [stderr]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decoded_message`
[INFO] [stderr]   --> src/consume/mod.rs:62:25
[INFO] [stderr]    |
[INFO] [stderr] 62 |                 let mut decoded_message: postgresql::EngineOrder = Default::default();
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded_message`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `index_add` is never read
[INFO] [stderr]    --> src/consume/mod.rs:118:25
[INFO] [stderr]     |
[INFO] [stderr] 118 |                 let mut index_add = 0;
[INFO] [stderr]     |                         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `partner_available_orders` is never read
[INFO] [stderr]   --> src/consume/engine/mod.rs:47:13
[INFO] [stderr]    |
[INFO] [stderr] 47 |     let mut partner_available_orders = &mut Default::default();
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `price_gap` is never read
[INFO] [stderr]   --> src/consume/engine/mod.rs:91:17
[INFO] [stderr]    |
[INFO] [stderr] 91 |         let mut price_gap = 0.0;
[INFO] [stderr]    |                 ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `matched_amount` is never read
[INFO] [stderr]    --> src/consume/engine/mod.rs:127:17
[INFO] [stderr]     |
[INFO] [stderr] 127 |         let mut matched_amount: f64 = 0.0;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/consume/engine/mod.rs:128:17
[INFO] [stderr]     |
[INFO] [stderr] 128 |         let mut index = 0;
[INFO] [stderr]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `opponents_available_orders` is never read
[INFO] [stderr]    --> src/consume/engine/mod.rs:129:17
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let mut opponents_available_orders = &mut Default::default();
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `partner_available_orders` is never read
[INFO] [stderr]    --> src/consume/engine/mod.rs:130:17
[INFO] [stderr]     |
[INFO] [stderr] 130 |         let mut partner_available_orders = &mut Default::default();
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rows`
[INFO] [stderr]    --> src/models/mod.rs:201:13
[INFO] [stderr]     |
[INFO] [stderr] 201 |         let rows = result.unwrap();
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `result` is never read
[INFO] [stderr]    --> src/models/mod.rs:232:13
[INFO] [stderr]     |
[INFO] [stderr] 232 |             result = crate::CLIENTDB.lock().unwrap().execute(&*sql, &[]);
[INFO] [stderr]     |             ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:94:9
[INFO] [stderr]    |
[INFO] [stderr] 94 |     let mut client;
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/consume/mod.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |         let mut mss = crate::ORDER_CONSUMER.lock().unwrap().poll().unwrap();
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/consume/mod.rs:60:21
[INFO] [stderr]    |
[INFO] [stderr] 60 |                 let mut message = String::new();
[INFO] [stderr]    |                     ----^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/consume/mod.rs:62:21
[INFO] [stderr]    |
[INFO] [stderr] 62 |                 let mut decoded_message: postgresql::EngineOrder = Default::default();
[INFO] [stderr]    |                     ----^^^^^^^^^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/consume/mod.rs:142:21
[INFO] [stderr]     |
[INFO] [stderr] 142 |                 let mut matched_num = postgresql::count_matched_trades();
[INFO] [stderr]     |                     ----^^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/consume/engine/mod.rs:128:13
[INFO] [stderr]     |
[INFO] [stderr] 128 |         let mut index = 0;
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/consume/engine/mod.rs:153:17
[INFO] [stderr]     |
[INFO] [stderr] 153 |             let mut current_opponents_amount = opponents_available_orders[0].amount.clone();
[INFO] [stderr]     |                 ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/consume/engine/mod.rs:201:13
[INFO] [stderr]     |
[INFO] [stderr] 201 |         let mut trade = EngineTrade {
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/consume/engine/mod.rs:90:5
[INFO] [stderr]    |
[INFO] [stderr] 90 |     unsafe {
[INFO] [stderr]    |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/consume/engine/mod.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 122 |     unsafe {
[INFO] [stderr]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unused attribute
[INFO] [stderr]   --> src/main.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `available_buy_orders` should have an upper case name
[INFO] [stderr]   --> src/main.rs:39:12
[INFO] [stderr]    |
[INFO] [stdout] 
[INFO] [stderr] 39 | static mut available_buy_orders: Vec<postgresql::EngineOrder> = Vec::new();
[INFO] [stdout] running 0 tests
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `AVAILABLE_BUY_ORDERS`
[INFO] [stdout] 
[INFO] [stderr]    |
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `available_sell_orders` should have an upper case name
[INFO] [stderr]   --> src/main.rs:40:12
[INFO] [stderr]    |
[INFO] [stderr] 40 | static mut available_sell_orders: Vec<postgresql::EngineOrder> = Vec::new();
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `AVAILABLE_SELL_ORDERS`
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `trades` should have an upper case name
[INFO] [stderr]   --> src/main.rs:41:12
[INFO] [stderr]    |
[INFO] [stderr] 41 | static mut trades: Vec<consume::engine::EngineTrade> = Vec::new();
[INFO] [stderr]    |            ^^^^^^ help: convert the identifier to upper case: `TRADES`
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `market_id` should have an upper case name
[INFO] [stderr]   --> src/main.rs:42:12
[INFO] [stderr]    |
[INFO] [stderr] 42 | static mut market_id: String = String::new();
[INFO] [stderr]    |            ^^^^^^^^^ help: convert the identifier to upper case: `MARKET_ID`
[INFO] [stderr] 
[INFO] [stderr] warning: static variable `kafka_server` should have an upper case name
[INFO] [stderr]   --> src/main.rs:43:8
[INFO] [stderr]    |
[INFO] [stderr] 43 | static kafka_server: &str = "localhost:9092";
[INFO] [stderr]    |        ^^^^^^^^^^^^ help: convert the identifier to upper case: `KAFKA_SERVER`
[INFO] [stderr] 
[INFO] [stderr] warning: function `restartDB` should have a snake case name
[INFO] [stderr]   --> src/main.rs:72:8
[INFO] [stderr]    |
[INFO] [stderr] 72 | pub fn restartDB() -> bool {
[INFO] [stderr]    |        ^^^^^^^^^ help: convert the identifier to snake case: `restart_db`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `connetDB` should have a snake case name
[INFO] [stderr]   --> src/main.rs:93:4
[INFO] [stderr]    |
[INFO] [stderr] 93 | fn connetDB() -> Option<postgres::Client> {
[INFO] [stderr]    |    ^^^^^^^^ help: convert the identifier to snake case: `connet_db`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/consume/mod.rs:93:9
[INFO] [stderr]    |
[INFO] [stderr] 93 |         crate::ORDER_CONSUMER.lock().unwrap().commit_consumed();
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused implementer of `futures::Future` that must be used
[INFO] [stderr]    --> src/consume/mod.rs:126:21
[INFO] [stderr]     |
[INFO] [stderr] 126 |                     flush::update_maker(&mut maker_order, &trade);
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stderr] 
[INFO] [stderr] warning: variable `lastTrades` should have a snake case name
[INFO] [stderr]    --> src/consume/flush/mod.rs:164:13
[INFO] [stderr]     |
[INFO] [stderr] 164 |     let mut lastTrades: Vec<LastTrade> = Vec::new();
[INFO] [stderr]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `last_trades`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `priceExsit` should have a snake case name
[INFO] [stderr]    --> src/consume/flush/mod.rs:204:21
[INFO] [stderr]     |
[INFO] [stderr] 204 |             let mut priceExsit = false;
[INFO] [stderr]     |                     ^^^^^^^^^^ help: convert the identifier to snake case: `price_exsit`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `priceExsit` should have a snake case name
[INFO] [stderr]    --> src/consume/flush/mod.rs:216:21
[INFO] [stderr]     |
[INFO] [stderr] 216 |             let mut priceExsit = false;
[INFO] [stderr]     |                     ^^^^^^^^^^ help: convert the identifier to snake case: `price_exsit`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `marketID` should have a snake case name
[INFO] [stderr]   --> src/models/mod.rs:74:13
[INFO] [stderr]    |
[INFO] [stderr] 74 |         pub marketID: String,
[INFO] [stderr]    |             ^^^^^^^^ help: convert the identifier to snake case: `market_id`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `tradesArr` should have a snake case name
[INFO] [stderr]    --> src/models/mod.rs:130:17
[INFO] [stderr]     |
[INFO] [stderr] 130 |         let mut tradesArr: Vec<&str> = Default::default();
[INFO] [stderr]     |                 ^^^^^^^^^ help: convert the identifier to snake case: `trades_arr`
[INFO] [stderr] 
[INFO] [stderr] warning: `orderBook-rs` (bin "mist-engine-rs" test) generated 108 warnings
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/mist_engine_rs-301bb26b92f1e7d6)
[INFO] running `Command { std: "docker" "inspect" "77c64bf22a8897b3d8c569eb37244abbd2c5744a3995784df70f3072fb2d0946", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "77c64bf22a8897b3d8c569eb37244abbd2c5744a3995784df70f3072fb2d0946", kill_on_drop: false }`
[INFO] [stdout] 77c64bf22a8897b3d8c569eb37244abbd2c5744a3995784df70f3072fb2d0946
