[INFO] cloning repository https://github.com/QUANTAXIS/MIFI
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/QUANTAXIS/MIFI" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQUANTAXIS%2FMIFI", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQUANTAXIS%2FMIFI'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8c083ac7480393323b76e415b42dc3b23c1c9432
[INFO] checking QUANTAXIS/MIFI against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQUANTAXIS%2FMIFI" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/QUANTAXIS/MIFI
[INFO] finished tweaking git repo https://github.com/QUANTAXIS/MIFI
[INFO] tweaked toml for git repo https://github.com/QUANTAXIS/MIFI written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/QUANTAXIS/MIFI on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/QUANTAXIS/MIFI already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bb934289f9fe4e1de9ca84e42d3d2f6c51d3fa6a83648da349a5b2d64666c46c
[INFO] running `Command { std: "docker" "start" "-a" "bb934289f9fe4e1de9ca84e42d3d2f6c51d3fa6a83648da349a5b2d64666c46c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bb934289f9fe4e1de9ca84e42d3d2f6c51d3fa6a83648da349a5b2d64666c46c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb934289f9fe4e1de9ca84e42d3d2f6c51d3fa6a83648da349a5b2d64666c46c", kill_on_drop: false }`
[INFO] [stdout] bb934289f9fe4e1de9ca84e42d3d2f6c51d3fa6a83648da349a5b2d64666c46c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f115cf629871879cf5c0719182ac754a9807f5087211c0b62d9473a67eb390b8
[INFO] running `Command { std: "docker" "start" "-a" "f115cf629871879cf5c0719182ac754a9807f5087211c0b62d9473a67eb390b8", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.55
[INFO] [stderr]    Compiling serde_derive v1.0.118
[INFO] [stderr]    Compiling libc v0.2.81
[INFO] [stderr]    Compiling serde v1.0.118
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling serde_json v1.0.60
[INFO] [stderr]     Checking itoa v0.4.6
[INFO] [stderr]     Checking regex-syntax v0.6.21
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking regex v1.4.2
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking mifi-rs v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `mifi::Mifi`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use mifi::Mifi;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::base::Handler`
[INFO] [stdout]  --> src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::base::Handler;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Contract`, `HqTrendSlice`, `HqTrend`, and `Kline`
[INFO] [stdout]  --> src/lib.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::front::{HqTrend, HqTrendSlice, Kline, Contract};
[INFO] [stdout]   |                    ^^^^^^^  ^^^^^^^^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `from_history` and `from_real`
[INFO] [stdout]  --> src/lib.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::func::{from_history, from_real};
[INFO] [stdout]   |                   ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CtpPro`, `FullData`, and `Full`
[INFO] [stdout]  --> src/lib.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::market::{CtpPro, Full, FullData};
[INFO] [stdout]   |                     ^^^^^^  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/qafastkline.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dataframe`
[INFO] [stdout]  --> src/qafastkline.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::dataframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dataframe::DataCell`
[INFO] [stdout]  --> src/qafastkline.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::dataframe::DataCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/qafastkline.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |         if (self.high < new_price) {
[INFO] [stdout]     |            ^                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 102 -         if (self.high < new_price) {
[INFO] [stdout] 102 +         if self.high < new_price {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/qafastkline.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 |         if (self.low > new_price) {
[INFO] [stdout]     |            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 105 -         if (self.low > new_price) {
[INFO] [stdout] 105 +         if self.low > new_price {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `stock_day` should have an upper camel case name
[INFO] [stdout]  --> src/kline.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct stock_day {
[INFO] [stdout]   |            ^^^^^^^^^ help: convert the identifier to upper camel case: `StockDay`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `stock_min` should have an upper camel case name
[INFO] [stdout]   --> src/kline.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct stock_min {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `StockMin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `future_day` should have an upper camel case name
[INFO] [stdout]   --> src/kline.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct future_day {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `FutureDay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `future_min` should have an upper camel case name
[INFO] [stdout]   --> src/kline.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct future_min {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `FutureMin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::qafastkline`
[INFO] [stdout]  --> src/qamarketset.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::qafastkline;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QAAskBidBase` and `QAKlineBase`
[INFO] [stdout]  --> src/qamarketset.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::qafastkline::{QAAskBidBase, QAKlineBase, QASeries};
[INFO] [stdout]   |                          ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `marketcollection` should have an upper camel case name
[INFO] [stdout]  --> src/qamarketset.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct marketcollection {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Marketcollection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::qafastkline`
[INFO] [stdout]  --> src/marketset.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::qafastkline;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QAAskBidBase` and `QAKlineBase`
[INFO] [stdout]  --> src/marketset.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::qafastkline::{QAAskBidBase, QAKlineBase, QASeries};
[INFO] [stdout]   |                          ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `marketcollection` should have an upper camel case name
[INFO] [stdout]  --> src/marketset.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct marketcollection {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Marketcollection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]  --> src/func.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::BTreeMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CtpPro`, `Diff`, and `FullData`
[INFO] [stdout]  --> src/func.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::market::{CtpPro, Diff, FullData};
[INFO] [stdout]   |                     ^^^^^^  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/base.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]  --> src/market.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mifi::Mifi`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use mifi::Mifi;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::base::Handler`
[INFO] [stdout]  --> src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::base::Handler;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Contract`, `HqTrendSlice`, `HqTrend`, and `Kline`
[INFO] [stdout]  --> src/lib.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::front::{HqTrend, HqTrendSlice, Kline, Contract};
[INFO] [stdout]   |                    ^^^^^^^  ^^^^^^^^^^^^  ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `from_history` and `from_real`
[INFO] [stdout]  --> src/lib.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::func::{from_history, from_real};
[INFO] [stdout]   |                   ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CtpPro`, `FullData`, and `Full`
[INFO] [stdout]  --> src/lib.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::market::{CtpPro, Full, FullData};
[INFO] [stdout]   |                     ^^^^^^  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/qafastkline.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dataframe`
[INFO] [stdout]  --> src/qafastkline.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::dataframe;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dataframe::DataCell`
[INFO] [stdout]  --> src/qafastkline.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::dataframe::DataCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/front.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/qafastkline.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |         if (self.high < new_price) {
[INFO] [stdout]     |            ^                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 102 -         if (self.high < new_price) {
[INFO] [stdout] 102 +         if self.high < new_price {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/qafastkline.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 |         if (self.low > new_price) {
[INFO] [stdout]     |            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 105 -         if (self.low > new_price) {
[INFO] [stdout] 105 +         if self.low > new_price {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `stock_day` should have an upper camel case name
[INFO] [stdout]  --> src/kline.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct stock_day {
[INFO] [stdout]   |            ^^^^^^^^^ help: convert the identifier to upper camel case: `StockDay`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `stock_min` should have an upper camel case name
[INFO] [stdout]   --> src/kline.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct stock_min {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `StockMin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `future_day` should have an upper camel case name
[INFO] [stdout]   --> src/kline.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct future_day {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `FutureDay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `future_min` should have an upper camel case name
[INFO] [stdout]   --> src/kline.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct future_min {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `FutureMin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::qafastkline`
[INFO] [stdout]  --> src/qamarketset.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::qafastkline;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QAAskBidBase` and `QAKlineBase`
[INFO] [stdout]  --> src/qamarketset.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::qafastkline::{QAAskBidBase, QAKlineBase, QASeries};
[INFO] [stdout]   |                          ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `marketcollection` should have an upper camel case name
[INFO] [stdout]  --> src/qamarketset.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct marketcollection {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Marketcollection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::hash`
[INFO] [stdout]   --> src/qamarketset.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     use std::ptr::hash;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::qafastkline`
[INFO] [stdout]  --> src/marketset.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::qafastkline;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QAAskBidBase` and `QAKlineBase`
[INFO] [stdout]  --> src/marketset.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::qafastkline::{QAAskBidBase, QAKlineBase, QASeries};
[INFO] [stdout]   |                          ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `marketcollection` should have an upper camel case name
[INFO] [stdout]  --> src/marketset.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct marketcollection {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Marketcollection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::hash`
[INFO] [stdout]   --> src/marketset.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     use std::ptr::hash;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]  --> src/func.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::BTreeMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CtpPro`, `Diff`, and `FullData`
[INFO] [stdout]  --> src/func.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::market::{CtpPro, Diff, FullData};
[INFO] [stdout]   |                     ^^^^^^  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/base.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]  --> src/market.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_datetime`
[INFO] [stdout]    --> src/qafastkline.rs:308:45
[INFO] [stdout]     |
[INFO] [stdout] 308 |     pub fn update_1(&mut self, data: Value, cur_datetime: String) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_datetime`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_datetime`
[INFO] [stdout]    --> src/qafastkline.rs:313:45
[INFO] [stdout]     |
[INFO] [stdout] 313 |     pub fn update_5(&mut self, data: Value, cur_datetime: String) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_datetime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_datetime`
[INFO] [stdout]    --> src/qafastkline.rs:317:46
[INFO] [stdout]     |
[INFO] [stdout] 317 |     pub fn update_15(&mut self, data: Value, cur_datetime: String) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_datetime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_datetime`
[INFO] [stdout]    --> src/qafastkline.rs:321:46
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn update_30(&mut self, data: Value, cur_datetime: String) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_datetime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_datetime`
[INFO] [stdout]    --> src/qafastkline.rs:308:45
[INFO] [stdout]     |
[INFO] [stdout] 308 |     pub fn update_1(&mut self, data: Value, cur_datetime: String) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_datetime`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_datetime`
[INFO] [stdout]    --> src/qafastkline.rs:313:45
[INFO] [stdout]     |
[INFO] [stdout] 313 |     pub fn update_5(&mut self, data: Value, cur_datetime: String) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_datetime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_datetime`
[INFO] [stdout]    --> src/qafastkline.rs:317:46
[INFO] [stdout]     |
[INFO] [stdout] 317 |     pub fn update_15(&mut self, data: Value, cur_datetime: String) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_datetime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cur_datetime`
[INFO] [stdout]    --> src/qafastkline.rs:321:46
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn update_30(&mut self, data: Value, cur_datetime: String) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cur_datetime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fix`
[INFO] [stdout]    --> src/qafastkline.rs:449:20
[INFO] [stdout]     |
[INFO] [stdout] 449 |         let (res1, fix) = qseries.to_json();
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_fix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fix`
[INFO] [stdout]    --> src/qafastkline.rs:474:20
[INFO] [stdout]     |
[INFO] [stdout] 474 |         let (res1, fix) = qseries.to_json();
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_fix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `datetime`
[INFO] [stdout]   --> src/base.rs:22:32
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn set_datetime(&mut self, datetime: String) {}
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datetime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]   --> src/base.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn set_code(&mut self, code: String) {}
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `date`
[INFO] [stdout]   --> src/base.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn set_date(&mut self, date: String) {}
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `open`
[INFO] [stdout]   --> src/base.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn set_open(&mut self, open: f64) {}
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_open`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `close`
[INFO] [stdout]   --> src/base.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn set_close(&mut self, close: f64) {}
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_close`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high`
[INFO] [stdout]   --> src/base.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn set_high(&mut self, high: f64) {}
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low`
[INFO] [stdout]   --> src/base.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn set_low(&mut self, low: f64) {}
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_low`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vol`
[INFO] [stdout]   --> src/base.rs:29:27
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn set_vol(&mut self, vol: f64) {}
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_vol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amount`
[INFO] [stdout]   --> src/base.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn set_amount(&mut self, amount: f64) {}
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/qamarketset.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut mk = QASeries::init();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/qamarketset.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut res: String;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/qamarketset.rs:124:14
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let (res, fix) = mc.update(serde_json::to_value(new_data).unwrap().borrow());
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/qamarketset.rs:129:14
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let (res, fix) = mc.update(serde_json::to_value(new_data1).unwrap().borrow());
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/qamarketset.rs:135:14
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let (res, fix) = mc.update(serde_json::to_value(new_data2).unwrap().borrow());
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res2`
[INFO] [stdout]    --> src/qamarketset.rs:140:20
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let (res1, res2) = mk.to_json();
[INFO] [stdout]     |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_res2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/marketset.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut mk = QASeries::init();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/marketset.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let mut res: String;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/marketset.rs:123:14
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let (res, fix) = mc.update(serde_json::to_value(new_data).unwrap().borrow());
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/marketset.rs:128:14
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let (res, fix) = mc.update(serde_json::to_value(new_data1).unwrap().borrow());
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/marketset.rs:134:14
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let (res, fix) = mc.update(serde_json::to_value(new_data2).unwrap().borrow());
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res2`
[INFO] [stdout]    --> src/marketset.rs:139:20
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let (res1, res2) = mk.to_json();
[INFO] [stdout]     |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_res2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `datetime`
[INFO] [stdout]   --> src/base.rs:22:32
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn set_datetime(&mut self, datetime: String) {}
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datetime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]   --> src/base.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn set_code(&mut self, code: String) {}
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `date`
[INFO] [stdout]   --> src/base.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn set_date(&mut self, date: String) {}
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_date`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `open`
[INFO] [stdout]   --> src/base.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn set_open(&mut self, open: f64) {}
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_open`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `close`
[INFO] [stdout]   --> src/base.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn set_close(&mut self, close: f64) {}
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_close`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high`
[INFO] [stdout]   --> src/base.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn set_high(&mut self, high: f64) {}
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low`
[INFO] [stdout]   --> src/base.rs:28:27
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn set_low(&mut self, low: f64) {}
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_low`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vol`
[INFO] [stdout]   --> src/base.rs:29:27
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn set_vol(&mut self, vol: f64) {}
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_vol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amount`
[INFO] [stdout]   --> src/base.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn set_amount(&mut self, amount: f64) {}
[INFO] [stdout]    |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amount`
[INFO] [stdout]    --> src/market.rs:493:30
[INFO] [stdout]     |
[INFO] [stdout] 493 |     fn set_amount(&mut self, amount: f64) {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amount`
[INFO] [stdout]    --> src/market.rs:493:30
[INFO] [stdout]     |
[INFO] [stdout] 493 |     fn set_amount(&mut self, amount: f64) {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_json` is never used
[INFO] [stdout]   --> src/qafastkline.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl QAAskBidBase {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn to_json(&self) -> Value {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BuyPrices` should have a snake case name
[INFO] [stdout]   --> src/qafastkline.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub BuyPrices: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `buy_prices`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BuyVols` should have a snake case name
[INFO] [stdout]   --> src/qafastkline.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub BuyVols: Vec<i32>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `buy_vols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SellPrices` should have a snake case name
[INFO] [stdout]   --> src/qafastkline.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub SellPrices: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `sell_prices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SellVols` should have a snake case name
[INFO] [stdout]   --> src/qafastkline.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub SellVols: Vec<i32>,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `sell_vols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:110:36
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let cur_datetime: String = data["time"].as_str().unwrap().parse().unwrap();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:116:25
[INFO] [stdout]     |
[INFO] [stdout] 116 |         self.datetime = data["time"].as_str().unwrap().parse().unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |         self.updatetime = data["time"].as_str().unwrap().parse().unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |         self.code = data["code"].as_str().unwrap().parse().unwrap();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:141:23
[INFO] [stdout]     |
[INFO] [stdout] 141 |             datetime: data["time"].as_str().unwrap().parse().unwrap(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:142:25
[INFO] [stdout]     |
[INFO] [stdout] 142 |             updatetime: data["time"].as_str().unwrap().parse().unwrap(),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:143:19
[INFO] [stdout]     |
[INFO] [stdout] 143 |             code: data["code"].as_str().unwrap().parse().unwrap(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:249:36
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let cur_datetime: String = cur_data["time"].as_str().unwrap().parse().unwrap();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:252:26
[INFO] [stdout]     |
[INFO] [stdout] 252 |             self.dtmin = cur_datetime[14..16].parse().unwrap();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:304:22
[INFO] [stdout]     |
[INFO] [stdout] 304 |         self.dtmin = cur_datetime[14..16].parse().unwrap();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/qamarketset.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |         self.market.insert(code.parse().unwrap(), mk);
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/marketset.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |         self.market.insert(code.parse().unwrap(), mk);
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BuyPrices` should have a snake case name
[INFO] [stdout]   --> src/market.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub BuyPrices: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `buy_prices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BuyVols` should have a snake case name
[INFO] [stdout]   --> src/market.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub BuyVols: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `buy_vols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SellPrices` should have a snake case name
[INFO] [stdout]   --> src/market.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub SellPrices: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `sell_prices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SellVols` should have a snake case name
[INFO] [stdout]   --> src/market.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub SellVols: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `sell_vols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `MarketFullName` should have a snake case name
[INFO] [stdout]    --> src/market.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub MarketFullName: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `market_full_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `preSettlementPrice` should have a snake case name
[INFO] [stdout]    --> src/market.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub preSettlementPrice: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `pre_settlement_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/market.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         self.datetime[0..9].parse().unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BuyPrices` should have a snake case name
[INFO] [stdout]   --> src/qafastkline.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub BuyPrices: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `buy_prices`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BuyVols` should have a snake case name
[INFO] [stdout]   --> src/qafastkline.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub BuyVols: Vec<i32>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `buy_vols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SellPrices` should have a snake case name
[INFO] [stdout]   --> src/qafastkline.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub SellPrices: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `sell_prices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SellVols` should have a snake case name
[INFO] [stdout]   --> src/qafastkline.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub SellVols: Vec<i32>,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `sell_vols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:110:36
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let cur_datetime: String = data["time"].as_str().unwrap().parse().unwrap();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:116:25
[INFO] [stdout]     |
[INFO] [stdout] 116 |         self.datetime = data["time"].as_str().unwrap().parse().unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |         self.updatetime = data["time"].as_str().unwrap().parse().unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |         self.code = data["code"].as_str().unwrap().parse().unwrap();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:141:23
[INFO] [stdout]     |
[INFO] [stdout] 141 |             datetime: data["time"].as_str().unwrap().parse().unwrap(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:142:25
[INFO] [stdout]     |
[INFO] [stdout] 142 |             updatetime: data["time"].as_str().unwrap().parse().unwrap(),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:143:19
[INFO] [stdout]     |
[INFO] [stdout] 143 |             code: data["code"].as_str().unwrap().parse().unwrap(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:249:36
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let cur_datetime: String = cur_data["time"].as_str().unwrap().parse().unwrap();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:252:26
[INFO] [stdout]     |
[INFO] [stdout] 252 |             self.dtmin = cur_datetime[14..16].parse().unwrap();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/qafastkline.rs:304:22
[INFO] [stdout]     |
[INFO] [stdout] 304 |         self.dtmin = cur_datetime[14..16].parse().unwrap();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_QAASKBID` should have a snake case name
[INFO] [stdout]    --> src/qafastkline.rs:417:8
[INFO] [stdout]     |
[INFO] [stdout] 417 |     fn test_QAASKBID() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_qaaskbid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/qamarketset.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |         self.market.insert(code.parse().unwrap(), mk);
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/marketset.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |         self.market.insert(code.parse().unwrap(), mk);
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BuyPrices` should have a snake case name
[INFO] [stdout]   --> src/market.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub BuyPrices: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `buy_prices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BuyVols` should have a snake case name
[INFO] [stdout]   --> src/market.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub BuyVols: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `buy_vols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SellPrices` should have a snake case name
[INFO] [stdout]   --> src/market.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub SellPrices: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `sell_prices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SellVols` should have a snake case name
[INFO] [stdout]   --> src/market.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub SellVols: Vec<f64>,
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `sell_vols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `MarketFullName` should have a snake case name
[INFO] [stdout]    --> src/market.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub MarketFullName: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `market_full_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `preSettlementPrice` should have a snake case name
[INFO] [stdout]    --> src/market.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub preSettlementPrice: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `pre_settlement_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]    --> src/market.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         self.datetime[0..9].parse().unwrap()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mifi-rs` (lib) due to 13 previous errors; 50 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `mifi-rs` (lib test) due to 13 previous errors; 65 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f115cf629871879cf5c0719182ac754a9807f5087211c0b62d9473a67eb390b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f115cf629871879cf5c0719182ac754a9807f5087211c0b62d9473a67eb390b8", kill_on_drop: false }`
[INFO] [stdout] f115cf629871879cf5c0719182ac754a9807f5087211c0b62d9473a67eb390b8
