[INFO] cloning repository https://github.com/charypar/betty [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/charypar/betty" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcharypar%2Fbetty", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcharypar%2Fbetty'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0f6fcfebff60b96f8877e72fe8a7a007ea8f77bb [INFO] testing charypar/betty against try#ecabaf78506b7a4668d42dc20268c086b93f0fad for pr-87041 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcharypar%2Fbetty" "/workspace/builds/worker-7/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/charypar/betty on toolchain ecabaf78506b7a4668d42dc20268c086b93f0fad [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/charypar/betty [INFO] finished tweaking git repo https://github.com/charypar/betty [INFO] tweaked toml for git repo https://github.com/charypar/betty written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/charypar/betty already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded iso_currency v0.4.1 [INFO] [stderr] Downloaded iso_country v0.1.4 [INFO] [stderr] Downloaded rust_decimal_macros v1.14.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 075e57e7fd4e4e3ba337735d385b9b61eb20b3704ed75a8ac01a137145817f41 [INFO] running `Command { std: "docker" "start" "-a" "075e57e7fd4e4e3ba337735d385b9b61eb20b3704ed75a8ac01a137145817f41", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "075e57e7fd4e4e3ba337735d385b9b61eb20b3704ed75a8ac01a137145817f41", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "075e57e7fd4e4e3ba337735d385b9b61eb20b3704ed75a8ac01a137145817f41", kill_on_drop: false }` [INFO] [stdout] 075e57e7fd4e4e3ba337735d385b9b61eb20b3704ed75a8ac01a137145817f41 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9e674d83f90e376a416278822e4ec7e61ba944c9e6431608fc8ff14ada2023aa [INFO] running `Command { std: "docker" "start" "-a" "9e674d83f90e376a416278822e4ec7e61ba944c9e6431608fc8ff14ada2023aa", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.27 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling syn v1.0.73 [INFO] [stderr] Compiling serde_derive v1.0.126 [INFO] [stderr] Compiling serde v1.0.126 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling iso_currency v0.4.1 [INFO] [stderr] Compiling arrayvec v0.5.2 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling itoa v0.4.7 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling iso_country v0.1.4 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling csv-core v0.1.10 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling rust_decimal v1.14.3 [INFO] [stderr] Compiling bstr v0.2.16 [INFO] [stderr] Compiling csv v1.1.6 [INFO] [stderr] Compiling rust_decimal_macros v1.14.3 [INFO] [stderr] Compiling betty v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Date` [INFO] [stdout] --> src/core/trade.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use chrono::{Date, DateTime, Utc}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Date` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use chrono::Date; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/core/strategy.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | fn ema(values: &[Decimal]) -> Decimal { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `history` [INFO] [stdout] --> src/core/strategy.rs:26:22 [INFO] [stdout] | [INFO] [stdout] 26 | fn signal(&self, history: &PriceHistory) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_history` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `DealTooSmall` [INFO] [stdout] --> src/core/market.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | DealTooSmall, // size below min_deal_size [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `StopTooClose` [INFO] [stdout] --> src/core/market.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | StopTooClose, // stop-loss is not far enough [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `InsufficientBalance` [INFO] [stdout] --> src/core/market.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | InsufficientBalance, // would result in margin call [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `validate_entry` [INFO] [stdout] --> src/core/market.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn validate_entry( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `margin_requirement` [INFO] [stdout] --> src/core/market.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | fn margin_requirement(&self, order: &Entry) -> CurrencyAmount { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `spread` [INFO] [stdout] --> src/core/price.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn spread(&self) -> Points { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Enter` [INFO] [stdout] --> src/core/strategy.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | Enter(Direction), // Also considered an exit signal for the opposite direction [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Exit` [INFO] [stdout] --> src/core/strategy.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | Exit(Direction), // Exit only [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ema` [INFO] [stdout] --> src/core/strategy.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn ema(values: &[Decimal]) -> Decimal { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Buy` [INFO] [stdout] --> src/core/trade.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | Buy, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Sell` [INFO] [stdout] --> src/core/trade.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | Sell, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Open` [INFO] [stdout] --> src/core/trade.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | Open(Entry), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Close` [INFO] [stdout] --> src/core/trade.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | Close(Exit), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Stop` [INFO] [stdout] --> src/core/trade.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | Stop(Exit), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Loss` [INFO] [stdout] --> src/core/trade.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | Loss, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `exit` [INFO] [stdout] --> src/core/trade.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn exit(&self, price: Price, time: DateTime) -> Exit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `NoMatchingEntry` [INFO] [stdout] --> src/core/mod.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | NoMatchingEntry(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `DuplicatePosition` [INFO] [stdout] --> src/core/mod.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | DuplicatePosition(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `PositionAlreadyClosed` [INFO] [stdout] --> src/core/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | PositionAlreadyClosed(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `update_price` [INFO] [stdout] --> src/core/mod.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn update_price(&mut self, frame: Frame) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `log_order` [INFO] [stdout] --> src/core/mod.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn log_order(&mut self, order: Order) -> Result<(), AccountError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `check_entry` [INFO] [stdout] --> src/core/mod.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | fn check_entry(&self, entry: &Entry) -> Result<(), AccountError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `matching_entry` [INFO] [stdout] --> src/core/mod.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 179 | fn matching_entry(&self, exit: &Exit) -> Result, AccountError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 30.08s [INFO] running `Command { std: "docker" "inspect" "9e674d83f90e376a416278822e4ec7e61ba944c9e6431608fc8ff14ada2023aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9e674d83f90e376a416278822e4ec7e61ba944c9e6431608fc8ff14ada2023aa", kill_on_drop: false }` [INFO] [stdout] 9e674d83f90e376a416278822e4ec7e61ba944c9e6431608fc8ff14ada2023aa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6ad6946a53228b21c39eb7121cfbbab5f923080c17c7e56e88d4b4eb103553bf [INFO] running `Command { std: "docker" "start" "-a" "6ad6946a53228b21c39eb7121cfbbab5f923080c17c7e56e88d4b4eb103553bf", kill_on_drop: false }` [INFO] [stderr] Compiling betty v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Date` [INFO] [stdout] --> src/core/trade.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use chrono::{Date, DateTime, Utc}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Date` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use chrono::Date; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/main.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/core/strategy.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | fn ema(values: &[Decimal]) -> Decimal { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `history` [INFO] [stdout] --> src/core/strategy.rs:26:22 [INFO] [stdout] | [INFO] [stdout] 26 | fn signal(&self, history: &PriceHistory) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_history` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `spread` [INFO] [stdout] --> src/core/price.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn spread(&self) -> Points { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ema` [INFO] [stdout] --> src/core/strategy.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn ema(values: &[Decimal]) -> Decimal { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Loss` [INFO] [stdout] --> src/core/trade.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | Loss, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.93s [INFO] running `Command { std: "docker" "inspect" "6ad6946a53228b21c39eb7121cfbbab5f923080c17c7e56e88d4b4eb103553bf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6ad6946a53228b21c39eb7121cfbbab5f923080c17c7e56e88d4b4eb103553bf", kill_on_drop: false }` [INFO] [stdout] 6ad6946a53228b21c39eb7121cfbbab5f923080c17c7e56e88d4b4eb103553bf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+ecabaf78506b7a4668d42dc20268c086b93f0fad" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 39776b3d13335a4ca46af101a2f22ec56c576771aff74971db319c3e9d7f306a [INFO] running `Command { std: "docker" "start" "-a" "39776b3d13335a4ca46af101a2f22ec56c576771aff74971db319c3e9d7f306a", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `Date` [INFO] [stderr] --> src/core/trade.rs:1:14 [INFO] [stderr] | [INFO] [stderr] 1 | use chrono::{Date, DateTime, Utc}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::Date` [INFO] [stderr] --> src/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use chrono::Date; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/main.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `values` [INFO] [stderr] --> src/core/strategy.rs:32:8 [INFO] [stderr] | [INFO] [stderr] 32 | fn ema(values: &[Decimal]) -> Decimal { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `history` [INFO] [stderr] --> src/core/strategy.rs:26:22 [INFO] [stderr] | [INFO] [stderr] 26 | fn signal(&self, history: &PriceHistory) -> Option { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_history` [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `spread` [INFO] [stderr] --> src/core/price.rs:92:12 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn spread(&self) -> Points { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ema` [INFO] [stderr] --> src/core/strategy.rs:32:4 [INFO] [stderr] | [INFO] [stderr] 32 | fn ema(values: &[Decimal]) -> Decimal { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Loss` [INFO] [stderr] --> src/core/trade.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | Loss, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: 8 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/betty-9190fe6d1e47c18b) [INFO] [stdout] [INFO] [stdout] running 27 tests [INFO] [stdout] test core::market::test::rejects_entry_with_insufficient_margin ... ok [INFO] [stdout] test core::market::test::rejects_entry_with_stop_too_close ... ok [INFO] [stdout] test core::market::test::validates_an_ok_trade ... ok [INFO] [stdout] test core::price::test::adds_days_to_date ... ok [INFO] [stdout] test core::price::test::makes_price_from_mid_market_and_spread ... ok [INFO] [stdout] test core::price::test::adds_hours_to_date ... ok [INFO] [stdout] test core::strategy::test::calculates_entry_with_stable_history ... ok [INFO] [stdout] test core::strategy::test::calculates_exp_average ... ok [INFO] [stdout] test core::strategy::test::sets_stop_based_on_recent_history ... ok [INFO] [stdout] test core::strategy::test::rejects_entry_without_enough_history ... ok [INFO] [stdout] test core::test::does_not_allow_to_log_a_close_order_without_matching_open ... ok [INFO] [stdout] test core::test::rejects_orders_for_closed_positions ... ok [INFO] [stdout] test core::test::closes_a_position_based_on_an_exit_signal ... ok [INFO] [stdout] test core::test::gives_an_empty_trade_log_for_no_orders ... ok [INFO] [stdout] test core::price::test::adds_minutes_to_date ... ok [INFO] [stdout] test core::test::rejects_an_order_with_duplicate_position_id ... ok [INFO] [stdout] test core::test::opens_a_position_based_on_a_signal ... ok [INFO] [stdout] test core::test::reverses_a_positon_based_on_an_entry_signal ... ok [INFO] [stdout] test core::test::triggers_a_stop ... ok [INFO] [stdout] test core::test::logs_an_open_trade_for_a_single_order ... ok [INFO] [stdout] test core::test::logs_three_trades_for_five_orders ... ok [INFO] [stdout] test core::test::logs_a_price_update ... ok [INFO] [stdout] test core::price::test::adds_months_to_date ... ok [INFO] [stdout] test core::price::test::adds_seconds_to_date ... ok [INFO] [stdout] test core::price::test::adds_weeks_to_date ... ok [INFO] [stdout] test core::market::test::rejects_entry_below_minimum_deal_size ... ok [INFO] [stdout] test core::test::logs_a_closed_trade_for_a_pair_of_orders ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "39776b3d13335a4ca46af101a2f22ec56c576771aff74971db319c3e9d7f306a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "39776b3d13335a4ca46af101a2f22ec56c576771aff74971db319c3e9d7f306a", kill_on_drop: false }` [INFO] [stdout] 39776b3d13335a4ca46af101a2f22ec56c576771aff74971db319c3e9d7f306a