[INFO] fetching crate auto-trading 0.1.0...
[INFO] checking auto-trading-0.1.0 against try#8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f for pr-114559
[INFO] extracting crate auto-trading 0.1.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate auto-trading 0.1.0 on toolchain 8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate auto-trading 0.1.0
[INFO] finished tweaking crates.io crate auto-trading 0.1.0
[INFO] tweaked toml for crates.io crate auto-trading 0.1.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate crates.io crate auto-trading 0.1.0 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" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5c16f4e6c37141f9fef0bc86f7a492d732943053e42aab8461035881e3f53823" "/opt/rustwide/cargo-home/bin/cargo" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e91185fa643125879651dfbde8966deda5074156a30b892179fd0ece467d6131
[INFO] running `Command { std: "docker" "start" "-a" "e91185fa643125879651dfbde8966deda5074156a30b892179fd0ece467d6131", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e91185fa643125879651dfbde8966deda5074156a30b892179fd0ece467d6131", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e91185fa643125879651dfbde8966deda5074156a30b892179fd0ece467d6131", kill_on_drop: false }`
[INFO] [stdout] e91185fa643125879651dfbde8966deda5074156a30b892179fd0ece467d6131
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:5c16f4e6c37141f9fef0bc86f7a492d732943053e42aab8461035881e3f53823" "/opt/rustwide/cargo-home/bin/cargo" "+8d0c454bea9d9cc2cc7e288388f3b7d1da19c04f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6d7531a1869bcf94033984fb4c5e1aa7f11b141656168c53e607aa66f800fe03
[INFO] running `Command { std: "docker" "start" "-a" "6d7531a1869bcf94033984fb4c5e1aa7f11b141656168c53e607aa66f800fe03", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.10
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]     Checking pin-project-lite v0.2.10
[INFO] [stderr]     Checking smallvec v1.11.0
[INFO] [stderr]    Compiling tokio v1.29.1
[INFO] [stderr]     Checking itoa v1.0.8
[INFO] [stderr]     Checking mio v0.8.8
[INFO] [stderr]    Compiling serde v1.0.167
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking ryu v1.0.14
[INFO] [stderr]    Compiling serde_json v1.0.102
[INFO] [stderr]    Compiling async-trait v0.1.71
[INFO] [stderr]    Compiling anyhow v1.0.71
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking ipnet v2.8.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking http v0.2.9
[INFO] [stderr]     Checking futures-util v0.3.28
[INFO] [stderr]     Checking parking_lot_core v0.9.8
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]    Compiling quote v1.0.31
[INFO] [stderr]    Compiling syn v2.0.26
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]    Compiling openssl-sys v0.9.90
[INFO] [stderr]     Checking chrono v0.4.26
[INFO] [stderr]    Compiling openssl v0.10.55
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking tokio-util v0.7.8
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.3.20
[INFO] [stderr]     Checking hyper v0.14.27
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.18
[INFO] [stderr]     Checking auto-trading v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/backtester.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let order_book = todo!();
[INFO] [stdout]     |                          ------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 104 |         let position = Vec::<Position>::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/backtester.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 order: todo!(),
[INFO] [stdout]     |                        ------- any code following this expression is unreachable
[INFO] [stdout] 123 |                 cancel: todo!(),
[INFO] [stdout]     |                         ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/backtester.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let order_book = todo!();
[INFO] [stdout]     |                          ------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 104 |         let position = Vec::<Position>::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/backtester.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 order: todo!(),
[INFO] [stdout]     |                        ------- any code following this expression is unreachable
[INFO] [stdout] 123 |                 cancel: todo!(),
[INFO] [stdout]     |                         ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/backtester.rs:198:45
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   liquidation_price: todo!(),
[INFO] [stdout]     |                                          ------- any code following this expression is unreachable
[INFO] [stdout] 198 | ...                   profit: todo!(),
[INFO] [stdout]     |                               ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/backtester.rs:198:45
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   liquidation_price: todo!(),
[INFO] [stdout]     |                                          ------- any code following this expression is unreachable
[INFO] [stdout] 198 | ...                   profit: todo!(),
[INFO] [stdout]     |                               ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/backtester.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let time = k.iter().map(|v| v.time).collect::<Vec<_>>();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `open`
[INFO] [stdout]   --> src/backtester.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let open = k.iter().map(|v| v.open).collect::<Vec<_>>();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_open`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high`
[INFO] [stdout]   --> src/backtester.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let high = k.iter().map(|v| v.high).collect::<Vec<_>>();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low`
[INFO] [stdout]   --> src/backtester.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let low = k.iter().map(|v| v.low).collect::<Vec<_>>();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_low`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `close`
[INFO] [stdout]   --> src/backtester.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let close = k.iter().map(|v| v.close).collect::<Vec<_>>();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_close`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_unit`
[INFO] [stdout]   --> src/backtester.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let min_unit = self.bourse.get_min_unit(product).await?;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `balance`
[INFO] [stdout]   --> src/backtester.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let balance = self.config.initial_margin;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable`
[INFO] [stdout]   --> src/backtester.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let mut variable = std::collections::HashMap::<&'static str, Value>::new();
[INFO] [stdout]    |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_book`
[INFO] [stdout]    --> src/backtester.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let order_book = todo!();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_book`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/backtester.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let position = Vec::<Position>::new();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order`
[INFO] [stdout]    --> src/backtester.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |             let order =
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/backtester.rs:216:18
[INFO] [stdout]     |
[INFO] [stdout] 216 |             for (name, strategy) in self.strategy {}
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strategy`
[INFO] [stdout]    --> src/backtester.rs:216:24
[INFO] [stdout]     |
[INFO] [stdout] 216 |             for (name, strategy) in self.strategy {}
[INFO] [stdout]     |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sum` is never read
[INFO] [stdout]    --> src/backtester.rs:183:33
[INFO] [stdout]     |
[INFO] [stdout] 183 | ...                   sum = (sum + close[0]) / (count + 1.0);
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stop_profit`
[INFO] [stdout]    --> src/backtester.rs:128:56
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 |side: Side, price: f64, margin: Unit, stop_profit: Unit, stop_loss: Unit| {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stop_profit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stop_loss`
[INFO] [stdout]    --> src/backtester.rs:128:75
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 |side: Side, price: f64, margin: Unit, stop_profit: Unit, stop_loss: Unit| {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stop_loss`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/backtester.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let time = k.iter().map(|v| v.time).collect::<Vec<_>>();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `open`
[INFO] [stdout]   --> src/backtester.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let open = k.iter().map(|v| v.open).collect::<Vec<_>>();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_open`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high`
[INFO] [stdout]   --> src/backtester.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let high = k.iter().map(|v| v.high).collect::<Vec<_>>();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low`
[INFO] [stdout]   --> src/backtester.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let low = k.iter().map(|v| v.low).collect::<Vec<_>>();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_low`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `close`
[INFO] [stdout]   --> src/backtester.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let close = k.iter().map(|v| v.close).collect::<Vec<_>>();
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_close`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_unit`
[INFO] [stdout]   --> src/backtester.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let min_unit = self.bourse.get_min_unit(product).await?;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_unit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `balance`
[INFO] [stdout]   --> src/backtester.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let balance = self.config.initial_margin;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable`
[INFO] [stdout]   --> src/backtester.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let mut variable = std::collections::HashMap::<&'static str, Value>::new();
[INFO] [stdout]    |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_book`
[INFO] [stdout]    --> src/backtester.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let order_book = todo!();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_book`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/backtester.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let position = Vec::<Position>::new();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order`
[INFO] [stdout]    --> src/backtester.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |             let order =
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/backtester.rs:216:18
[INFO] [stdout]     |
[INFO] [stdout] 216 |             for (name, strategy) in self.strategy {}
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strategy`
[INFO] [stdout]    --> src/backtester.rs:216:24
[INFO] [stdout]     |
[INFO] [stdout] 216 |             for (name, strategy) in self.strategy {}
[INFO] [stdout]     |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sum` is never read
[INFO] [stdout]    --> src/backtester.rs:183:33
[INFO] [stdout]     |
[INFO] [stdout] 183 | ...                   sum = (sum + close[0]) / (count + 1.0);
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stop_profit`
[INFO] [stdout]    --> src/backtester.rs:128:56
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 |side: Side, price: f64, margin: Unit, stop_profit: Unit, stop_loss: Unit| {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stop_profit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stop_loss`
[INFO] [stdout]    --> src/backtester.rs:128:75
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 |side: Side, price: f64, margin: Unit, stop_profit: Unit, stop_loss: Unit| {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stop_loss`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backtester.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let mut variable = std::collections::HashMap::<&'static str, Value>::new();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/backtester.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let mut variable = std::collections::HashMap::<&'static str, Value>::new();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `product`
[INFO] [stdout]    --> src/backtester.rs:228:35
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn start_with_k<S>(&self, product: S, level: Level, k: Vec<K>)
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> src/backtester.rs:228:47
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn start_with_k<S>(&self, product: S, level: Level, k: Vec<K>)
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/backtester.rs:228:61
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn start_with_k<S>(&self, product: S, level: Level, k: Vec<K>)
[INFO] [stdout]     |                                                             ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `product`
[INFO] [stdout]    --> src/backtester.rs:228:35
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn start_with_k<S>(&self, product: S, level: Level, k: Vec<K>)
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> src/backtester.rs:228:47
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn start_with_k<S>(&self, product: S, level: Level, k: Vec<K>)
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/backtester.rs:228:61
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn start_with_k<S>(&self, product: S, level: Level, k: Vec<K>)
[INFO] [stdout]     |                                                             ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `product`
[INFO] [stdout]  --> src/binance.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         product: S,
[INFO] [stdout]   |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]  --> src/binance.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         level: crate::Level,
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]  --> src/binance.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         time: u64,
[INFO] [stdout]   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `product`
[INFO] [stdout]   --> src/binance.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         product: S,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]   --> src/binance.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         level: crate::Level,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/binance.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         time: u64,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `product`
[INFO] [stdout]   --> src/binance.rs:31:37
[INFO] [stdout]    |
[INFO] [stdout] 31 |     async fn get_min_unit<S>(&self, product: S) -> anyhow::Result<f64>
[INFO] [stdout]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `product`
[INFO] [stdout]  --> src/binance.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |         product: S,
[INFO] [stdout]   |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]  --> src/binance.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         level: crate::Level,
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]  --> src/binance.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         time: u64,
[INFO] [stdout]   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `product`
[INFO] [stdout]   --> src/binance.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         product: S,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]   --> src/binance.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         level: crate::Level,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/binance.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         time: u64,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `product`
[INFO] [stdout]   --> src/binance.rs:31:37
[INFO] [stdout]    |
[INFO] [stdout] 31 |     async fn get_min_unit<S>(&self, product: S) -> anyhow::Result<f64>
[INFO] [stdout]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/main.rs:49:23
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn add(&mut self, f: impl Into<MyFn>) {}
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/main.rs:49:23
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn add(&mut self, f: impl Into<MyFn>) {}
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyFn` is never constructed
[INFO] [stdout]   --> src/main.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct MyFn {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyFn` is never constructed
[INFO] [stdout]   --> src/main.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct MyFn {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/main.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl MyFn {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 31 |     fn new(f: impl Fn() + 'static) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/main.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl MyFn {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 31 |     fn new(f: impl Fn() + 'static) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `St` is never constructed
[INFO] [stdout]   --> src/main.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct St {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `St` is never constructed
[INFO] [stdout]   --> src/main.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct St {
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add` are never used
[INFO] [stdout]   --> src/main.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl St {
[INFO] [stdout]    | ------- associated items in this implementation
[INFO] [stdout] 44 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn add(&mut self, f: impl Into<MyFn>) {}
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add` are never used
[INFO] [stdout]   --> src/main.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl St {
[INFO] [stdout]    | ------- associated items in this implementation
[INFO] [stdout] 44 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn add(&mut self, f: impl Into<MyFn>) {}
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `insert` are never used
[INFO] [stdout]   --> src/local_bourse.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl LocalBoures {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 9  |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn insert<S>(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `insert` are never used
[INFO] [stdout]   --> src/local_bourse.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl LocalBoures {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 9  |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn insert<S>(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 10.47s
[INFO] running `Command { std: "docker" "inspect" "6d7531a1869bcf94033984fb4c5e1aa7f11b141656168c53e607aa66f800fe03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d7531a1869bcf94033984fb4c5e1aa7f11b141656168c53e607aa66f800fe03", kill_on_drop: false }`
[INFO] [stdout] 6d7531a1869bcf94033984fb4c5e1aa7f11b141656168c53e607aa66f800fe03
