[INFO] cloning repository https://github.com/WaiwaiTAN/tiger_openapi_rust_sdk_unofficial
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/WaiwaiTAN/tiger_openapi_rust_sdk_unofficial" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWaiwaiTAN%2Ftiger_openapi_rust_sdk_unofficial", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWaiwaiTAN%2Ftiger_openapi_rust_sdk_unofficial'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bae0c528d8b4d5a806fd661c1aecc13d4f7683c6
[INFO] checking WaiwaiTAN/tiger_openapi_rust_sdk_unofficial against master#03c609abb6638f9d7f49f34326d4137d07f5cd61 for pr-155945
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWaiwaiTAN%2Ftiger_openapi_rust_sdk_unofficial" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/WaiwaiTAN/tiger_openapi_rust_sdk_unofficial
[INFO] finished tweaking git repo https://github.com/WaiwaiTAN/tiger_openapi_rust_sdk_unofficial
[INFO] tweaked toml for git repo https://github.com/WaiwaiTAN/tiger_openapi_rust_sdk_unofficial written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/WaiwaiTAN/tiger_openapi_rust_sdk_unofficial on toolchain 03c609abb6638f9d7f49f34326d4137d07f5cd61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/WaiwaiTAN/tiger_openapi_rust_sdk_unofficial 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" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.54
[INFO] [stderr]   Downloaded windows-result v0.4.0
[INFO] [stderr]   Downloaded windows-strings v0.5.0
[INFO] [stderr]   Downloaded windows-implement v0.60.1
[INFO] [stderr]   Downloaded windows-interface v0.59.2
[INFO] [stderr]   Downloaded windows-core v0.62.1
[INFO] [stderr]   Downloaded cc v1.2.39
[INFO] [stderr]   Downloaded rustls-webpki v0.103.6
[INFO] [stderr]   Downloaded hyper-util v0.1.17
[INFO] [stderr]   Downloaded rustls v0.23.32
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9bb02ee2c1ca630f230e7b991f52498100646d569da3ea1c728c7480009be37e
[INFO] running `Command { std: "docker" "start" "-a" "9bb02ee2c1ca630f230e7b991f52498100646d569da3ea1c728c7480009be37e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9bb02ee2c1ca630f230e7b991f52498100646d569da3ea1c728c7480009be37e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9bb02ee2c1ca630f230e7b991f52498100646d569da3ea1c728c7480009be37e", kill_on_drop: false }`
[INFO] [stdout] 9bb02ee2c1ca630f230e7b991f52498100646d569da3ea1c728c7480009be37e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] adee5a37203c57c3af46ecc8af08dac3b30661d2c099cf858b86a5a0aad5b2cb
[INFO] running `Command { std: "docker" "start" "-a" "adee5a37203c57c3af46ecc8af08dac3b30661d2c099cf858b86a5a0aad5b2cb", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]     Checking cfg-if v1.0.3
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling find-msvc-tools v0.1.2
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]     Checking base64ct v1.8.0
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]     Checking bitflags v2.9.3
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking iri-string v0.7.8
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling cc v1.2.39
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking indexmap v2.11.4
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking rsa v0.9.8
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.3
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking hyper-util v0.1.17
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.24
[INFO] [stderr]     Checking tiger_openapi_rust_sdk_unofficial v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/client_config.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[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: `openssl::string`
[INFO] [stdout]  --> src/client_config.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use openssl::string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::value`
[INFO] [stdout]  --> src/client_config.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::de::value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `openssl::string`
[INFO] [stdout]  --> src/trade_client.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use openssl::string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/trade_client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc::time_t`
[INFO] [stdout]   --> src/trade_client.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use libc::time_t;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HeaderMap`
[INFO] [stdout]  --> src/tiger_client.rs:9:51
[INFO] [stdout]   |
[INFO] [stdout] 9 |     header::{ACCEPT, AUTHORIZATION, CONTENT_TYPE, HeaderMap, HeaderValue, USER_AGENT},
[INFO] [stdout]   |                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]   --> src/tiger_client.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::de::DeserializeOwned;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/tiger_client.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> src/tiger_client.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `zh_CN` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     zh_CN,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `ZhCn`
[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: variant `zh_TW` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     zh_TW,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `ZhTw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `en_US` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     en_US,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `EnUs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `br` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     br,
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case: `Br`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `nr` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     nr,
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case: `Nr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FIVE_DAYS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     FIVE_DAYS = 2,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `FiveDays`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ONE_MINUTE` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     ONE_MINUTE,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `OneMinute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `THREE_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     THREE_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ThreeMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FIVE_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     FIVE_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FiveMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TEN_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     TEN_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TenMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FIFTEEN_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     FIFTEEN_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FifteenMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `HALF_HOUR` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 |     HALF_HOUR,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `HalfHour`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FORTY_FIVE_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 |     FORTY_FIVE_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FortyFiveMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ONE_HOUR` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |     ONE_HOUR,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `OneHour`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TWO_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     TWO_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TwoHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `THREE_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 |     THREE_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ThreeHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FOUR_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 |     FOUR_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `FourHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SIX_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     SIX_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `SixHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LATEST_CREATED` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     LATEST_CREATED,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LatestCreated`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LATEST_STATUS_UPDATED` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     LATEST_STATUS_UPDATED,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LatestStatusUpdated`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `OPEN_CLOSED` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     OPEN_CLOSED,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpenClosed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CLOSED_OPEN` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |     CLOSED_OPEN,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ClosedOpen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ORDER_NO_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 |     GET_ORDER_NO_END = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetOrderNoEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PREVIEW_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 330 |     PREVIEW_ORDER_END = 2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PreviewOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PLACE_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:331:5
[INFO] [stdout]     |
[INFO] [stdout] 331 |     PLACE_ORDER_END = 3,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlaceOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CANCEL_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:332:5
[INFO] [stdout]     |
[INFO] [stdout] 332 |     CANCEL_ORDER_END = 4,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CancelOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MODIFY_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:333:5
[INFO] [stdout]     |
[INFO] [stdout] 333 |     MODIFY_ORDER_END = 5,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ModifyOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ASSET_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 334 |     GET_ASSET_END = 6,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAssetEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_POSITION_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 335 |     GET_POSITION_END = 7,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetPositionEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ACCOUNT_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:336:5
[INFO] [stdout]     |
[INFO] [stdout] 336 |     GET_ACCOUNT_END = 8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAccountEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_ORDER_STATUS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 337 |     SUBSCRIBE_ORDER_STATUS = 9,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribeOrderStatus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_POSITION` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:338:5
[INFO] [stdout]     |
[INFO] [stdout] 338 |     SUBSCRIBE_POSITION = 10,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribePosition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_ASSET` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:339:5
[INFO] [stdout]     |
[INFO] [stdout] 339 |     SUBSCRIBE_ASSET = 11,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribeAsset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_TRADE_EXECUTION` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     SUBSCRIBE_TRADE_EXECUTION = 12,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribeTradeExecution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_MARKET_STATE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 |     GET_MARKET_STATE_END = 101,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetMarketStateEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ALL_SYMBOLS_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 |     GET_ALL_SYMBOLS_END = 102,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAllSymbolsEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ALL_SYMBOL_NAMES_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:344:5
[INFO] [stdout]     |
[INFO] [stdout] 344 |     GET_ALL_SYMBOL_NAMES_END = 103,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAllSymbolNamesEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_BRIEF_INFO_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:345:5
[INFO] [stdout]     |
[INFO] [stdout] 345 |     GET_BRIEF_INFO_END = 104,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetBriefInfoEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_STOCK_DETAIL_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     GET_STOCK_DETAIL_END = 105,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetStockDetailEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_TIME_LINE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 |     GET_TIME_LINE_END = 106,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetTimeLineEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_HOUR_TRADING_TIME_LINE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 348 |     GET_HOUR_TRADING_TIME_LINE_END = 107,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetHourTradingTimeLineEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_KLINE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 |     GET_KLINE_END = 108,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetKlineEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_TRADING_TICK_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:350:5
[INFO] [stdout]     |
[INFO] [stdout] 350 |     GET_TRADING_TICK_END = 109,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetTradingTickEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_QUOTE_CHANGE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:351:5
[INFO] [stdout]     |
[INFO] [stdout] 351 |     GET_QUOTE_CHANGE_END = 110,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetQuoteChangeEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_SUB_SYMBOLS_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 353 |     GET_SUB_SYMBOLS_END = 111,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetSubSymbolsEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_SUBSCRIBE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:354:5
[INFO] [stdout]     |
[INFO] [stdout] 354 |     GET_SUBSCRIBE_END = 112,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetSubscribeEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_CANCEL_SUBSCRIBE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 355 |     GET_CANCEL_SUBSCRIBE_END = 113,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetCancelSubscribeEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ERROR_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     ERROR_END = 200,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `ErrorEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rsa::signature`
[INFO] [stdout]  --> src/tiger_utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rsa::signature;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Map`
[INFO] [stdout]  --> src/quote_client.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::{Map, Value};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/quote_client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]  --> src/models.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, NaiveDate, Utc};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/client_config.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[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: `openssl::string`
[INFO] [stdout]  --> src/client_config.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use openssl::string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::value`
[INFO] [stdout]  --> src/client_config.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::de::value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `openssl::string`
[INFO] [stdout]  --> src/trade_client.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use openssl::string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/trade_client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc::time_t`
[INFO] [stdout]   --> src/trade_client.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use libc::time_t;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HeaderMap`
[INFO] [stdout]  --> src/tiger_client.rs:9:51
[INFO] [stdout]   |
[INFO] [stdout] 9 |     header::{ACCEPT, AUTHORIZATION, CONTENT_TYPE, HeaderMap, HeaderValue, USER_AGENT},
[INFO] [stdout]   |                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]   --> src/tiger_client.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::de::DeserializeOwned;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/tiger_client.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> src/tiger_client.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `zh_CN` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     zh_CN,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `ZhCn`
[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: variant `zh_TW` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     zh_TW,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `ZhTw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `en_US` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     en_US,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `EnUs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `br` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     br,
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case: `Br`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `nr` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     nr,
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case: `Nr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FIVE_DAYS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     FIVE_DAYS = 2,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `FiveDays`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ONE_MINUTE` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     ONE_MINUTE,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `OneMinute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `THREE_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     THREE_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ThreeMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FIVE_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     FIVE_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FiveMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TEN_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     TEN_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TenMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FIFTEEN_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     FIFTEEN_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FifteenMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `HALF_HOUR` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 |     HALF_HOUR,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `HalfHour`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FORTY_FIVE_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 |     FORTY_FIVE_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FortyFiveMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ONE_HOUR` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |     ONE_HOUR,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `OneHour`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TWO_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     TWO_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TwoHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `THREE_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 |     THREE_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ThreeHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FOUR_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 |     FOUR_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `FourHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SIX_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     SIX_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `SixHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LATEST_CREATED` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     LATEST_CREATED,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LatestCreated`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LATEST_STATUS_UPDATED` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     LATEST_STATUS_UPDATED,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LatestStatusUpdated`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `OPEN_CLOSED` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     OPEN_CLOSED,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpenClosed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CLOSED_OPEN` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |     CLOSED_OPEN,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ClosedOpen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ORDER_NO_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 |     GET_ORDER_NO_END = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetOrderNoEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PREVIEW_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 330 |     PREVIEW_ORDER_END = 2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PreviewOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PLACE_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:331:5
[INFO] [stdout]     |
[INFO] [stdout] 331 |     PLACE_ORDER_END = 3,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlaceOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CANCEL_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:332:5
[INFO] [stdout]     |
[INFO] [stdout] 332 |     CANCEL_ORDER_END = 4,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CancelOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MODIFY_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:333:5
[INFO] [stdout]     |
[INFO] [stdout] 333 |     MODIFY_ORDER_END = 5,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ModifyOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ASSET_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 334 |     GET_ASSET_END = 6,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAssetEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_POSITION_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 335 |     GET_POSITION_END = 7,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetPositionEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ACCOUNT_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:336:5
[INFO] [stdout]     |
[INFO] [stdout] 336 |     GET_ACCOUNT_END = 8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAccountEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_ORDER_STATUS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 337 |     SUBSCRIBE_ORDER_STATUS = 9,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribeOrderStatus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_POSITION` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:338:5
[INFO] [stdout]     |
[INFO] [stdout] 338 |     SUBSCRIBE_POSITION = 10,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribePosition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_ASSET` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:339:5
[INFO] [stdout]     |
[INFO] [stdout] 339 |     SUBSCRIBE_ASSET = 11,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribeAsset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_TRADE_EXECUTION` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     SUBSCRIBE_TRADE_EXECUTION = 12,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribeTradeExecution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_MARKET_STATE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 |     GET_MARKET_STATE_END = 101,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetMarketStateEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ALL_SYMBOLS_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 |     GET_ALL_SYMBOLS_END = 102,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAllSymbolsEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ALL_SYMBOL_NAMES_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:344:5
[INFO] [stdout]     |
[INFO] [stdout] 344 |     GET_ALL_SYMBOL_NAMES_END = 103,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAllSymbolNamesEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_BRIEF_INFO_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:345:5
[INFO] [stdout]     |
[INFO] [stdout] 345 |     GET_BRIEF_INFO_END = 104,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetBriefInfoEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_STOCK_DETAIL_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     GET_STOCK_DETAIL_END = 105,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetStockDetailEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_TIME_LINE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 |     GET_TIME_LINE_END = 106,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetTimeLineEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_HOUR_TRADING_TIME_LINE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 348 |     GET_HOUR_TRADING_TIME_LINE_END = 107,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetHourTradingTimeLineEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_KLINE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 |     GET_KLINE_END = 108,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetKlineEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_TRADING_TICK_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:350:5
[INFO] [stdout]     |
[INFO] [stdout] 350 |     GET_TRADING_TICK_END = 109,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetTradingTickEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_QUOTE_CHANGE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:351:5
[INFO] [stdout]     |
[INFO] [stdout] 351 |     GET_QUOTE_CHANGE_END = 110,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetQuoteChangeEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_SUB_SYMBOLS_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 353 |     GET_SUB_SYMBOLS_END = 111,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetSubSymbolsEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_SUBSCRIBE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:354:5
[INFO] [stdout]     |
[INFO] [stdout] 354 |     GET_SUBSCRIBE_END = 112,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetSubscribeEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_CANCEL_SUBSCRIBE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 355 |     GET_CANCEL_SUBSCRIBE_END = 113,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetCancelSubscribeEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ERROR_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     ERROR_END = 200,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `ErrorEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rsa::signature`
[INFO] [stdout]  --> src/tiger_utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rsa::signature;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Map`
[INFO] [stdout]  --> src/quote_client.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::{Map, Value};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/quote_client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]  --> src/models.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, NaiveDate, Utc};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/tiger_client.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         self.client_config.check();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let _ = self.client_config.check();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/tiger_client.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         self.client_config.check();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let _ = self.client_config.check();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]   --> examples/downloader.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde_json::{Value, json};
[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: `Path`
[INFO] [stdout]  --> src/client_config.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[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: `openssl::string`
[INFO] [stdout]  --> src/client_config.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use openssl::string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::value`
[INFO] [stdout]  --> src/client_config.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::de::value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]  --> src/models.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, NaiveDate, Utc};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Map`
[INFO] [stdout]  --> src/quote_client.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::{Map, Value};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/quote_client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HeaderMap`
[INFO] [stdout]  --> src/tiger_client.rs:9:51
[INFO] [stdout]   |
[INFO] [stdout] 9 |     header::{ACCEPT, AUTHORIZATION, CONTENT_TYPE, HeaderMap, HeaderValue, USER_AGENT},
[INFO] [stdout]   |                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]   --> src/tiger_client.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::de::DeserializeOwned;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/tiger_client.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> src/tiger_client.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `zh_CN` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     zh_CN,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `ZhCn`
[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: variant `zh_TW` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     zh_TW,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `ZhTw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `en_US` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     en_US,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `EnUs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `br` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     br,
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case: `Br`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `nr` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     nr,
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case: `Nr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FIVE_DAYS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     FIVE_DAYS = 2,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `FiveDays`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ONE_MINUTE` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     ONE_MINUTE,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `OneMinute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `THREE_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     THREE_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ThreeMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FIVE_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     FIVE_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FiveMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TEN_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     TEN_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TenMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FIFTEEN_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     FIFTEEN_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FifteenMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `HALF_HOUR` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 |     HALF_HOUR,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `HalfHour`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FORTY_FIVE_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 |     FORTY_FIVE_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FortyFiveMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ONE_HOUR` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |     ONE_HOUR,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `OneHour`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TWO_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     TWO_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TwoHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `THREE_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 |     THREE_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ThreeHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FOUR_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 |     FOUR_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `FourHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SIX_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     SIX_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `SixHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LATEST_CREATED` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     LATEST_CREATED,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LatestCreated`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LATEST_STATUS_UPDATED` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     LATEST_STATUS_UPDATED,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LatestStatusUpdated`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `OPEN_CLOSED` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     OPEN_CLOSED,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpenClosed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CLOSED_OPEN` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |     CLOSED_OPEN,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ClosedOpen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ORDER_NO_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 |     GET_ORDER_NO_END = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetOrderNoEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PREVIEW_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 330 |     PREVIEW_ORDER_END = 2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PreviewOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PLACE_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:331:5
[INFO] [stdout]     |
[INFO] [stdout] 331 |     PLACE_ORDER_END = 3,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlaceOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CANCEL_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:332:5
[INFO] [stdout]     |
[INFO] [stdout] 332 |     CANCEL_ORDER_END = 4,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CancelOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MODIFY_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:333:5
[INFO] [stdout]     |
[INFO] [stdout] 333 |     MODIFY_ORDER_END = 5,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ModifyOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ASSET_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 334 |     GET_ASSET_END = 6,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAssetEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_POSITION_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 335 |     GET_POSITION_END = 7,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetPositionEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ACCOUNT_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:336:5
[INFO] [stdout]     |
[INFO] [stdout] 336 |     GET_ACCOUNT_END = 8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAccountEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_ORDER_STATUS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 337 |     SUBSCRIBE_ORDER_STATUS = 9,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribeOrderStatus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_POSITION` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:338:5
[INFO] [stdout]     |
[INFO] [stdout] 338 |     SUBSCRIBE_POSITION = 10,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribePosition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_ASSET` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:339:5
[INFO] [stdout]     |
[INFO] [stdout] 339 |     SUBSCRIBE_ASSET = 11,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribeAsset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_TRADE_EXECUTION` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     SUBSCRIBE_TRADE_EXECUTION = 12,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribeTradeExecution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_MARKET_STATE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 |     GET_MARKET_STATE_END = 101,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetMarketStateEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ALL_SYMBOLS_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 |     GET_ALL_SYMBOLS_END = 102,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAllSymbolsEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ALL_SYMBOL_NAMES_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:344:5
[INFO] [stdout]     |
[INFO] [stdout] 344 |     GET_ALL_SYMBOL_NAMES_END = 103,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAllSymbolNamesEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_BRIEF_INFO_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:345:5
[INFO] [stdout]     |
[INFO] [stdout] 345 |     GET_BRIEF_INFO_END = 104,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetBriefInfoEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_STOCK_DETAIL_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     GET_STOCK_DETAIL_END = 105,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetStockDetailEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_TIME_LINE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 |     GET_TIME_LINE_END = 106,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetTimeLineEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_HOUR_TRADING_TIME_LINE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 348 |     GET_HOUR_TRADING_TIME_LINE_END = 107,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetHourTradingTimeLineEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_KLINE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 |     GET_KLINE_END = 108,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetKlineEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_TRADING_TICK_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:350:5
[INFO] [stdout]     |
[INFO] [stdout] 350 |     GET_TRADING_TICK_END = 109,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetTradingTickEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_QUOTE_CHANGE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:351:5
[INFO] [stdout]     |
[INFO] [stdout] 351 |     GET_QUOTE_CHANGE_END = 110,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetQuoteChangeEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_SUB_SYMBOLS_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 353 |     GET_SUB_SYMBOLS_END = 111,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetSubSymbolsEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_SUBSCRIBE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:354:5
[INFO] [stdout]     |
[INFO] [stdout] 354 |     GET_SUBSCRIBE_END = 112,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetSubscribeEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_CANCEL_SUBSCRIBE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 355 |     GET_CANCEL_SUBSCRIBE_END = 113,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetCancelSubscribeEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ERROR_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     ERROR_END = 200,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `ErrorEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rsa::signature`
[INFO] [stdout]  --> src/tiger_utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rsa::signature;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `openssl::string`
[INFO] [stdout]  --> src/trade_client.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use openssl::string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/trade_client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc::time_t`
[INFO] [stdout]   --> src/trade_client.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use libc::time_t;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/client_config.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[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: `openssl::string`
[INFO] [stdout]  --> src/client_config.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use openssl::string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::value`
[INFO] [stdout]  --> src/client_config.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::de::value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]  --> src/models.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, NaiveDate, Utc};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Map`
[INFO] [stdout]  --> src/quote_client.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::{Map, Value};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/quote_client.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HeaderMap`
[INFO] [stdout]  --> src/tiger_client.rs:9:51
[INFO] [stdout]   |
[INFO] [stdout] 9 |     header::{ACCEPT, AUTHORIZATION, CONTENT_TYPE, HeaderMap, HeaderValue, USER_AGENT},
[INFO] [stdout]   |                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]   --> src/tiger_client.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::de::DeserializeOwned;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/tiger_client.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]   --> src/tiger_client.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `zh_CN` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     zh_CN,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `ZhCn`
[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: variant `zh_TW` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     zh_TW,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `ZhTw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `en_US` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     en_US,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `EnUs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `br` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     br,
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case: `Br`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `nr` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     nr,
[INFO] [stdout]     |     ^^ help: convert the identifier to upper camel case: `Nr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FIVE_DAYS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     FIVE_DAYS = 2,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `FiveDays`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ONE_MINUTE` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     ONE_MINUTE,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `OneMinute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `THREE_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     THREE_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ThreeMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FIVE_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     FIVE_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FiveMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TEN_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     TEN_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TenMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FIFTEEN_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     FIFTEEN_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FifteenMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `HALF_HOUR` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 |     HALF_HOUR,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `HalfHour`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FORTY_FIVE_MINUTES` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 |     FORTY_FIVE_MINUTES,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FortyFiveMinutes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ONE_HOUR` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |     ONE_HOUR,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `OneHour`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TWO_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     TWO_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TwoHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `THREE_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 |     THREE_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ThreeHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FOUR_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 |     FOUR_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `FourHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SIX_HOURS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     SIX_HOURS,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `SixHours`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LATEST_CREATED` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     LATEST_CREATED,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LatestCreated`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LATEST_STATUS_UPDATED` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     LATEST_STATUS_UPDATED,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LatestStatusUpdated`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `OPEN_CLOSED` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     OPEN_CLOSED,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `OpenClosed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CLOSED_OPEN` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |     CLOSED_OPEN,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ClosedOpen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ORDER_NO_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 |     GET_ORDER_NO_END = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetOrderNoEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PREVIEW_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 330 |     PREVIEW_ORDER_END = 2,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PreviewOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PLACE_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:331:5
[INFO] [stdout]     |
[INFO] [stdout] 331 |     PLACE_ORDER_END = 3,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlaceOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CANCEL_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:332:5
[INFO] [stdout]     |
[INFO] [stdout] 332 |     CANCEL_ORDER_END = 4,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CancelOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MODIFY_ORDER_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:333:5
[INFO] [stdout]     |
[INFO] [stdout] 333 |     MODIFY_ORDER_END = 5,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ModifyOrderEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ASSET_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 334 |     GET_ASSET_END = 6,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAssetEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_POSITION_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 335 |     GET_POSITION_END = 7,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetPositionEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ACCOUNT_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:336:5
[INFO] [stdout]     |
[INFO] [stdout] 336 |     GET_ACCOUNT_END = 8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAccountEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_ORDER_STATUS` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 337 |     SUBSCRIBE_ORDER_STATUS = 9,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribeOrderStatus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_POSITION` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:338:5
[INFO] [stdout]     |
[INFO] [stdout] 338 |     SUBSCRIBE_POSITION = 10,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribePosition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_ASSET` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:339:5
[INFO] [stdout]     |
[INFO] [stdout] 339 |     SUBSCRIBE_ASSET = 11,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribeAsset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SUBSCRIBE_TRADE_EXECUTION` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     SUBSCRIBE_TRADE_EXECUTION = 12,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SubscribeTradeExecution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_MARKET_STATE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 |     GET_MARKET_STATE_END = 101,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetMarketStateEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ALL_SYMBOLS_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 |     GET_ALL_SYMBOLS_END = 102,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAllSymbolsEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_ALL_SYMBOL_NAMES_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:344:5
[INFO] [stdout]     |
[INFO] [stdout] 344 |     GET_ALL_SYMBOL_NAMES_END = 103,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetAllSymbolNamesEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_BRIEF_INFO_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:345:5
[INFO] [stdout]     |
[INFO] [stdout] 345 |     GET_BRIEF_INFO_END = 104,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetBriefInfoEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_STOCK_DETAIL_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     GET_STOCK_DETAIL_END = 105,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetStockDetailEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_TIME_LINE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 |     GET_TIME_LINE_END = 106,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetTimeLineEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_HOUR_TRADING_TIME_LINE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 348 |     GET_HOUR_TRADING_TIME_LINE_END = 107,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetHourTradingTimeLineEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_KLINE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 |     GET_KLINE_END = 108,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetKlineEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_TRADING_TICK_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:350:5
[INFO] [stdout]     |
[INFO] [stdout] 350 |     GET_TRADING_TICK_END = 109,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetTradingTickEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_QUOTE_CHANGE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:351:5
[INFO] [stdout]     |
[INFO] [stdout] 351 |     GET_QUOTE_CHANGE_END = 110,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetQuoteChangeEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_SUB_SYMBOLS_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 353 |     GET_SUB_SYMBOLS_END = 111,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetSubSymbolsEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_SUBSCRIBE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:354:5
[INFO] [stdout]     |
[INFO] [stdout] 354 |     GET_SUBSCRIBE_END = 112,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetSubscribeEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GET_CANCEL_SUBSCRIBE_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 355 |     GET_CANCEL_SUBSCRIBE_END = 113,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GetCancelSubscribeEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ERROR_END` should have an upper camel case name
[INFO] [stdout]    --> src/tiger_enums.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     ERROR_END = 200,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `ErrorEnd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rsa::signature`
[INFO] [stdout]  --> src/tiger_utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rsa::signature;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `openssl::string`
[INFO] [stdout]  --> src/trade_client.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use openssl::string;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/trade_client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libc::time_t`
[INFO] [stdout]   --> src/trade_client.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use libc::time_t;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `market`
[INFO] [stdout]    --> src/main.rs:323:5
[INFO] [stdout]     |
[INFO] [stdout] 323 |     market: tiger_enums::Market,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_market`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET` is never used
[INFO] [stdout]  --> src/constants.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const GET: &str = "GET";
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POST` is never used
[INFO] [stdout]  --> src/constants.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const POST: &str = "POST";
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_METHOD` is never used
[INFO] [stdout]  --> src/constants.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const P_METHOD: &str = "method";
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SIGN` is never used
[INFO] [stdout]   --> src/constants.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const P_SIGN: &str = "sign";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_TIMESTAMP` is never used
[INFO] [stdout]   --> src/constants.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const P_TIMESTAMP: &str = "timestamp";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_ITEMS` is never used
[INFO] [stdout]   --> src/constants.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const P_ITEMS: &str = "items";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_DATA` is never used
[INFO] [stdout]   --> src/constants.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const P_DATA: &str = "data";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_CODE` is never used
[INFO] [stdout]   --> src/constants.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const P_CODE: &str = "code";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_NOTIFY_URL` is never used
[INFO] [stdout]   --> src/constants.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const P_NOTIFY_URL: &str = "notify_url";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_USER_AGENT` is never used
[INFO] [stdout]   --> src/constants.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const P_USER_AGENT: &str = "User-Agent";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_BIZ_CONTENT` is never used
[INFO] [stdout]   --> src/constants.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const P_BIZ_CONTENT: &str = "biz_content";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_ACCOUNT` is never used
[INFO] [stdout]   --> src/constants.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const P_ACCOUNT: &str = "account";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SECRET_KEY` is never used
[INFO] [stdout]   --> src/constants.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const P_SECRET_KEY: &str = "secret_key";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SYMBOL` is never used
[INFO] [stdout]   --> src/constants.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const P_SYMBOL: &str = "symbol";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_CONTRACT_CODES` is never used
[INFO] [stdout]   --> src/constants.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const P_CONTRACT_CODES: &str = "contract_codes";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_CONTRACT_CODE` is never used
[INFO] [stdout]   --> src/constants.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const P_CONTRACT_CODE: &str = "contract_code";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_START_TIME` is never used
[INFO] [stdout]   --> src/constants.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const P_START_TIME: &str = "start_time";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_START_DATE` is never used
[INFO] [stdout]   --> src/constants.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const P_START_DATE: &str = "start_date";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_BEGIN_INDEX` is never used
[INFO] [stdout]   --> src/constants.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const P_BEGIN_INDEX: &str = "begin_index";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_END_INDEX` is never used
[INFO] [stdout]   --> src/constants.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const P_END_INDEX: &str = "end_index";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_TRADE_SESSION` is never used
[INFO] [stdout]   --> src/constants.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const P_TRADE_SESSION: &str = "trade_session";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_EXPIRY` is never used
[INFO] [stdout]   --> src/constants.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const P_EXPIRY: &str = "expiry";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_STRIKE` is never used
[INFO] [stdout]   --> src/constants.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const P_STRIKE: &str = "strike";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_TRADING_DATE` is never used
[INFO] [stdout]   --> src/constants.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const P_TRADING_DATE: &str = "trading_date";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SEC_TYPE` is never used
[INFO] [stdout]   --> src/constants.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const P_SEC_TYPE: &str = "sec_type";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SEG_TYPE` is never used
[INFO] [stdout]   --> src/constants.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const P_SEG_TYPE: &str = "seg_type";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_CURRENCY` is never used
[INFO] [stdout]   --> src/constants.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const P_CURRENCY: &str = "currency";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_EXCHANGE` is never used
[INFO] [stdout]   --> src/constants.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const P_EXCHANGE: &str = "exchange";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_TYPE` is never used
[INFO] [stdout]   --> src/constants.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const P_TYPE: &str = "type";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_BEGIN` is never used
[INFO] [stdout]   --> src/constants.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const P_BEGIN: &str = "begin";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_END` is never used
[INFO] [stdout]   --> src/constants.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const P_END: &str = "end";
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_TICK_SIZE` is never used
[INFO] [stdout]   --> src/constants.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const P_TICK_SIZE: &str = "tick_size";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_EXCHANGE_CODE` is never used
[INFO] [stdout]   --> src/constants.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const P_EXCHANGE_CODE: &str = "exchange_code";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_PAGE` is never used
[INFO] [stdout]   --> src/constants.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const P_PAGE: &str = "page";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_PAGE_SIZE` is never used
[INFO] [stdout]   --> src/constants.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const P_PAGE_SIZE: &str = "page_size";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SORT_DIR` is never used
[INFO] [stdout]   --> src/constants.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const P_SORT_DIR: &str = "sort_dir";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SORT_FIELD_NAME` is never used
[INFO] [stdout]   --> src/constants.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const P_SORT_FIELD_NAME: &str = "sort_field_name";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SANDBOX_TIGER_PUBLIC_KEY` is never used
[INFO] [stdout]   --> src/constants.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const SANDBOX_TIGER_PUBLIC_KEY: &str = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbm21i11hgAENGd3/f280PSe4g9YGkS3TEXBY\
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SANDBOX_TIGER_HOST` is never used
[INFO] [stdout]   --> src/constants.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const SANDBOX_TIGER_HOST: &str = "openapi-sandbox.tigerfintech.com";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SANDBOX_TIGER_SERVER_URL` is never used
[INFO] [stdout]   --> src/constants.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const SANDBOX_TIGER_SERVER_URL: &str = "https://openapi-sandbox.tigerfintech.com/gateway";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SANDBOX_TIGER_SOCKET_HOST` is never used
[INFO] [stdout]   --> src/constants.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const SANDBOX_TIGER_SOCKET_HOST: &str = SANDBOX_TIGER_HOST;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SANDBOX_TIGER_SOCKET_PORT` is never used
[INFO] [stdout]   --> src/constants.rs:96:11
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub const SANDBOX_TIGER_SOCKET_PORT: &str = "9885";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Contract` is never constructed
[INFO] [stdout]  --> src/contract_utils.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Contract {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContractUtil` is never constructed
[INFO] [stdout]   --> src/contract_utils.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct ContractUtil;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `stock_contract`, `option_contract`, `option_contract_from_identifier`, `future_contract`, and `extract_option_info` are never used
[INFO] [stdout]    --> src/contract_utils.rs:21:12
[INFO] [stdout]     |
[INFO] [stdout]  20 | impl ContractUtil {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout]  21 |     pub fn stock_contract(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn option_contract(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn option_contract_from_identifier(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn future_contract(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn extract_option_info(identifier: &str) -> (String, String, String, String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Contract` is never constructed
[INFO] [stdout]   --> src/models.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Contract {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `basic`, `option`, and `future` are never used
[INFO] [stdout]   --> src/models.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Contract {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 29 |     /// 默认构造函数
[INFO] [stdout] 30 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn basic(
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn option(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn future(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OrderType` is never used
[INFO] [stdout]    --> src/models.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub enum OrderType {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]    --> src/models.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub enum Action {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TimeInForce` is never used
[INFO] [stdout]    --> src/models.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub enum TimeInForce {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Order` is never constructed
[INFO] [stdout]    --> src/models.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct Order {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `limit_buy`, `market_buy`, `limit_sell`, `market_sell`, and `to_value` are never used
[INFO] [stdout]    --> src/models.rs:201:12
[INFO] [stdout]     |
[INFO] [stdout] 199 | impl Order {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 200 |     /// 基础构造函数
[INFO] [stdout] 201 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn limit_buy(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn market_buy(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn limit_sell(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn market_sell(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn to_value(&self, account_param: Value, secret_key: Option<String>) -> Map<String, Value> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]    --> src/models.rs:428:12
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub struct Position {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CurrencyAsset` is never constructed
[INFO] [stdout]    --> src/models.rs:453:12
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub struct CurrencyAsset {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Segment` is never constructed
[INFO] [stdout]    --> src/models.rs:466:12
[INFO] [stdout]     |
[INFO] [stdout] 466 | pub struct Segment {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PortfolioAccount` is never constructed
[INFO] [stdout]    --> src/models.rs:493:12
[INFO] [stdout]     |
[INFO] [stdout] 493 | pub struct PortfolioAccount {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RealtimeQuote` is never constructed
[INFO] [stdout]    --> src/models.rs:525:12
[INFO] [stdout]     |
[INFO] [stdout] 525 | pub struct RealtimeQuote {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_time`, `get_avg_price`, and `get_datetime` are never used
[INFO] [stdout]    --> src/models.rs:620:12
[INFO] [stdout]     |
[INFO] [stdout] 596 | impl TradeTickItem {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 620 |     pub fn get_time(&self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 624 |     pub fn get_avg_price(&self) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 635 |     pub fn get_datetime(&self) -> DateTime<Utc> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_json`, `filter_by_time_range`, and `to_json` are never used
[INFO] [stdout]    --> src/models.rs:678:12
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl TradeTick {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 678 |     pub fn from_json(json_str: &str) -> Result<Self, serde_json::Error> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 717 |     pub fn filter_by_time_range(&self, start_time: i64, end_time: i64) -> Vec<&TradeTickItem> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 735 |     pub fn to_json(&self) -> Result<String, serde_json::Error> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatchTradeTickResponse` is never constructed
[INFO] [stdout]    --> src/models.rs:765:12
[INFO] [stdout]     |
[INFO] [stdout] 765 | pub struct BatchTradeTickResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_json`, `is_success`, and `merge_all` are never used
[INFO] [stdout]    --> src/models.rs:780:12
[INFO] [stdout]     |
[INFO] [stdout] 779 | impl BatchTradeTickResponse {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 780 |     pub fn from_json(json_str: &str) -> Result<Self, serde_json::Error> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     pub fn is_success(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 788 |     pub fn merge_all(&self) -> Vec<TradeTickItem> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ORDER_NO` is never used
[INFO] [stdout]  --> src/service_types.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const ORDER_NO: &str = "order_no";
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PREVIEW_ORDER` is never used
[INFO] [stdout]  --> src/service_types.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const PREVIEW_ORDER: &str = "preview_order";
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLACE_ORDER` is never used
[INFO] [stdout]  --> src/service_types.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const PLACE_ORDER: &str = "place_order";
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CANCEL_ORDER` is never used
[INFO] [stdout]  --> src/service_types.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const CANCEL_ORDER: &str = "cancel_order";
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODIFY_ORDER` is never used
[INFO] [stdout]   --> src/service_types.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const MODIFY_ORDER: &str = "modify_order";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNTS` is never used
[INFO] [stdout]   --> src/service_types.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const ACCOUNTS: &str = "accounts";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSETS` is never used
[INFO] [stdout]   --> src/service_types.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const ASSETS: &str = "assets";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRIME_ASSETS` is never used
[INFO] [stdout]   --> src/service_types.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const PRIME_ASSETS: &str = "prime_assets";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSITIONS` is never used
[INFO] [stdout]   --> src/service_types.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const POSITIONS: &str = "positions";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ORDERS` is never used
[INFO] [stdout]   --> src/service_types.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const ORDERS: &str = "orders";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACTIVE_ORDERS` is never used
[INFO] [stdout]   --> src/service_types.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const ACTIVE_ORDERS: &str = "active_orders";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INACTIVE_ORDERS` is never used
[INFO] [stdout]   --> src/service_types.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const INACTIVE_ORDERS: &str = "inactive_orders";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILLED_ORDERS` is never used
[INFO] [stdout]   --> src/service_types.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const FILLED_ORDERS: &str = "filled_orders";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ORDER_TRANSACTIONS` is never used
[INFO] [stdout]   --> src/service_types.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const ORDER_TRANSACTIONS: &str = "order_transactions";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANALYTICS_ASSET` is never used
[INFO] [stdout]   --> src/service_types.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ANALYTICS_ASSET: &str = "analytics_asset";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USER_LICENSE` is never used
[INFO] [stdout]   --> src/service_types.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const USER_LICENSE: &str = "user_license";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESTIMATE_TRADABLE_QUANTITY` is never used
[INFO] [stdout]   --> src/service_types.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const ESTIMATE_TRADABLE_QUANTITY: &str = "estimate_tradable_quantity";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FUND_HISTORY` is never used
[INFO] [stdout]   --> src/service_types.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const SEGMENT_FUND_HISTORY: &str = "segment_fund_history";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FUND_AVAILABLE` is never used
[INFO] [stdout]   --> src/service_types.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const SEGMENT_FUND_AVAILABLE: &str = "segment_fund_available";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSFER_SEGMENT_FUND` is never used
[INFO] [stdout]   --> src/service_types.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const TRANSFER_SEGMENT_FUND: &str = "transfer_segment_fund";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLACE_FOREX_ORDER` is never used
[INFO] [stdout]   --> src/service_types.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const PLACE_FOREX_ORDER: &str = "place_forex_order";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTRACT` is never used
[INFO] [stdout]   --> src/service_types.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const CONTRACT: &str = "contract";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTRACTS` is never used
[INFO] [stdout]   --> src/service_types.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const CONTRACTS: &str = "contracts";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUOTE_CONTRACT` is never used
[INFO] [stdout]   --> src/service_types.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const QUOTE_CONTRACT: &str = "quote_contract";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BRIEF` is never used
[INFO] [stdout]   --> src/service_types.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const BRIEF: &str = "brief";
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STOCK_DETAIL` is never used
[INFO] [stdout]   --> src/service_types.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const STOCK_DETAIL: &str = "stock_detail";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIMELINE` is never used
[INFO] [stdout]   --> src/service_types.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const TIMELINE: &str = "timeline";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRADE_TICK` is never used
[INFO] [stdout]   --> src/service_types.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const TRADE_TICK: &str = "trade_tick";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUOTE_REAL_TIME` is never used
[INFO] [stdout]   --> src/service_types.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const QUOTE_REAL_TIME: &str = "quote_real_time";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUOTE_DELAY` is never used
[INFO] [stdout]   --> src/service_types.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const QUOTE_DELAY: &str = "quote_delay";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUOTE_SHORTABLE_STOCKS` is never used
[INFO] [stdout]   --> src/service_types.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const QUOTE_SHORTABLE_STOCKS: &str = "quote_shortable_stocks";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUOTE_STOCK_TRADE` is never used
[INFO] [stdout]   --> src/service_types.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const QUOTE_STOCK_TRADE: &str = "quote_stock_trade";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUOTE_DEPTH` is never used
[INFO] [stdout]   --> src/service_types.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const QUOTE_DEPTH: &str = "quote_depth";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARKET_SCANNER` is never used
[INFO] [stdout]   --> src/service_types.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const MARKET_SCANNER: &str = "market_scanner";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STOCK_BROKER` is never used
[INFO] [stdout]   --> src/service_types.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const STOCK_BROKER: &str = "stock_broker";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAPITAL_DISTRIBUTION` is never used
[INFO] [stdout]   --> src/service_types.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const CAPITAL_DISTRIBUTION: &str = "capital_distribution";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAPITAL_FLOW` is never used
[INFO] [stdout]   --> src/service_types.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const CAPITAL_FLOW: &str = "capital_flow";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPTION_EXPIRATION` is never used
[INFO] [stdout]   --> src/service_types.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const OPTION_EXPIRATION: &str = "option_expiration";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPTION_CHAIN` is never used
[INFO] [stdout]   --> src/service_types.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const OPTION_CHAIN: &str = "option_chain";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPTION_BRIEF` is never used
[INFO] [stdout]   --> src/service_types.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const OPTION_BRIEF: &str = "option_brief";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPTION_KLINE` is never used
[INFO] [stdout]   --> src/service_types.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const OPTION_KLINE: &str = "option_kline";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPTION_TRADE_TICK` is never used
[INFO] [stdout]   --> src/service_types.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const OPTION_TRADE_TICK: &str = "option_trade_tick";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WARRANT_FILTER` is never used
[INFO] [stdout]   --> src/service_types.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const WARRANT_FILTER: &str = "warrant_filter";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WARRANT_REAL_TIME_QUOTE` is never used
[INFO] [stdout]   --> src/service_types.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const WARRANT_REAL_TIME_QUOTE: &str = "warrant_real_time_quote";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_EXCHANGE` is never used
[INFO] [stdout]   --> src/service_types.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const FUTURE_EXCHANGE: &str = "future_exchange";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_CONTRACT_BY_CONTRACT_CODE` is never used
[INFO] [stdout]   --> src/service_types.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const FUTURE_CONTRACT_BY_CONTRACT_CODE: &str = "future_contract_by_contract_code";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_CONTRACT_BY_EXCHANGE_CODE` is never used
[INFO] [stdout]   --> src/service_types.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const FUTURE_CONTRACT_BY_EXCHANGE_CODE: &str = "future_contract_by_exchange_code";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_CONTRACTS` is never used
[INFO] [stdout]   --> src/service_types.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const FUTURE_CONTRACTS: &str = "future_contracts";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_CONTINUOUS_CONTRACTS` is never used
[INFO] [stdout]   --> src/service_types.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const FUTURE_CONTINUOUS_CONTRACTS: &str = "future_continuous_contracts";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_CURRENT_CONTRACT` is never used
[INFO] [stdout]   --> src/service_types.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const FUTURE_CURRENT_CONTRACT: &str = "future_current_contract";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_KLINE` is never used
[INFO] [stdout]   --> src/service_types.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const FUTURE_KLINE: &str = "future_kline";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_REAL_TIME_QUOTE` is never used
[INFO] [stdout]   --> src/service_types.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const FUTURE_REAL_TIME_QUOTE: &str = "future_real_time_quote";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_TICK` is never used
[INFO] [stdout]   --> src/service_types.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const FUTURE_TICK: &str = "future_tick";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_TRADING_DATE` is never used
[INFO] [stdout]   --> src/service_types.rs:78:11
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub const FUTURE_TRADING_DATE: &str = "future_trading_date";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FINANCIAL_DAILY` is never used
[INFO] [stdout]   --> src/service_types.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const FINANCIAL_DAILY: &str = "financial_daily";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FINANCIAL_REPORT` is never used
[INFO] [stdout]   --> src/service_types.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const FINANCIAL_REPORT: &str = "financial_report";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CORPORATE_ACTION` is never used
[INFO] [stdout]   --> src/service_types.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const CORPORATE_ACTION: &str = "corporate_action";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INDUSTRY_LIST` is never used
[INFO] [stdout]   --> src/service_types.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const INDUSTRY_LIST: &str = "industry_list";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INDUSTRY_STOCKS` is never used
[INFO] [stdout]   --> src/service_types.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const INDUSTRY_STOCKS: &str = "industry_stocks";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STOCK_INDUSTRY` is never used
[INFO] [stdout]   --> src/service_types.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const STOCK_INDUSTRY: &str = "stock_industry";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountData` is never constructed
[INFO] [stdout]   --> src/service_types.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct AccountData {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Segment` is never constructed
[INFO] [stdout]    --> src/service_types.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Segment {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CurrencyAsset` is never constructed
[INFO] [stdout]    --> src/service_types.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct CurrencyAsset {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_config`, `get`, and `identifiers_to_options` are never used
[INFO] [stdout]    --> src/tiger_client.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  20 | impl TigerClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  25 |     pub fn set_config(&mut self, cf: ClientConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub async fn get(&self, api_method: &str, params: Value) -> Result<Value> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn identifiers_to_options(&self, identifiers: Value) -> Value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HK_QUOTE_LEVEL_PREFIX` is never used
[INFO] [stdout]  --> src/tiger_enums.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const HK_QUOTE_LEVEL_PREFIX: &str = "hk";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `US_QUOTE_LEVEL_PREFIX` is never used
[INFO] [stdout]  --> src/tiger_enums.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const US_QUOTE_LEVEL_PREFIX: &str = "us";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `License` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum License {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl License {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 40 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TradingSession` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub enum TradingSession {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl TradingSession {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 59 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SecType` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub enum SecType {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl SecType {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 81 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SegmentType` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:96:10
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub enum SegmentType {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl SegmentType {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 103 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Currency` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:113:10
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum Currency {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl Currency {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 122 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Language` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum Language {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Language {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 141 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Right` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum Right {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl Right {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 173 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TimelinePeriod` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:183:10
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum TimelinePeriod {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIMELINE_PERIOD_NAMES` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:188:11
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub const TIMELINE_PERIOD_NAMES: [&str; 3] = ["", "day", "5day"];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_timeline_period_value` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn get_timeline_period_value(period: TimelinePeriod) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BarPeriod` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub enum BarPeriod {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl BarPeriod {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 215 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CapitalPeriod` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:238:10
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub enum CapitalPeriod {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl CapitalPeriod {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 249 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OrderSortBy` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:263:10
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub enum OrderSortBy {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl OrderSortBy {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 269 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OrderStatus` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:278:10
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub enum OrderStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 291 | impl OrderStatus {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 292 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TickSizeType` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:309:10
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub enum TickSizeType {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:317:12
[INFO] [stdout]     |
[INFO] [stdout] 316 | impl TickSizeType {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 317 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResponseType` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:328:10
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub enum ResponseType {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hmac_sha1` is never used
[INFO] [stdout]   --> src/tiger_utils.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn hmac_sha1(key: &[u8], data: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_rsa` is never used
[INFO] [stdout]   --> src/tiger_utils.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn create_rsa(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `date_string_to_timestamp` is never used
[INFO] [stdout]    --> src/tiger_utils.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn date_string_to_timestamp(date_string: &str) -> i64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TradeClient` is never constructed
[INFO] [stdout]   --> src/trade_client.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TradeClient {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `prime_assets`, `place_order`, `get_account_param`, and `set_secret_key` are never used
[INFO] [stdout]   --> src/trade_client.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TradeClient {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(cf: ClientConfig) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub async fn prime_assets(&mut self) -> Result<Value> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub async fn place_order(
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn get_account_param(&self, account: &str) -> Value {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn set_secret_key(&self, obj: &mut Map<String, Value>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/tiger_client.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         self.client_config.check();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let _ = self.client_config.check();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `market`
[INFO] [stdout]    --> src/main.rs:323:5
[INFO] [stdout]     |
[INFO] [stdout] 323 |     market: tiger_enums::Market,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_market`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET` is never used
[INFO] [stdout]  --> src/constants.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const GET: &str = "GET";
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POST` is never used
[INFO] [stdout]  --> src/constants.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const POST: &str = "POST";
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_METHOD` is never used
[INFO] [stdout]  --> src/constants.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const P_METHOD: &str = "method";
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SIGN` is never used
[INFO] [stdout]   --> src/constants.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const P_SIGN: &str = "sign";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_TIMESTAMP` is never used
[INFO] [stdout]   --> src/constants.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const P_TIMESTAMP: &str = "timestamp";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_ITEMS` is never used
[INFO] [stdout]   --> src/constants.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const P_ITEMS: &str = "items";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_DATA` is never used
[INFO] [stdout]   --> src/constants.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const P_DATA: &str = "data";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_CODE` is never used
[INFO] [stdout]   --> src/constants.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const P_CODE: &str = "code";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_NOTIFY_URL` is never used
[INFO] [stdout]   --> src/constants.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const P_NOTIFY_URL: &str = "notify_url";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_USER_AGENT` is never used
[INFO] [stdout]   --> src/constants.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const P_USER_AGENT: &str = "User-Agent";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_BIZ_CONTENT` is never used
[INFO] [stdout]   --> src/constants.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const P_BIZ_CONTENT: &str = "biz_content";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_ACCOUNT` is never used
[INFO] [stdout]   --> src/constants.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const P_ACCOUNT: &str = "account";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SECRET_KEY` is never used
[INFO] [stdout]   --> src/constants.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const P_SECRET_KEY: &str = "secret_key";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SYMBOL` is never used
[INFO] [stdout]   --> src/constants.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const P_SYMBOL: &str = "symbol";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_CONTRACT_CODES` is never used
[INFO] [stdout]   --> src/constants.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const P_CONTRACT_CODES: &str = "contract_codes";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_CONTRACT_CODE` is never used
[INFO] [stdout]   --> src/constants.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const P_CONTRACT_CODE: &str = "contract_code";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_START_TIME` is never used
[INFO] [stdout]   --> src/constants.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const P_START_TIME: &str = "start_time";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_START_DATE` is never used
[INFO] [stdout]   --> src/constants.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const P_START_DATE: &str = "start_date";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_BEGIN_INDEX` is never used
[INFO] [stdout]   --> src/constants.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const P_BEGIN_INDEX: &str = "begin_index";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_END_INDEX` is never used
[INFO] [stdout]   --> src/constants.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const P_END_INDEX: &str = "end_index";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_TRADE_SESSION` is never used
[INFO] [stdout]   --> src/constants.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const P_TRADE_SESSION: &str = "trade_session";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_EXPIRY` is never used
[INFO] [stdout]   --> src/constants.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const P_EXPIRY: &str = "expiry";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_STRIKE` is never used
[INFO] [stdout]   --> src/constants.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const P_STRIKE: &str = "strike";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_TRADING_DATE` is never used
[INFO] [stdout]   --> src/constants.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const P_TRADING_DATE: &str = "trading_date";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SEC_TYPE` is never used
[INFO] [stdout]   --> src/constants.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const P_SEC_TYPE: &str = "sec_type";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SEG_TYPE` is never used
[INFO] [stdout]   --> src/constants.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const P_SEG_TYPE: &str = "seg_type";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_CURRENCY` is never used
[INFO] [stdout]   --> src/constants.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const P_CURRENCY: &str = "currency";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_EXCHANGE` is never used
[INFO] [stdout]   --> src/constants.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const P_EXCHANGE: &str = "exchange";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_TYPE` is never used
[INFO] [stdout]   --> src/constants.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const P_TYPE: &str = "type";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_BEGIN` is never used
[INFO] [stdout]   --> src/constants.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const P_BEGIN: &str = "begin";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_END` is never used
[INFO] [stdout]   --> src/constants.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const P_END: &str = "end";
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_TICK_SIZE` is never used
[INFO] [stdout]   --> src/constants.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const P_TICK_SIZE: &str = "tick_size";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_EXCHANGE_CODE` is never used
[INFO] [stdout]   --> src/constants.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const P_EXCHANGE_CODE: &str = "exchange_code";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_PAGE` is never used
[INFO] [stdout]   --> src/constants.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const P_PAGE: &str = "page";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_PAGE_SIZE` is never used
[INFO] [stdout]   --> src/constants.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const P_PAGE_SIZE: &str = "page_size";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SORT_DIR` is never used
[INFO] [stdout]   --> src/constants.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const P_SORT_DIR: &str = "sort_dir";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SORT_FIELD_NAME` is never used
[INFO] [stdout]   --> src/constants.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const P_SORT_FIELD_NAME: &str = "sort_field_name";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SANDBOX_TIGER_PUBLIC_KEY` is never used
[INFO] [stdout]   --> src/constants.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const SANDBOX_TIGER_PUBLIC_KEY: &str = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbm21i11hgAENGd3/f280PSe4g9YGkS3TEXBY\
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SANDBOX_TIGER_HOST` is never used
[INFO] [stdout]   --> src/constants.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const SANDBOX_TIGER_HOST: &str = "openapi-sandbox.tigerfintech.com";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SANDBOX_TIGER_SERVER_URL` is never used
[INFO] [stdout]   --> src/constants.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const SANDBOX_TIGER_SERVER_URL: &str = "https://openapi-sandbox.tigerfintech.com/gateway";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SANDBOX_TIGER_SOCKET_HOST` is never used
[INFO] [stdout]   --> src/constants.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const SANDBOX_TIGER_SOCKET_HOST: &str = SANDBOX_TIGER_HOST;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SANDBOX_TIGER_SOCKET_PORT` is never used
[INFO] [stdout]   --> src/constants.rs:96:11
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub const SANDBOX_TIGER_SOCKET_PORT: &str = "9885";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Contract` is never constructed
[INFO] [stdout]  --> src/contract_utils.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Contract {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContractUtil` is never constructed
[INFO] [stdout]   --> src/contract_utils.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct ContractUtil;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `stock_contract`, `option_contract`, `option_contract_from_identifier`, `future_contract`, and `extract_option_info` are never used
[INFO] [stdout]    --> src/contract_utils.rs:21:12
[INFO] [stdout]     |
[INFO] [stdout]  20 | impl ContractUtil {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout]  21 |     pub fn stock_contract(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn option_contract(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn option_contract_from_identifier(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn future_contract(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn extract_option_info(identifier: &str) -> (String, String, String, String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Contract` is never constructed
[INFO] [stdout]   --> src/models.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Contract {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `basic`, `option`, and `future` are never used
[INFO] [stdout]   --> src/models.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Contract {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 29 |     /// 默认构造函数
[INFO] [stdout] 30 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn basic(
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn option(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn future(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OrderType` is never used
[INFO] [stdout]    --> src/models.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub enum OrderType {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]    --> src/models.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub enum Action {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TimeInForce` is never used
[INFO] [stdout]    --> src/models.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub enum TimeInForce {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Order` is never constructed
[INFO] [stdout]    --> src/models.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct Order {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `limit_buy`, `market_buy`, `limit_sell`, `market_sell`, and `to_value` are never used
[INFO] [stdout]    --> src/models.rs:201:12
[INFO] [stdout]     |
[INFO] [stdout] 199 | impl Order {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 200 |     /// 基础构造函数
[INFO] [stdout] 201 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn limit_buy(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn market_buy(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn limit_sell(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn market_sell(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn to_value(&self, account_param: Value, secret_key: Option<String>) -> Map<String, Value> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]    --> src/models.rs:428:12
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub struct Position {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CurrencyAsset` is never constructed
[INFO] [stdout]    --> src/models.rs:453:12
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub struct CurrencyAsset {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Segment` is never constructed
[INFO] [stdout]    --> src/models.rs:466:12
[INFO] [stdout]     |
[INFO] [stdout] 466 | pub struct Segment {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PortfolioAccount` is never constructed
[INFO] [stdout]    --> src/models.rs:493:12
[INFO] [stdout]     |
[INFO] [stdout] 493 | pub struct PortfolioAccount {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RealtimeQuote` is never constructed
[INFO] [stdout]    --> src/models.rs:525:12
[INFO] [stdout]     |
[INFO] [stdout] 525 | pub struct RealtimeQuote {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TradeTickItem` is never constructed
[INFO] [stdout]    --> src/models.rs:576:12
[INFO] [stdout]     |
[INFO] [stdout] 576 | pub struct TradeTickItem {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/models.rs:597:12
[INFO] [stdout]     |
[INFO] [stdout] 596 | impl TradeTickItem {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 597 |     pub fn new(price: f64, volume: i64, time: i64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 612 |     pub fn get_price(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 616 |     pub fn get_volume(&self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 620 |     pub fn get_time(&self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 624 |     pub fn get_avg_price(&self) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 629 |     pub fn get_formatted_time(&self, format: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 635 |     pub fn get_datetime(&self) -> DateTime<Utc> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TradeTick` is never constructed
[INFO] [stdout]    --> src/models.rs:653:12
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub struct TradeTick {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/models.rs:667:12
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl TradeTick {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 667 |     pub fn new(symbol: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 678 |     pub fn from_json(json_str: &str) -> Result<Self, serde_json::Error> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 683 |     pub fn parse_tick_data(json_str: &str) -> Result<Self, serde_json::Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 703 |     pub fn get_symbol(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 707 |     pub fn get_ticks(&self) -> &[TradeTickItem] {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 712 |     pub fn add_tick(&mut self, tick: TradeTickItem) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 717 |     pub fn filter_by_time_range(&self, start_time: i64, end_time: i64) -> Vec<&TradeTickItem> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 725 |     pub fn total_volume(&self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 730 |     pub fn latest_price(&self) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 735 |     pub fn to_json(&self) -> Result<String, serde_json::Error> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatchTradeTickResponse` is never constructed
[INFO] [stdout]    --> src/models.rs:765:12
[INFO] [stdout]     |
[INFO] [stdout] 765 | pub struct BatchTradeTickResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_json`, `is_success`, and `merge_all` are never used
[INFO] [stdout]    --> src/models.rs:780:12
[INFO] [stdout]     |
[INFO] [stdout] 779 | impl BatchTradeTickResponse {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 780 |     pub fn from_json(json_str: &str) -> Result<Self, serde_json::Error> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     pub fn is_success(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 788 |     pub fn merge_all(&self) -> Vec<TradeTickItem> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ORDER_NO` is never used
[INFO] [stdout]  --> src/service_types.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const ORDER_NO: &str = "order_no";
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PREVIEW_ORDER` is never used
[INFO] [stdout]  --> src/service_types.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const PREVIEW_ORDER: &str = "preview_order";
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLACE_ORDER` is never used
[INFO] [stdout]  --> src/service_types.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const PLACE_ORDER: &str = "place_order";
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CANCEL_ORDER` is never used
[INFO] [stdout]  --> src/service_types.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const CANCEL_ORDER: &str = "cancel_order";
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODIFY_ORDER` is never used
[INFO] [stdout]   --> src/service_types.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const MODIFY_ORDER: &str = "modify_order";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCOUNTS` is never used
[INFO] [stdout]   --> src/service_types.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const ACCOUNTS: &str = "accounts";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSETS` is never used
[INFO] [stdout]   --> src/service_types.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const ASSETS: &str = "assets";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRIME_ASSETS` is never used
[INFO] [stdout]   --> src/service_types.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const PRIME_ASSETS: &str = "prime_assets";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POSITIONS` is never used
[INFO] [stdout]   --> src/service_types.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const POSITIONS: &str = "positions";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ORDERS` is never used
[INFO] [stdout]   --> src/service_types.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const ORDERS: &str = "orders";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACTIVE_ORDERS` is never used
[INFO] [stdout]   --> src/service_types.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const ACTIVE_ORDERS: &str = "active_orders";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INACTIVE_ORDERS` is never used
[INFO] [stdout]   --> src/service_types.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const INACTIVE_ORDERS: &str = "inactive_orders";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILLED_ORDERS` is never used
[INFO] [stdout]   --> src/service_types.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const FILLED_ORDERS: &str = "filled_orders";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ORDER_TRANSACTIONS` is never used
[INFO] [stdout]   --> src/service_types.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const ORDER_TRANSACTIONS: &str = "order_transactions";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANALYTICS_ASSET` is never used
[INFO] [stdout]   --> src/service_types.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ANALYTICS_ASSET: &str = "analytics_asset";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USER_LICENSE` is never used
[INFO] [stdout]   --> src/service_types.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const USER_LICENSE: &str = "user_license";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESTIMATE_TRADABLE_QUANTITY` is never used
[INFO] [stdout]   --> src/service_types.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const ESTIMATE_TRADABLE_QUANTITY: &str = "estimate_tradable_quantity";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FUND_HISTORY` is never used
[INFO] [stdout]   --> src/service_types.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const SEGMENT_FUND_HISTORY: &str = "segment_fund_history";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_FUND_AVAILABLE` is never used
[INFO] [stdout]   --> src/service_types.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const SEGMENT_FUND_AVAILABLE: &str = "segment_fund_available";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSFER_SEGMENT_FUND` is never used
[INFO] [stdout]   --> src/service_types.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const TRANSFER_SEGMENT_FUND: &str = "transfer_segment_fund";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLACE_FOREX_ORDER` is never used
[INFO] [stdout]   --> src/service_types.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const PLACE_FOREX_ORDER: &str = "place_forex_order";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTRACT` is never used
[INFO] [stdout]   --> src/service_types.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const CONTRACT: &str = "contract";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTRACTS` is never used
[INFO] [stdout]   --> src/service_types.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const CONTRACTS: &str = "contracts";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUOTE_CONTRACT` is never used
[INFO] [stdout]   --> src/service_types.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const QUOTE_CONTRACT: &str = "quote_contract";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BRIEF` is never used
[INFO] [stdout]   --> src/service_types.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const BRIEF: &str = "brief";
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STOCK_DETAIL` is never used
[INFO] [stdout]   --> src/service_types.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const STOCK_DETAIL: &str = "stock_detail";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIMELINE` is never used
[INFO] [stdout]   --> src/service_types.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const TIMELINE: &str = "timeline";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRADE_TICK` is never used
[INFO] [stdout]   --> src/service_types.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const TRADE_TICK: &str = "trade_tick";
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUOTE_REAL_TIME` is never used
[INFO] [stdout]   --> src/service_types.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const QUOTE_REAL_TIME: &str = "quote_real_time";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUOTE_DELAY` is never used
[INFO] [stdout]   --> src/service_types.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const QUOTE_DELAY: &str = "quote_delay";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUOTE_SHORTABLE_STOCKS` is never used
[INFO] [stdout]   --> src/service_types.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const QUOTE_SHORTABLE_STOCKS: &str = "quote_shortable_stocks";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUOTE_STOCK_TRADE` is never used
[INFO] [stdout]   --> src/service_types.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const QUOTE_STOCK_TRADE: &str = "quote_stock_trade";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUOTE_DEPTH` is never used
[INFO] [stdout]   --> src/service_types.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const QUOTE_DEPTH: &str = "quote_depth";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARKET_SCANNER` is never used
[INFO] [stdout]   --> src/service_types.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const MARKET_SCANNER: &str = "market_scanner";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STOCK_BROKER` is never used
[INFO] [stdout]   --> src/service_types.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const STOCK_BROKER: &str = "stock_broker";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAPITAL_DISTRIBUTION` is never used
[INFO] [stdout]   --> src/service_types.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const CAPITAL_DISTRIBUTION: &str = "capital_distribution";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAPITAL_FLOW` is never used
[INFO] [stdout]   --> src/service_types.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const CAPITAL_FLOW: &str = "capital_flow";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPTION_EXPIRATION` is never used
[INFO] [stdout]   --> src/service_types.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const OPTION_EXPIRATION: &str = "option_expiration";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPTION_CHAIN` is never used
[INFO] [stdout]   --> src/service_types.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const OPTION_CHAIN: &str = "option_chain";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPTION_BRIEF` is never used
[INFO] [stdout]   --> src/service_types.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const OPTION_BRIEF: &str = "option_brief";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPTION_KLINE` is never used
[INFO] [stdout]   --> src/service_types.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const OPTION_KLINE: &str = "option_kline";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPTION_TRADE_TICK` is never used
[INFO] [stdout]   --> src/service_types.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const OPTION_TRADE_TICK: &str = "option_trade_tick";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WARRANT_FILTER` is never used
[INFO] [stdout]   --> src/service_types.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const WARRANT_FILTER: &str = "warrant_filter";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WARRANT_REAL_TIME_QUOTE` is never used
[INFO] [stdout]   --> src/service_types.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const WARRANT_REAL_TIME_QUOTE: &str = "warrant_real_time_quote";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_EXCHANGE` is never used
[INFO] [stdout]   --> src/service_types.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const FUTURE_EXCHANGE: &str = "future_exchange";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_CONTRACT_BY_CONTRACT_CODE` is never used
[INFO] [stdout]   --> src/service_types.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const FUTURE_CONTRACT_BY_CONTRACT_CODE: &str = "future_contract_by_contract_code";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_CONTRACT_BY_EXCHANGE_CODE` is never used
[INFO] [stdout]   --> src/service_types.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const FUTURE_CONTRACT_BY_EXCHANGE_CODE: &str = "future_contract_by_exchange_code";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_CONTRACTS` is never used
[INFO] [stdout]   --> src/service_types.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const FUTURE_CONTRACTS: &str = "future_contracts";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_CONTINUOUS_CONTRACTS` is never used
[INFO] [stdout]   --> src/service_types.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const FUTURE_CONTINUOUS_CONTRACTS: &str = "future_continuous_contracts";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_CURRENT_CONTRACT` is never used
[INFO] [stdout]   --> src/service_types.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const FUTURE_CURRENT_CONTRACT: &str = "future_current_contract";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_KLINE` is never used
[INFO] [stdout]   --> src/service_types.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const FUTURE_KLINE: &str = "future_kline";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_REAL_TIME_QUOTE` is never used
[INFO] [stdout]   --> src/service_types.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const FUTURE_REAL_TIME_QUOTE: &str = "future_real_time_quote";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_TICK` is never used
[INFO] [stdout]   --> src/service_types.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const FUTURE_TICK: &str = "future_tick";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUTURE_TRADING_DATE` is never used
[INFO] [stdout]   --> src/service_types.rs:78:11
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub const FUTURE_TRADING_DATE: &str = "future_trading_date";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FINANCIAL_DAILY` is never used
[INFO] [stdout]   --> src/service_types.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const FINANCIAL_DAILY: &str = "financial_daily";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FINANCIAL_REPORT` is never used
[INFO] [stdout]   --> src/service_types.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const FINANCIAL_REPORT: &str = "financial_report";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CORPORATE_ACTION` is never used
[INFO] [stdout]   --> src/service_types.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const CORPORATE_ACTION: &str = "corporate_action";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INDUSTRY_LIST` is never used
[INFO] [stdout]   --> src/service_types.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const INDUSTRY_LIST: &str = "industry_list";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INDUSTRY_STOCKS` is never used
[INFO] [stdout]   --> src/service_types.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const INDUSTRY_STOCKS: &str = "industry_stocks";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STOCK_INDUSTRY` is never used
[INFO] [stdout]   --> src/service_types.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const STOCK_INDUSTRY: &str = "stock_industry";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountData` is never constructed
[INFO] [stdout]   --> src/service_types.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct AccountData {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Segment` is never constructed
[INFO] [stdout]    --> src/service_types.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Segment {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CurrencyAsset` is never constructed
[INFO] [stdout]    --> src/service_types.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct CurrencyAsset {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_config`, `get`, and `identifiers_to_options` are never used
[INFO] [stdout]    --> src/tiger_client.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  20 | impl TigerClient {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  25 |     pub fn set_config(&mut self, cf: ClientConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub async fn get(&self, api_method: &str, params: Value) -> Result<Value> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn identifiers_to_options(&self, identifiers: Value) -> Value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HK_QUOTE_LEVEL_PREFIX` is never used
[INFO] [stdout]  --> src/tiger_enums.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const HK_QUOTE_LEVEL_PREFIX: &str = "hk";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `US_QUOTE_LEVEL_PREFIX` is never used
[INFO] [stdout]  --> src/tiger_enums.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const US_QUOTE_LEVEL_PREFIX: &str = "us";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `License` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum License {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl License {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 40 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TradingSession` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub enum TradingSession {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl TradingSession {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 59 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SecType` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub enum SecType {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl SecType {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 81 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SegmentType` is never used
[INFO] [stdout]   --> src/tiger_enums.rs:96:10
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub enum SegmentType {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl SegmentType {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 103 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Currency` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:113:10
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum Currency {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl Currency {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 122 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Language` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum Language {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Language {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 141 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Right` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum Right {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl Right {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 173 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TimelinePeriod` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:183:10
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum TimelinePeriod {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIMELINE_PERIOD_NAMES` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:188:11
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub const TIMELINE_PERIOD_NAMES: [&str; 3] = ["", "day", "5day"];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_timeline_period_value` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn get_timeline_period_value(period: TimelinePeriod) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BarPeriod` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub enum BarPeriod {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl BarPeriod {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 215 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CapitalPeriod` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:238:10
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub enum CapitalPeriod {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl CapitalPeriod {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 249 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OrderSortBy` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:263:10
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub enum OrderSortBy {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl OrderSortBy {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 269 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OrderStatus` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:278:10
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub enum OrderStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 291 | impl OrderStatus {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 292 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TickSizeType` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:309:10
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub enum TickSizeType {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_str` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:317:12
[INFO] [stdout]     |
[INFO] [stdout] 316 | impl TickSizeType {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 317 |     pub fn to_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResponseType` is never used
[INFO] [stdout]    --> src/tiger_enums.rs:328:10
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub enum ResponseType {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hmac_sha1` is never used
[INFO] [stdout]   --> src/tiger_utils.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn hmac_sha1(key: &[u8], data: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_rsa` is never used
[INFO] [stdout]   --> src/tiger_utils.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn create_rsa(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `date_string_to_timestamp` is never used
[INFO] [stdout]    --> src/tiger_utils.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn date_string_to_timestamp(date_string: &str) -> i64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TradeClient` is never constructed
[INFO] [stdout]   --> src/trade_client.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TradeClient {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `prime_assets`, `place_order`, `get_account_param`, and `set_secret_key` are never used
[INFO] [stdout]   --> src/trade_client.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TradeClient {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(cf: ClientConfig) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub async fn prime_assets(&mut self) -> Result<Value> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub async fn place_order(
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn get_account_param(&self, account: &str) -> Value {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn set_secret_key(&self, obj: &mut Map<String, Value>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/tiger_client.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         self.client_config.check();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let _ = self.client_config.check();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 21s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "adee5a37203c57c3af46ecc8af08dac3b30661d2c099cf858b86a5a0aad5b2cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "adee5a37203c57c3af46ecc8af08dac3b30661d2c099cf858b86a5a0aad5b2cb", kill_on_drop: false }`
[INFO] [stdout] adee5a37203c57c3af46ecc8af08dac3b30661d2c099cf858b86a5a0aad5b2cb
