[INFO] cloning repository https://github.com/GeneralSwiss/portfolio_manager
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/GeneralSwiss/portfolio_manager" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGeneralSwiss%2Fportfolio_manager", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGeneralSwiss%2Fportfolio_manager'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1c2c2af7db643855ea21904a2d8025d64f007e89
[INFO] checking GeneralSwiss/portfolio_manager against try#2b39fe756f52bc2825bf5b2bfc385cab922dae10 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGeneralSwiss%2Fportfolio_manager" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/GeneralSwiss/portfolio_manager
[INFO] finished tweaking git repo https://github.com/GeneralSwiss/portfolio_manager
[INFO] tweaked toml for git repo https://github.com/GeneralSwiss/portfolio_manager written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/GeneralSwiss/portfolio_manager on toolchain 2b39fe756f52bc2825bf5b2bfc385cab922dae10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/GeneralSwiss/portfolio_manager 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" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 860834bccc924e5595b90969badfefe80a7fa050b9fa1ab5e855e4d41dd3a527
[INFO] running `Command { std: "docker" "start" "-a" "860834bccc924e5595b90969badfefe80a7fa050b9fa1ab5e855e4d41dd3a527", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "860834bccc924e5595b90969badfefe80a7fa050b9fa1ab5e855e4d41dd3a527", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "860834bccc924e5595b90969badfefe80a7fa050b9fa1ab5e855e4d41dd3a527", kill_on_drop: false }`
[INFO] [stdout] 860834bccc924e5595b90969badfefe80a7fa050b9fa1ab5e855e4d41dd3a527
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dca388034ee9adc9a2111ba396b87320562f2f56e32532cfbd47563d23faa167
[INFO] running `Command { std: "docker" "start" "-a" "dca388034ee9adc9a2111ba396b87320562f2f56e32532cfbd47563d23faa167", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling xml-rs v0.8.26
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]    Compiling rustix v1.0.5
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]    Compiling rust_decimal v1.37.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling indoc v2.0.6
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking clap_builder v4.5.37
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling rust_decimal_macros v1.37.1
[INFO] [stderr]     Checking tokio v1.44.2
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking clap v4.5.37
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling instability v0.3.7
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]    Compiling serde-xml-rs v0.5.1
[INFO] [stderr]    Compiling time-tz v2.0.0
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking ibapi v1.0.19
[INFO] [stderr]     Checking portfolio_manager v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0560]: struct `position::Position` has no field named `id`
[INFO] [stdout]    --> src/repo.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |                 id: "test".into(),
[INFO] [stdout]     |                 ^^ `position::Position` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: all struct fields are already assigned
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `position::Position` has no field named `underlying`
[INFO] [stdout]    --> src/repo.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |                 underlying: "SPY".into(),
[INFO] [stdout]     |                 ^^^^^^^^^^ `position::Position` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: all struct fields are already assigned
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `id` on type `&position::Position`
[INFO] [stdout]    --> src/repo.rs:129:50
[INFO] [stdout]     |
[INFO] [stdout] 129 |         assert_eq!(fetched.positions[0].as_ref().id, "test");
[INFO] [stdout]     |                                                  ^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `pos_type`, `legs`, `margin_used`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_i32` found for struct `rust_decimal::Decimal` in the current scope
[INFO] [stdout]    --> src/repo.rs:141:36
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 p.cash += Decimal::from_i32(i).unwrap();
[INFO] [stdout]     |                                    ^^^^^^^^ function or associated item not found in `rust_decimal::Decimal`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `rust_decimal::Decimal` consider using one of the following associated functions:
[INFO] [stdout]       rust_decimal::Decimal::new
[INFO] [stdout]       rust_decimal::Decimal::try_new
[INFO] [stdout]       rust_decimal::Decimal::from_i128_with_scale
[INFO] [stdout]       rust_decimal::Decimal::try_from_i128_with_scale
[INFO] [stdout]       and 9 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust_decimal-1.37.1/src/decimal.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     pub fn new(num: i64, scale: u32) -> Decimal {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub const fn try_new(num: i64, scale: u32) -> crate::Result<Decimal> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 467 |     pub fn from_i128_with_scale(num: i128, scale: u32) -> Decimal {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 485 |     pub const fn try_from_i128_with_scale(num: i128, scale: u32) -> crate::Result<Decimal> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `FromPrimitive` which provides `from_i32` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 78  +     use rust_decimal::prelude::FromPrimitive;
[INFO] [stdout]     |
[INFO] [stdout] help: there is an associated function `from_f32` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 141 -                 p.cash += Decimal::from_i32(i).unwrap();
[INFO] [stdout] 141 +                 p.cash += Decimal::from_f32(i).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/ui.rs:41:41
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn create_position_table(positions: &[BookLayer]) -> Table {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^     ----- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn create_position_table(positions: &[BookLayer]) -> Table<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0560, E0599, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0560`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `portfolio_manager` (lib test) due to 4 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0432]: unresolved import `portfolio_manager::domain::leg::LegType`
[INFO] [stdout]  --> tests/domain.rs:2:43
[INFO] [stdout]   |
[INFO] [stdout] 2 | use portfolio_manager::domain::leg::{Leg, LegType};
[INFO] [stdout]   |                                           ^^^^^^^ no `LegType` in `domain::leg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `leg` is private
[INFO] [stdout]  --> tests/domain.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use portfolio_manager::domain::leg::{Leg, LegType};
[INFO] [stdout]   |                                ^^^ private module
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum instead:
[INFO] [stdout]       portfolio_manager::domain::Leg
[INFO] [stdout]  --> tests/domain.rs:2:38
[INFO] [stdout]   |
[INFO] [stdout] 2 | use portfolio_manager::domain::leg::{Leg, LegType};
[INFO] [stdout]   |                                      ^^^
[INFO] [stdout] note: the module `leg` is defined here
[INFO] [stdout]  --> /opt/rustwide/workdir/src/domain/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod leg;
[INFO] [stdout]   | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `leg` is private
[INFO] [stdout]  --> tests/domain.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use portfolio_manager::domain::leg::{Leg, LegType};
[INFO] [stdout]   |                                ^^^ private module
[INFO] [stdout]   |
[INFO] [stdout] note: the module `leg` is defined here
[INFO] [stdout]  --> /opt/rustwide/workdir/src/domain/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod leg;
[INFO] [stdout]   | ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Position` has no field named `id`
[INFO] [stdout]   --> tests/domain.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |             id: "spx_credit".into(),
[INFO] [stdout]    |             ^^ `Position` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: all struct fields are already assigned
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Position` has no field named `underlying`
[INFO] [stdout]   --> tests/domain.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |             underlying: "SPX".into(),
[INFO] [stdout]    |             ^^^^^^^^^^ `Position` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: all struct fields are already assigned
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Position` has no field named `book_layer`
[INFO] [stdout]   --> tests/domain.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |             book_layer: BookLayer::Income,
[INFO] [stdout]    |             ^^^^^^^^^^ `Position` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: all struct fields are already assigned
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/domain.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |                         vega: Decimal::try_from(-0.4).unwrap(),
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<Decimal>`, found `Decimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<Decimal>`
[INFO] [stdout]             found struct `Decimal`
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]    |
[INFO] [stdout] 26 |                         vega: Some(Decimal::try_from(-0.4).unwrap()),
[INFO] [stdout]    |                               +++++                                +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/domain.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |                         theta: Decimal::try_from(0.3).unwrap(),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<Decimal>`, found `Decimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<Decimal>`
[INFO] [stdout]             found struct `Decimal`
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]    |
[INFO] [stdout] 27 |                         theta: Some(Decimal::try_from(0.3).unwrap()),
[INFO] [stdout]    |                                +++++                               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/domain.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |                         gamma: Decimal::try_from(0.0).unwrap(),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<Decimal>`, found `Decimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<Decimal>`
[INFO] [stdout]             found struct `Decimal`
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]    |
[INFO] [stdout] 28 |                         gamma: Some(Decimal::try_from(0.0).unwrap()),
[INFO] [stdout]    |                                +++++                               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/domain.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 29 |                         rho: Decimal::try_from(0.0).unwrap(),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<Decimal>`, found `Decimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<Decimal>`
[INFO] [stdout]             found struct `Decimal`
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]    |
[INFO] [stdout] 29 |                         rho: Some(Decimal::try_from(0.0).unwrap()),
[INFO] [stdout]    |                              +++++                               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/domain.rs:41:31
[INFO] [stdout]    |
[INFO] [stdout] 41 |                         vega: Decimal::try_from(-0.2).unwrap(),
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<Decimal>`, found `Decimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<Decimal>`
[INFO] [stdout]             found struct `Decimal`
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]    |
[INFO] [stdout] 41 |                         vega: Some(Decimal::try_from(-0.2).unwrap()),
[INFO] [stdout]    |                               +++++                                +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/domain.rs:42:32
[INFO] [stdout]    |
[INFO] [stdout] 42 |                         theta: Decimal::try_from(0.1).unwrap(),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<Decimal>`, found `Decimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<Decimal>`
[INFO] [stdout]             found struct `Decimal`
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]    |
[INFO] [stdout] 42 |                         theta: Some(Decimal::try_from(0.1).unwrap()),
[INFO] [stdout]    |                                +++++                               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/domain.rs:43:32
[INFO] [stdout]    |
[INFO] [stdout] 43 |                         gamma: Decimal::try_from(0.0).unwrap(),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<Decimal>`, found `Decimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<Decimal>`
[INFO] [stdout]             found struct `Decimal`
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]    |
[INFO] [stdout] 43 |                         gamma: Some(Decimal::try_from(0.0).unwrap()),
[INFO] [stdout]    |                                +++++                               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/domain.rs:44:30
[INFO] [stdout]    |
[INFO] [stdout] 44 |                         rho: Decimal::try_from(0.0).unwrap(),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<Decimal>`, found `Decimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<Decimal>`
[INFO] [stdout]             found struct `Decimal`
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]    |
[INFO] [stdout] 44 |                         rho: Some(Decimal::try_from(0.0).unwrap()),
[INFO] [stdout]    |                              +++++                               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/domain.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 |           positions: vec![Position {
[INFO] [stdout]    |  _________________________^
[INFO] [stdout] 11 | |             id: "spx_credit".into(),
[INFO] [stdout] 12 | |             underlying: "SPX".into(),
[INFO] [stdout] 13 | |             book_layer: BookLayer::Income,
[INFO] [stdout] ...  |
[INFO] [stdout] 47 | |             ],
[INFO] [stdout] 48 | |         }],
[INFO] [stdout]    | |_________^ expected `BookLayer`, found `Position`
[INFO] [stdout]    |
[INFO] [stdout] help: try wrapping the expression in a variant of `BookLayer`
[INFO] [stdout]    |
[INFO] [stdout] 10 ~         positions: vec![portfolio_manager::BookLayer::Income(Position {
[INFO] [stdout] 11 |             id: "spx_credit".into(),
[INFO] [stdout] ...
[INFO] [stdout] 47 |             ],
[INFO] [stdout] 48 ~         })],
[INFO] [stdout]    |
[INFO] [stdout] 10 ~         positions: vec![portfolio_manager::BookLayer::Insurance(Position {
[INFO] [stdout] 11 |             id: "spx_credit".into(),
[INFO] [stdout] ...
[INFO] [stdout] 47 |             ],
[INFO] [stdout] 48 ~         })],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/domain.rs:73:24
[INFO] [stdout]    |
[INFO] [stdout] 73 |     assert_eq!(g.vega, dec!(0.20), "vega mismatch");
[INFO] [stdout]    |                        ^^^^^^^^^^ expected `Option<Decimal>`, found `Decimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<Decimal>`
[INFO] [stdout]             found struct `Decimal`
[INFO] [stdout]    = note: this error originates in the macro `dec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: call `Into::into` on this expression to convert `Decimal` into `std::option::Option<Decimal>`
[INFO] [stdout]    |
[INFO] [stdout] 73 |     assert_eq!(g.vega, dec!(0.20).into(), "vega mismatch");
[INFO] [stdout]    |                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/domain.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |     assert_eq!(g.theta, dec!(-0.20), "theta mismatch");
[INFO] [stdout]    |                         ^^^^^^^^^^^ expected `Option<Decimal>`, found `Decimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<Decimal>`
[INFO] [stdout]             found struct `Decimal`
[INFO] [stdout]    = note: this error originates in the macro `dec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: call `Into::into` on this expression to convert `Decimal` into `std::option::Option<Decimal>`
[INFO] [stdout]    |
[INFO] [stdout] 74 |     assert_eq!(g.theta, dec!(-0.20).into(), "theta mismatch");
[INFO] [stdout]    |                                    +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/domain.rs:75:25
[INFO] [stdout]    |
[INFO] [stdout] 75 |     assert_eq!(g.gamma, dec!(0.00), "gamma mismatch");
[INFO] [stdout]    |                         ^^^^^^^^^^ expected `Option<Decimal>`, found `Decimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::option::Option<Decimal>`
[INFO] [stdout]             found struct `Decimal`
[INFO] [stdout]    = note: this error originates in the macro `dec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: call `Into::into` on this expression to convert `Decimal` into `std::option::Option<Decimal>`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     assert_eq!(g.gamma, dec!(0.00).into(), "gamma mismatch");
[INFO] [stdout]    |                                   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0432, E0560, E0603.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `portfolio_manager` (test "domain") due to 18 previous errors
[INFO] running `Command { std: "docker" "inspect" "dca388034ee9adc9a2111ba396b87320562f2f56e32532cfbd47563d23faa167", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dca388034ee9adc9a2111ba396b87320562f2f56e32532cfbd47563d23faa167", kill_on_drop: false }`
[INFO] [stdout] dca388034ee9adc9a2111ba396b87320562f2f56e32532cfbd47563d23faa167
