[INFO] cloning repository https://github.com/Titan-Trading/backtest-engine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Titan-Trading/backtest-engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTitan-Trading%2Fbacktest-engine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTitan-Trading%2Fbacktest-engine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7240760e7f23a84b30834c039edc2c993472676f
[INFO] checking Titan-Trading/backtest-engine against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTitan-Trading%2Fbacktest-engine" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Titan-Trading/backtest-engine
[INFO] finished tweaking git repo https://github.com/Titan-Trading/backtest-engine
[INFO] tweaked toml for git repo https://github.com/Titan-Trading/backtest-engine written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Titan-Trading/backtest-engine on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Titan-Trading/backtest-engine 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded str_stack v0.1.0
[INFO] [stderr]   Downloaded cxxbridge-flags v1.0.91
[INFO] [stderr]   Downloaded windows-targets v0.42.1
[INFO] [stderr]   Downloaded csv-core v0.1.10
[INFO] [stderr]   Downloaded clap_derive v3.2.18
[INFO] [stderr]   Downloaded ahash v0.8.3
[INFO] [stderr]   Downloaded inferno v0.11.15
[INFO] [stderr]   Downloaded crossbeam v0.8.2
[INFO] [stderr]   Downloaded errno v0.2.8
[INFO] [stderr]   Downloaded rgb v0.8.36
[INFO] [stderr]   Downloaded scratch v1.0.3
[INFO] [stderr]   Downloaded opener v0.5.2
[INFO] [stderr]   Downloaded evmap v10.0.2
[INFO] [stderr]   Downloaded is-terminal v0.4.4
[INFO] [stderr]   Downloaded hashbag v0.1.10
[INFO] [stderr]   Downloaded clap_complete v3.2.5
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.13
[INFO] [stderr]   Downloaded cxxbridge-macro v1.0.91
[INFO] [stderr]   Downloaded quick-xml v0.26.0
[INFO] [stderr]   Downloaded cxx v1.0.91
[INFO] [stderr]   Downloaded cxx-build v1.0.91
[INFO] [stderr]   Downloaded bumpalo v3.12.0
[INFO] [stderr]   Downloaded num-format v0.4.4
[INFO] [stderr]   Downloaded rustix v0.36.8
[INFO] [stderr]   Downloaded proc-macro2 v1.0.51
[INFO] [stderr]   Downloaded textwrap v0.16.0
[INFO] [stderr]   Downloaded io-lifetimes v1.0.5
[INFO] [stderr]   Downloaded blondie v0.3.1
[INFO] [stderr]   Downloaded serde_json v1.0.93
[INFO] [stderr]   Downloaded bstr v1.3.0
[INFO] [stderr]   Downloaded clap v3.2.23
[INFO] [stderr]   Downloaded syn v1.0.108
[INFO] [stderr]   Downloaded camino v1.1.3
[INFO] [stderr]   Downloaded flamegraph v0.6.2
[INFO] [stderr]   Downloaded csv v1.2.0
[INFO] [stderr]   Downloaded linux-raw-sys v0.1.4
[INFO] [stderr]   Downloaded windows v0.36.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ab87f744d95b6955d284f684471ce586992c1efce8dc67fecaafdd2deab976f9
[INFO] running `Command { std: "docker" "start" "-a" "ab87f744d95b6955d284f684471ce586992c1efce8dc67fecaafdd2deab976f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ab87f744d95b6955d284f684471ce586992c1efce8dc67fecaafdd2deab976f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab87f744d95b6955d284f684471ce586992c1efce8dc67fecaafdd2deab976f9", kill_on_drop: false }`
[INFO] [stdout] ab87f744d95b6955d284f684471ce586992c1efce8dc67fecaafdd2deab976f9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d29f41c566f83e1dd458025c10a29a7f56088e9085c31fba65024a17775fdf97
[INFO] running `Command { std: "docker" "start" "-a" "d29f41c566f83e1dd458025c10a29a7f56088e9085c31fba65024a17775fdf97", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.51
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]    Compiling syn v1.0.108
[INFO] [stderr]    Compiling serde v1.0.152
[INFO] [stderr]    Compiling crossbeam-utils v0.8.14
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]    Compiling indexmap v1.9.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling io-lifetimes v1.0.5
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling rustix v0.36.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.7
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.13
[INFO] [stderr]    Compiling camino v1.1.3
[INFO] [stderr]    Compiling serde_json v1.0.93
[INFO] [stderr]     Checking linux-raw-sys v0.1.4
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling semver v1.0.16
[INFO] [stderr]     Checking os_str_bytes v6.4.1
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]    Compiling anyhow v1.0.69
[INFO] [stderr]     Checking bytemuck v1.13.1
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]    Compiling signal-hook v0.3.15
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]     Checking textwrap v0.16.0
[INFO] [stderr]     Checking termcolor v1.2.0
[INFO] [stderr]     Checking num-format v0.4.4
[INFO] [stderr]     Checking rgb v0.8.36
[INFO] [stderr]     Checking quick-xml v0.26.0
[INFO] [stderr]     Checking str_stack v0.1.0
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking iana-time-zone v0.1.53
[INFO] [stderr]     Checking hashbag v0.1.10
[INFO] [stderr]     Checking crossbeam-channel v0.5.6
[INFO] [stderr]     Checking evmap v10.0.2
[INFO] [stderr]     Checking bstr v1.3.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.2
[INFO] [stderr]    Compiling quote v1.0.23
[INFO] [stderr]     Checking crossbeam v0.8.2
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking opener v0.5.2
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking uuid v1.3.0
[INFO] [stderr]     Checking chrono v0.4.23
[INFO] [stderr]     Checking dashmap v5.4.0
[INFO] [stderr]     Checking is-terminal v0.4.4
[INFO] [stderr]     Checking inferno v0.11.15
[INFO] [stderr]    Compiling serde_derive v1.0.152
[INFO] [stderr]    Compiling clap_derive v3.2.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]     Checking thiserror v1.0.38
[INFO] [stderr]     Checking clap v3.2.23
[INFO] [stderr]     Checking clap_complete v3.2.5
[INFO] [stderr]     Checking cargo-platform v0.1.2
[INFO] [stderr]     Checking csv v1.2.0
[INFO] [stderr]     Checking cargo_metadata v0.15.3
[INFO] [stderr]     Checking flamegraph v0.6.2
[INFO] [stderr]     Checking st-backtester-2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `bar::Bar` and `barset::BarSet`
[INFO] [stdout]  --> src/database/models/chunk.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{bar::Bar, candlestick::Candlestick, barset::BarSet};
[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: `bar::Bar`
[INFO] [stdout]  --> src/database/models/bar_map.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{bar::Bar, candlestick::Candlestick};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `barset::BarSet`
[INFO] [stdout]  --> src/database/models/query_result.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{barset::BarSet, bar::Bar};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/database/tasks/query.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Mutex, Arc}, collections::HashMap, time::Instant};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]  --> src/database/engine.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Mutex, RwLock};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `bar::Bar` and `barset::BarSet`
[INFO] [stdout]  --> src/database/models/chunk.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{bar::Bar, candlestick::Candlestick, barset::BarSet};
[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: `bar::Bar`
[INFO] [stdout]  --> src/database/models/bar_map.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{bar::Bar, candlestick::Candlestick};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `barset::BarSet`
[INFO] [stdout]  --> src/database/models/query_result.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{barset::BarSet, bar::Bar};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/database/tasks/query.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Mutex, Arc}, collections::HashMap, time::Instant};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]  --> src/database/engine.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Mutex, RwLock};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::models::bar::Bar`
[INFO] [stdout]  --> src/database/engine.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::models::bar::Bar;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::models::bar::Bar`
[INFO] [stdout]  --> src/database/engine.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::models::bar::Bar;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/database/models/chunk.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 Err(e) => {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/database/models/chunk.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 Err(e) => {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/database/models/candlestick.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         for i in 0..field_count {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/database/models/candlestick.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         for i in 0..field_count {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exchange`
[INFO] [stdout]   --> src/database/models/bar_map.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let exchange = key.0;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exchange`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exchange`
[INFO] [stdout]   --> src/database/models/bar_map.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let exchange = key.0;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exchange`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]   --> src/database/models/bar_map.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let symbol = key.1;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]   --> src/database/models/bar_map.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let symbol = key.1;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/database/models/query.rs:97:18
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn start(mut self) -> Self {
[INFO] [stdout]    |                  ----^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/database/models/query.rs:97:18
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn start(mut self) -> Self {
[INFO] [stdout]    |                  ----^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/database/tasks/query.rs:84:59
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     read_task.execute(Some(Box::new(move |result: bool| {
[INFO] [stdout]    |                                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/database/storage.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut reader = BufReader::new(file);
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/database/storage.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let header = self.read_header().unwrap();   
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/database/engine.rs:114:46
[INFO] [stdout]     |
[INFO] [stdout] 114 |             task.execute(Some(Box::new(move |result: bool| {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/database/tasks/query.rs:84:59
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     read_task.execute(Some(Box::new(move |result: bool| {
[INFO] [stdout]    |                                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/database/storage.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut reader = BufReader::new(file);
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]   --> src/database/storage.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let header = self.read_header().unwrap();   
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_id`
[INFO] [stdout]   --> src/database/database.rs:49:26
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn insert(&self, client_id: u64, data: Vec<Bar>) -> Result<bool, Error> {
[INFO] [stdout]    |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/database/database.rs:49:42
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn insert(&self, client_id: u64, data: Vec<Bar>) -> Result<bool, Error> {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `workers` is never read
[INFO] [stdout]   --> src/database/threads.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ThreadPool {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 13 |     workers: Vec<Worker>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> src/database/threads.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl ThreadPool {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn join(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Terminate` is never constructed
[INFO] [stdout]   --> src/database/threads.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | enum Message {
[INFO] [stdout]    |      ------- variant in this enum
[INFO] [stdout] 68 |     NewJob(Job),
[INFO] [stdout] 69 |     Terminate,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `thread` are never read
[INFO] [stdout]   --> src/database/threads.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | struct Worker {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 74 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 75 |     thread: Option<thread::JoinHandle<()>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `filename` and `root_dir` are never read
[INFO] [stdout]   --> src/database/models/index.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct DatabaseIndex {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout]  8 |     // name of the corpus index file
[INFO] [stdout]  9 |     pub filename: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 10 |
[INFO] [stdout] 11 |     pub root_dir: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DatabaseIndex` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/database/models/index.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl DatabaseIndex {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn new(filename: String, root_dir: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/database/engine.rs:114:46
[INFO] [stdout]     |
[INFO] [stdout] 114 |             task.execute(Some(Box::new(move |result: bool| {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dataset_id`, `last_updated`, `exchange`, `symbol`, `start_timestamp`, and `end_timestamp` are never read
[INFO] [stdout]   --> src/database/models/index.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Corpus {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 65 |     pub dataset_id: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 66 |     pub last_updated: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 67 |     pub exchange: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 68 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub start_timestamp: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub end_timestamp: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Corpus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier`, `dataset_id`, `start_timestamp`, and `end_timestamp` are never read
[INFO] [stdout]   --> src/database/models/header.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Header {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout]  9 |     pub identifier: String, // STMDB (4 bytes)
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 10 |     pub dataset_id: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 11 |     pub start_timestamp: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub end_timestamp: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `into_writer` are never used
[INFO] [stdout]   --> src/database/models/header.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Header {
[INFO] [stdout]    | ----------- associated functions in this implementation
[INFO] [stdout] 16 |     // create a new empty header
[INFO] [stdout] 17 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn into_writer(writer: &mut BufWriter<File>, dataset_id: i32, start_timestamp: i32, end_timestamp: i32) -> Result<Self, Erro...
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add_candlestick` are never used
[INFO] [stdout]   --> src/database/models/chunk.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Chunk {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 11 |     // create a new chunk
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn add_candlestick(&mut self, candlestick: Candlestick) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `String` is never constructed
[INFO] [stdout]  --> src/database/models/field.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum FieldType {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 4 |     String,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length` and `field_type` are never read
[INFO] [stdout]  --> src/database/models/field.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Field {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 8 |     pub length: u8,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 9 |     pub field_type: FieldType,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/database/models/field.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Field {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new(length: u8, field_type: FieldType, original_value: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `set_name` are never used
[INFO] [stdout]   --> src/database/models/exchange.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Exchange {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn set_name(&mut self, name: String) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_target_currency`, and `set_base_currency` are never used
[INFO] [stdout]   --> src/database/models/symbol.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Symbol {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn set_target_currency(&mut self, target_currency: String) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn set_base_currency(&mut self, base_currency: String) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/database/models/candlestick.rs:21:12
[INFO] [stdout]     |
[INFO] [stdout]  20 | impl Candlestick {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  21 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn new_with(timestamp: i64, open: f64, high: f64, low: f64, close: f64, volume: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn set_timestamp(&mut self, timestamp: i64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn set_open(&mut self, open: f64) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn set_high(&mut self, high: f64) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn set_low(&mut self, low: f64) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn set_close(&mut self, close: f64) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn set_volume(&mut self, volume: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_with` is never used
[INFO] [stdout]   --> src/database/models/bar.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Bar {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn new_with(timestamp: i64, candlesticks: BarMap) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_bar` is never used
[INFO] [stdout]   --> src/database/models/barset.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl BarSet {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn add_bar(&mut self, bar: Bar) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_with` is never used
[INFO] [stdout]   --> src/database/models/bar_map.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl BarMap {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn new_with(bars: HashMap<(String, String), Candlestick>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/database/models/query.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Query {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 20 |     // creates a new query using database instance
[INFO] [stdout] 21 |     pub fn new(database: Database) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_with` is never used
[INFO] [stdout]   --> src/database/engine.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl DatabaseEngine {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn new_with(path: String, min_workers: i8) -> DatabaseEngine {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `clients` is never read
[INFO] [stdout]   --> src/database/database.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Database {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 12 |     engine: DatabaseEngine,
[INFO] [stdout] 13 |     clients: Vec<u64>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Database` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `connect_client`, `disconnect_client`, and `insert` are never used
[INFO] [stdout]   --> src/database/database.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Database {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn connect_client(&mut self, client_id: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn disconnect_client(&mut self, client_id: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn insert(&self, client_id: u64, data: Vec<Bar>) -> Result<bool, Error> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_id`
[INFO] [stdout]   --> src/database/database.rs:49:26
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn insert(&self, client_id: u64, data: Vec<Bar>) -> Result<bool, Error> {
[INFO] [stdout]    |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/database/database.rs:49:42
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn insert(&self, client_id: u64, data: Vec<Bar>) -> Result<bool, Error> {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `workers` is never read
[INFO] [stdout]   --> src/database/threads.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ThreadPool {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 13 |     workers: Vec<Worker>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> src/database/threads.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl ThreadPool {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn join(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Terminate` is never constructed
[INFO] [stdout]   --> src/database/threads.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | enum Message {
[INFO] [stdout]    |      ------- variant in this enum
[INFO] [stdout] 68 |     NewJob(Job),
[INFO] [stdout] 69 |     Terminate,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `thread` are never read
[INFO] [stdout]   --> src/database/threads.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | struct Worker {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 74 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 75 |     thread: Option<thread::JoinHandle<()>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `filename` and `root_dir` are never read
[INFO] [stdout]   --> src/database/models/index.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct DatabaseIndex {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout]  8 |     // name of the corpus index file
[INFO] [stdout]  9 |     pub filename: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 10 |
[INFO] [stdout] 11 |     pub root_dir: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DatabaseIndex` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/database/models/index.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl DatabaseIndex {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn new(filename: String, root_dir: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dataset_id`, `last_updated`, `exchange`, `symbol`, `start_timestamp`, and `end_timestamp` are never read
[INFO] [stdout]   --> src/database/models/index.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Corpus {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 65 |     pub dataset_id: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 66 |     pub last_updated: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 67 |     pub exchange: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 68 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 69 |     pub start_timestamp: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub end_timestamp: i32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Corpus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier`, `dataset_id`, `start_timestamp`, and `end_timestamp` are never read
[INFO] [stdout]   --> src/database/models/header.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Header {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout]  9 |     pub identifier: String, // STMDB (4 bytes)
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 10 |     pub dataset_id: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 11 |     pub start_timestamp: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub end_timestamp: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `into_writer` are never used
[INFO] [stdout]   --> src/database/models/header.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Header {
[INFO] [stdout]    | ----------- associated functions in this implementation
[INFO] [stdout] 16 |     // create a new empty header
[INFO] [stdout] 17 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn into_writer(writer: &mut BufWriter<File>, dataset_id: i32, start_timestamp: i32, end_timestamp: i32) -> Result<Self, Erro...
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add_candlestick` are never used
[INFO] [stdout]   --> src/database/models/chunk.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Chunk {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 11 |     // create a new chunk
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn add_candlestick(&mut self, candlestick: Candlestick) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `String` is never constructed
[INFO] [stdout]  --> src/database/models/field.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum FieldType {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 4 |     String,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `length` and `field_type` are never read
[INFO] [stdout]  --> src/database/models/field.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Field {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 8 |     pub length: u8,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 9 |     pub field_type: FieldType,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/database/models/field.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Field {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new(length: u8, field_type: FieldType, original_value: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `set_name` are never used
[INFO] [stdout]   --> src/database/models/exchange.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Exchange {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn set_name(&mut self, name: String) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_target_currency`, and `set_base_currency` are never used
[INFO] [stdout]   --> src/database/models/symbol.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Symbol {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn set_target_currency(&mut self, target_currency: String) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn set_base_currency(&mut self, base_currency: String) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/database/models/candlestick.rs:21:12
[INFO] [stdout]     |
[INFO] [stdout]  20 | impl Candlestick {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  21 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn new_with(timestamp: i64, open: f64, high: f64, low: f64, close: f64, volume: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn set_timestamp(&mut self, timestamp: i64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn set_open(&mut self, open: f64) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn set_high(&mut self, high: f64) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn set_low(&mut self, low: f64) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn set_close(&mut self, close: f64) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn set_volume(&mut self, volume: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_with` is never used
[INFO] [stdout]   --> src/database/models/bar.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Bar {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn new_with(timestamp: i64, candlesticks: BarMap) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_bar` is never used
[INFO] [stdout]   --> src/database/models/barset.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl BarSet {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn add_bar(&mut self, bar: Bar) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_with` is never used
[INFO] [stdout]   --> src/database/models/bar_map.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl BarMap {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn new_with(bars: HashMap<(String, String), Candlestick>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/database/models/query.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Query {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 20 |     // creates a new query using database instance
[INFO] [stdout] 21 |     pub fn new(database: Database) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_with` is never used
[INFO] [stdout]   --> src/database/engine.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl DatabaseEngine {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn new_with(path: String, min_workers: i8) -> DatabaseEngine {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `clients` is never read
[INFO] [stdout]   --> src/database/database.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Database {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 12 |     engine: DatabaseEngine,
[INFO] [stdout] 13 |     clients: Vec<u64>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Database` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `connect_client`, `disconnect_client`, and `insert` are never used
[INFO] [stdout]   --> src/database/database.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Database {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn connect_client(&mut self, client_id: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn disconnect_client(&mut self, client_id: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn insert(&self, client_id: u64, data: Vec<Bar>) -> Result<bool, Error> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.38s
[INFO] running `Command { std: "docker" "inspect" "d29f41c566f83e1dd458025c10a29a7f56088e9085c31fba65024a17775fdf97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d29f41c566f83e1dd458025c10a29a7f56088e9085c31fba65024a17775fdf97", kill_on_drop: false }`
[INFO] [stdout] d29f41c566f83e1dd458025c10a29a7f56088e9085c31fba65024a17775fdf97
