[INFO] cloning repository https://github.com/Benedikt-Hollerauer/trading-bot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Benedikt-Hollerauer/trading-bot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBenedikt-Hollerauer%2Ftrading-bot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBenedikt-Hollerauer%2Ftrading-bot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ddcfe5c430c0b979611b417cde5c6b25c9eaf21a
[INFO] checking Benedikt-Hollerauer/trading-bot against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBenedikt-Hollerauer%2Ftrading-bot" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Benedikt-Hollerauer/trading-bot
[INFO] finished tweaking git repo https://github.com/Benedikt-Hollerauer/trading-bot
[INFO] tweaked toml for git repo https://github.com/Benedikt-Hollerauer/trading-bot written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Benedikt-Hollerauer/trading-bot on toolchain f77b5bc6c7c84df104f86b0dd01d9490e3923fa8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Benedikt-Hollerauer/trading-bot 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" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5dab1cfe5a612937b5c60de1a7510948c85317e6bda525863d3b0960d74adb25
[INFO] running `Command { std: "docker" "start" "-a" "5dab1cfe5a612937b5c60de1a7510948c85317e6bda525863d3b0960d74adb25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5dab1cfe5a612937b5c60de1a7510948c85317e6bda525863d3b0960d74adb25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5dab1cfe5a612937b5c60de1a7510948c85317e6bda525863d3b0960d74adb25", kill_on_drop: false }`
[INFO] [stdout] 5dab1cfe5a612937b5c60de1a7510948c85317e6bda525863d3b0960d74adb25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a907e0b2405980ad4f32032f795b32c0db2818879fb6d982ee1c48087662e2f5
[INFO] running `Command { std: "docker" "start" "-a" "a907e0b2405980ad4f32032f795b32c0db2818879fb6d982ee1c48087662e2f5", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]     Checking smallvec v1.14.0
[INFO] [stderr]     Checking bytes v1.10.0
[INFO] [stderr]     Checking once_cell v1.20.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling cc v1.2.14
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking log v0.4.25
[INFO] [stderr]    Compiling serde v1.0.218
[INFO] [stderr]     Checking litemap v0.7.4
[INFO] [stderr]    Compiling httparse v1.10.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking rustls-pki-types v1.11.0
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling serde_json v1.0.139
[INFO] [stderr]    Compiling rustls v0.23.23
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking bitflags v2.8.0
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling xml-rs v0.8.25
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]     Checking webpki-roots v0.26.8
[INFO] [stderr]    Compiling time-macros v0.2.19
[INFO] [stderr]     Checking http v1.2.0
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]    Compiling thiserror v2.0.11
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling schemars v0.8.21
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.14
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]     Checking dyn-clone v1.0.18
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking matchit v0.8.4
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling openssl-sys v0.9.106
[INFO] [stderr]    Compiling ring v0.17.9
[INFO] [stderr]    Compiling openssl v0.10.71
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking axum-core v0.5.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling serde_derive v1.0.218
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.11
[INFO] [stderr]    Compiling async-trait v0.1.86
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]    Compiling schemars_derive v0.8.21
[INFO] [stderr]     Checking tokio v1.43.0
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-rustls v0.26.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]    Compiling serde-xml-rs v0.5.1
[INFO] [stderr]     Checking h2 v0.4.8
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]     Checking serde_path_to_error v0.1.16
[INFO] [stderr]    Compiling time-tz v2.0.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking time v0.3.37
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking hyper-util v0.1.10
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking hyper-rustls v0.27.5
[INFO] [stderr]     Checking axum v0.8.1
[INFO] [stderr]     Checking reqwest v0.12.12
[INFO] [stderr]     Checking ibapi v1.0.16
[INFO] [stderr]     Checking alpha_vantage v0.11.0
[INFO] [stderr]     Checking ollama-rs v0.2.5
[INFO] [stderr]     Checking ai-trading-bot v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0583]: file not found for module `config`
[INFO] [stdout]   --> src/main.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | mod config;
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: to create the module `config`, create file "src/config.rs" or "src/config/mod.rs"
[INFO] [stdout]    = note: if there is a `mod config` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `config`
[INFO] [stdout]   --> src/main.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | mod config;
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: to create the module `config`, create file "src/config.rs" or "src/config/mod.rs"
[INFO] [stdout]    = note: if there is a `mod config` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::ToString`
[INFO] [stdout]  --> src/services_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::string::ToString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::errors::AppErrors`
[INFO] [stdout]  --> src/models_test.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use crate::errors::AppErrors;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::Money`
[INFO] [stdout]  --> src/models_test.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use crate::models::Money;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::ToString`
[INFO] [stdout]   --> src/services_test.rs:3:5
[INFO] [stdout]    |
[INFO] [stdout]  3 | use std::string::ToString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/main.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | mod services_test;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::errors::AppErrors`
[INFO] [stdout]   --> src/services_test.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use crate::errors::AppErrors;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Money`, `OrderType`, `Order`, `StockData`, and `StockInvestment`
[INFO] [stdout]   --> src/services_test.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 |     use crate::models::{Money, Order, OrderType, StockData, StockInvestment};
[INFO] [stdout]    |                         ^^^^^  ^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::services::TradingApiService`
[INFO] [stdout]   --> src/services_test.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     use crate::services::TradingApiService;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::services::TradingApiServiceLive`
[INFO] [stdout]   --> src/services_test.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     use crate::services::TradingApiServiceLive;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `INVESTED_PAPER_TRADING_STOCK` and `NOT_VALID_STOCK`
[INFO] [stdout]   --> src/services_test.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 |     use crate::services_test::{INVESTED_PAPER_TRADING_STOCK, NOT_VALID_STOCK};
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::SystemTime`
[INFO] [stdout]   --> src/services_test.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     use std::time::SystemTime;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::errors::AppErrors`
[INFO] [stdout]    --> src/services_test.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |     use crate::errors::AppErrors;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `News`, `OrderType`, `StockData`, and `StockPricePerformance`
[INFO] [stdout]    --> src/services_test.rs:127:25
[INFO] [stdout]     |
[INFO] [stdout] 127 |     use crate::models::{News, OrderType, StockData, StockPricePerformance};
[INFO] [stdout]     |                         ^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::services::AiService`
[INFO] [stdout]    --> src/services_test.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     use crate::services::AiService;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::services::AiServiceLive`
[INFO] [stdout]    --> src/services_test.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     use crate::services::AiServiceLive;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `INVESTED_PAPER_TRADING_STOCK` and `NOT_VALID_STOCK`
[INFO] [stdout]    --> src/services_test.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |     use crate::services_test::{INVESTED_PAPER_TRADING_STOCK, NOT_VALID_STOCK};
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/services_test.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             TradingApiServiceLive::get_stock_data(INVESTED_PAPER_TRADING_STOCK).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------
[INFO] [stdout]    |                                                  ||
[INFO] [stdout]    |                                                  |expected `&TradingApiServiceLive`, found `INVESTED_PAPER_TRADING_STOCK`
[INFO] [stdout]    |                                                  argument #2 of type `models::Stock` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/services.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |     async fn get_stock_data(&self, stock_id: Stock) -> Result<StockData, AppErrors>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^  ----  --------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 27 -             TradingApiServiceLive::get_stock_data(INVESTED_PAPER_TRADING_STOCK).await;
[INFO] [stdout] 27 +             TradingApiServiceLive::get_stock_data(/* &TradingApiServiceLive */, /* models::Stock */).await;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/services_test.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             TradingApiServiceLive::get_stock_data(NOT_VALID_STOCK).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------
[INFO] [stdout]    |                                                  ||
[INFO] [stdout]    |                                                  |expected `&TradingApiServiceLive`, found `NOT_VALID_STOCK`
[INFO] [stdout]    |                                                  argument #2 of type `models::Stock` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/services.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |     async fn get_stock_data(&self, stock_id: Stock) -> Result<StockData, AppErrors>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^  ----  --------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 35 -             TradingApiServiceLive::get_stock_data(NOT_VALID_STOCK).await;
[INFO] [stdout] 35 +             TradingApiServiceLive::get_stock_data(/* &TradingApiServiceLive */, /* models::Stock */).await;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/services_test.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 43 |             stock: INVESTED_PAPER_TRADING_STOCK,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Stock`, found `INVESTED_PAPER_TRADING_STOCK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/services_test.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |             TradingApiServiceLive::place_order(order_success_mock);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------------------ argument #1 of type `&TradingApiServiceLive` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/services.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn place_order(&self, order: Order) -> Result<String, AppErrors>;
[INFO] [stdout]    |        ^^^^^^^^^^^  ----
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 48 |             TradingApiServiceLive::place_order(/* &TradingApiServiceLive */, order_success_mock);
[INFO] [stdout]    |                                                +++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/services_test.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |             stock: NOT_VALID_STOCK,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^ expected `Stock`, found `NOT_VALID_STOCK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/services_test.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |             TradingApiServiceLive::place_order(order_failure_mock);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------------------ argument #1 of type `&TradingApiServiceLive` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/services.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn place_order(&self, order: Order) -> Result<String, AppErrors>;
[INFO] [stdout]    |        ^^^^^^^^^^^  ----
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 62 |             TradingApiServiceLive::place_order(/* &TradingApiServiceLive */, order_failure_mock);
[INFO] [stdout]    |                                                +++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]   --> src/services_test.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             TradingApiServiceLive::convert_money_amount_to_stock_quantity(
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 72 |                 money_mock,
[INFO] [stdout]    |                 ---------- argument #1 of type `&TradingApiServiceLive` is missing
[INFO] [stdout] 73 |                 INVESTED_PAPER_TRADING_STOCK,
[INFO] [stdout]    |                 ---------------------------- expected `Stock`, found `INVESTED_PAPER_TRADING_STOCK`
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/services.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn convert_money_amount_to_stock_quantity(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |         &self,
[INFO] [stdout]    |          ----
[INFO] [stdout] 22 |         amount: Money,
[INFO] [stdout] 23 |         stock: Stock,
[INFO] [stdout]    |         -----
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 71 -             TradingApiServiceLive::convert_money_amount_to_stock_quantity(
[INFO] [stdout] 72 -                 money_mock,
[INFO] [stdout] 73 -                 INVESTED_PAPER_TRADING_STOCK,
[INFO] [stdout] 74 -             );
[INFO] [stdout] 71 +             TradingApiServiceLive::convert_money_amount_to_stock_quantity(/* &TradingApiServiceLive */, money_mock, /* models::Stock */);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]   --> src/services_test.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |             TradingApiServiceLive::convert_money_amount_to_stock_quantity(
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 84 |                 money_mock,
[INFO] [stdout]    |                 ---------- argument #1 of type `&TradingApiServiceLive` is missing
[INFO] [stdout] 85 |                 NOT_VALID_STOCK,
[INFO] [stdout]    |                 --------------- expected `Stock`, found `NOT_VALID_STOCK`
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/services.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn convert_money_amount_to_stock_quantity(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |         &self,
[INFO] [stdout]    |          ----
[INFO] [stdout] 22 |         amount: Money,
[INFO] [stdout] 23 |         stock: Stock,
[INFO] [stdout]    |         -----
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 83 -             TradingApiServiceLive::convert_money_amount_to_stock_quantity(
[INFO] [stdout] 84 -                 money_mock,
[INFO] [stdout] 85 -                 NOT_VALID_STOCK,
[INFO] [stdout] 86 -             );
[INFO] [stdout] 83 +             TradingApiServiceLive::convert_money_amount_to_stock_quantity(/* &TradingApiServiceLive */, money_mock, /* models::Stock */);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]   --> src/services_test.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             TradingApiServiceLive::get_quantity_to_sell_everything(INVESTED_PAPER_TRADING_STOCK);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------
[INFO] [stdout]    |                                                                   ||
[INFO] [stdout]    |                                                                   |expected `&TradingApiServiceLive`, found `INVESTED_PAPER_TRADING_STOCK`
[INFO] [stdout]    |                                                                   argument #2 of type `models::Stock` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> src/services.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn get_quantity_to_sell_everything(&self, stock: Stock) -> Result<f64, AppErrors>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ----  -----
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 93 -             TradingApiServiceLive::get_quantity_to_sell_everything(INVESTED_PAPER_TRADING_STOCK);
[INFO] [stdout] 93 +             TradingApiServiceLive::get_quantity_to_sell_everything(/* &TradingApiServiceLive */, /* models::Stock */);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/services_test.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |               TradingApiServiceLive::get_quantity_to_sell_everything(
[INFO] [stdout]     |  _____________^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout] 102 | |                 NOT_VALID_STOCK,
[INFO] [stdout]     | |                 --------------- expected `&TradingApiServiceLive`, found `NOT_VALID_STOCK`
[INFO] [stdout] 103 | |             );
[INFO] [stdout]     | |_____________- argument #2 of type `models::Stock` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/services.rs:25:8
[INFO] [stdout]     |
[INFO] [stdout]  25 |     fn get_quantity_to_sell_everything(&self, stock: Stock) -> Result<f64, AppErrors>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ----  -----
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 101 -             TradingApiServiceLive::get_quantity_to_sell_everything(
[INFO] [stdout] 102 -                 NOT_VALID_STOCK,
[INFO] [stdout] 103 -             );
[INFO] [stdout] 101 +             TradingApiServiceLive::get_quantity_to_sell_everything(/* &TradingApiServiceLive */, /* models::Stock */);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/services_test.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |             TradingApiServiceLive::get_current_investment(INVESTED_PAPER_TRADING_STOCK);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------
[INFO] [stdout]     |                                                          ||
[INFO] [stdout]     |                                                          |expected `&TradingApiServiceLive`, found `INVESTED_PAPER_TRADING_STOCK`
[INFO] [stdout]     |                                                          argument #2 of type `models::Stock` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/services.rs:26:8
[INFO] [stdout]     |
[INFO] [stdout]  26 |     fn get_current_investment(&self, stock: Stock) -> Result<StockInvestment, AppErrors>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^  ----  -----
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 110 -             TradingApiServiceLive::get_current_investment(INVESTED_PAPER_TRADING_STOCK);
[INFO] [stdout] 110 +             TradingApiServiceLive::get_current_investment(/* &TradingApiServiceLive */, /* models::Stock */);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/services_test.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |               TradingApiServiceLive::get_current_investment(
[INFO] [stdout]     |  _____________^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout] 119 | |                 NOT_VALID_STOCK,
[INFO] [stdout]     | |                 --------------- expected `&TradingApiServiceLive`, found `NOT_VALID_STOCK`
[INFO] [stdout] 120 | |             );
[INFO] [stdout]     | |_____________- argument #2 of type `models::Stock` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/services.rs:26:8
[INFO] [stdout]     |
[INFO] [stdout]  26 |     fn get_current_investment(&self, stock: Stock) -> Result<StockInvestment, AppErrors>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^  ----  -----
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 118 -             TradingApiServiceLive::get_current_investment(
[INFO] [stdout] 119 -                 NOT_VALID_STOCK,
[INFO] [stdout] 120 -             );
[INFO] [stdout] 118 +             TradingApiServiceLive::get_current_investment(/* &TradingApiServiceLive */, /* models::Stock */);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/services_test.rs:136:20
[INFO] [stdout]     |
[INFO] [stdout] 136 |             stock: INVESTED_PAPER_TRADING_STOCK,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Stock`, found `INVESTED_PAPER_TRADING_STOCK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/services_test.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |             AiServiceLive::get_order_advice(test_stock_data).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --------------- argument #1 of type `&AiServiceLive` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/services.rs:34:14
[INFO] [stdout]     |
[INFO] [stdout]  34 |     async fn get_order_advice(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout]  35 |         &self,
[INFO] [stdout]     |          ----
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 145 |             AiServiceLive::get_order_advice(/* &AiServiceLive */, test_stock_data).await;
[INFO] [stdout]     |                                             +++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/services_test.rs:152:20
[INFO] [stdout]     |
[INFO] [stdout] 152 |             stock: NOT_VALID_STOCK,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^ expected `Stock`, found `NOT_VALID_STOCK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/services_test.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             AiServiceLive::get_order_advice(test_stock_data).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --------------- argument #1 of type `&AiServiceLive` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/services.rs:34:14
[INFO] [stdout]     |
[INFO] [stdout]  34 |     async fn get_order_advice(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout]  35 |         &self,
[INFO] [stdout]     |          ----
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 166 |             AiServiceLive::get_order_advice(/* &AiServiceLive */, test_stock_data).await;
[INFO] [stdout]     |                                             +++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::handler::Handler`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use axum::handler::Handler;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::handler::Handler`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use axum::handler::Handler;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0583`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0583.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ai-trading-bot` (bin "ai-trading-bot") due to 1 previous error; 15 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `ai-trading-bot` (bin "ai-trading-bot" test) due to 17 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a907e0b2405980ad4f32032f795b32c0db2818879fb6d982ee1c48087662e2f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a907e0b2405980ad4f32032f795b32c0db2818879fb6d982ee1c48087662e2f5", kill_on_drop: false }`
[INFO] [stdout] a907e0b2405980ad4f32032f795b32c0db2818879fb6d982ee1c48087662e2f5
