[INFO] cloning repository https://github.com/marad2001/gcwm-report-gen [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/marad2001/gcwm-report-gen" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarad2001%2Fgcwm-report-gen", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarad2001%2Fgcwm-report-gen'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 90f92899b09adf1f4c58504f55895452f07da15a [INFO] testing marad2001/gcwm-report-gen against master#414482f6a0d4e7290f614300581a0b55442552a3 for pr-140985 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarad2001%2Fgcwm-report-gen" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/marad2001/gcwm-report-gen on toolchain 414482f6a0d4e7290f614300581a0b55442552a3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+414482f6a0d4e7290f614300581a0b55442552a3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/marad2001/gcwm-report-gen [INFO] finished tweaking git repo https://github.com/marad2001/gcwm-report-gen [INFO] tweaked toml for git repo https://github.com/marad2001/gcwm-report-gen written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/marad2001/gcwm-report-gen 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" "+414482f6a0d4e7290f614300581a0b55442552a3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lambda_http v0.13.0 [INFO] [stderr] Downloaded aws-types v1.3.7 [INFO] [stderr] Downloaded aws-credential-types v1.2.3 [INFO] [stderr] Downloaded aws-smithy-http v0.62.1 [INFO] [stderr] Downloaded aws-smithy-observability v0.1.3 [INFO] [stderr] Downloaded lambda_runtime v0.13.0 [INFO] [stderr] Downloaded aws-sigv4 v1.3.1 [INFO] [stderr] Downloaded aws-sdk-sso v1.66.0 [INFO] [stderr] Downloaded aws-sdk-ssooidc v1.67.0 [INFO] [stderr] Downloaded aws-runtime v1.5.7 [INFO] [stderr] Downloaded aws-smithy-runtime v1.8.3 [INFO] [stderr] Downloaded aws-smithy-types v1.3.1 [INFO] [stderr] Downloaded aws-sdk-sts v1.67.0 [INFO] [stderr] Downloaded aws-config v1.6.2 [INFO] [stderr] Downloaded aws-smithy-runtime-api v1.8.0 [INFO] [stderr] Downloaded aws-sdk-dynamodb v1.73.0 [INFO] [stderr] Downloaded aws-lc-sys v0.28.2 [INFO] [stderr] Downloaded openssl-src v300.5.0+3.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+414482f6a0d4e7290f614300581a0b55442552a3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a579a7a9b8a97543b08ffbf72b731298f1399573bd70d16bd34cca05e66b4861 [INFO] running `Command { std: "docker" "start" "-a" "a579a7a9b8a97543b08ffbf72b731298f1399573bd70d16bd34cca05e66b4861", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a579a7a9b8a97543b08ffbf72b731298f1399573bd70d16bd34cca05e66b4861", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a579a7a9b8a97543b08ffbf72b731298f1399573bd70d16bd34cca05e66b4861", kill_on_drop: false }` [INFO] [stdout] a579a7a9b8a97543b08ffbf72b731298f1399573bd70d16bd34cca05e66b4861 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+414482f6a0d4e7290f614300581a0b55442552a3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ecd5e21021c2b70944032b1c85d630f3b0f405f259b274fe190b9a912d99513e [INFO] running `Command { std: "docker" "start" "-a" "ecd5e21021c2b70944032b1c85d630f3b0f405f259b274fe190b9a912d99513e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling libc v0.2.168 [INFO] [stderr] Compiling serde v1.0.216 [INFO] [stderr] Compiling pin-project-lite v0.2.15 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling itoa v1.0.14 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling once_cell v1.20.2 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling hashbrown v0.15.2 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling httparse v1.9.5 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling syn v2.0.90 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling indexmap v2.7.0 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling deranged v0.4.0 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling time-core v0.1.4 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Compiling socket2 v0.5.8 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling cc v1.2.21 [INFO] [stderr] Compiling outref v0.5.2 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling vsimd v0.8.0 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling openssl-probe v0.1.5 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling aws-lc-rs v1.13.0 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling base64-simd v0.8.0 [INFO] [stderr] Compiling rustls-pki-types v1.11.0 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling rustls v0.23.27 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling rustls-pemfile v1.0.4 [INFO] [stderr] Compiling litemap v0.7.4 [INFO] [stderr] Compiling writeable v0.5.5 [INFO] [stderr] Compiling openssl-src v300.5.0+3.5.0 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling rustls-native-certs v0.6.3 [INFO] [stderr] Compiling aws-lc-sys v0.28.2 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling rustls-native-certs v0.8.1 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.0 [INFO] [stderr] Compiling aws-types v1.3.7 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling openssl-sys v0.9.107 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling icu_properties_data v1.5.0 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling write16 v1.0.0 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling icu_normalizer_data v1.5.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling utf16_iter v1.0.5 [INFO] [stderr] Compiling serde_json v1.0.133 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling openssl v0.10.72 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling bitflags v2.7.0 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling regex-lite v0.1.6 [INFO] [stderr] Compiling serde_derive v1.0.216 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling zerofrom-derive v0.1.5 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling zerofrom v0.1.5 [INFO] [stderr] Compiling yoke v0.7.5 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling zerovec v0.10.4 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling icu_collections v1.5.0 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling pin-project-internal v1.1.7 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling pin-project v1.1.7 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling icu_properties v1.5.1 [INFO] [stderr] Compiling uuid v1.11.0 [INFO] [stderr] Compiling tokio v1.42.0 [INFO] [stderr] Compiling http v1.2.0 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling bytes-utils v0.1.4 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling http-body-util v0.1.2 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling http-serde v2.1.1 [INFO] [stderr] Compiling tower v0.4.13 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling xmlparser v0.13.6 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling aws-smithy-xml v0.60.9 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_path_to_error v0.1.16 [INFO] [stderr] Compiling query_map v0.7.0 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling thiserror v2.0.11 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling aws_lambda_events v0.15.1 [INFO] [stderr] Compiling thiserror-impl v2.0.11 [INFO] [stderr] Compiling iana-time-zone v0.1.61 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling ipnet v2.10.1 [INFO] [stderr] Compiling tokio-util v0.7.13 [INFO] [stderr] Compiling aws-smithy-async v1.2.5 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling sync_wrapper v0.1.2 [INFO] [stderr] Compiling num-format v0.4.4 [INFO] [stderr] Compiling chrono v0.4.39 [INFO] [stderr] Compiling async-trait v0.1.85 [INFO] [stderr] Compiling aws-smithy-types v1.3.1 [INFO] [stderr] Compiling h2 v0.4.10 [INFO] [stderr] Compiling h2 v0.3.26 [INFO] [stderr] Compiling dotenv v0.15.0 [INFO] [stderr] Compiling aws-smithy-runtime-api v1.8.0 [INFO] [stderr] Compiling aws-smithy-json v0.61.3 [INFO] [stderr] Compiling aws-smithy-query v0.60.7 [INFO] [stderr] Compiling aws-credential-types v1.2.3 [INFO] [stderr] Compiling aws-smithy-http v0.62.1 [INFO] [stderr] Compiling aws-smithy-observability v0.1.3 [INFO] [stderr] Compiling hyper v1.6.0 [INFO] [stderr] Compiling aws-sigv4 v1.3.1 [INFO] [stderr] Compiling hyper-util v0.1.10 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling lambda_runtime_api_client v0.11.1 [INFO] [stderr] Compiling lambda_runtime v0.13.0 [INFO] [stderr] Compiling lambda_http v0.13.0 [INFO] [stderr] Compiling hyper-rustls v0.24.2 [INFO] [stderr] Compiling rustls-webpki v0.103.2 [INFO] [stderr] Compiling tokio-rustls v0.26.2 [INFO] [stderr] Compiling hyper-rustls v0.27.5 [INFO] [stderr] Compiling aws-smithy-http-client v1.0.1 [INFO] [stderr] Compiling aws-smithy-runtime v1.8.3 [INFO] [stderr] Compiling aws-runtime v1.5.7 [INFO] [stderr] Compiling aws-sdk-sso v1.66.0 [INFO] [stderr] Compiling aws-sdk-sts v1.67.0 [INFO] [stderr] Compiling aws-sdk-ssooidc v1.67.0 [INFO] [stderr] Compiling aws-sdk-dynamodb v1.73.0 [INFO] [stderr] Compiling aws-config v1.6.2 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling gcwm-report-gen v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main.rs:2:38 [INFO] [stdout] | [INFO] [stdout] 2 | use driven::repository::{dynamo_db::{self, InvestmentPortfolioDynamoDbRepo}, InvestmentPortfoliosRepository}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main.rs:3:37 [INFO] [stdout] | [INFO] [stdout] 3 | use driving::data_transfer_object::{self, DataTransferObject}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/main.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use tracing::{info, warn, error, instrument}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Serialize` [INFO] [stdout] --> src/domain/report/create_report.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::Serialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ClientId` and `IoId` [INFO] [stdout] --> src/domain/report/create_report.rs:4:51 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::domain::constrained_types::client_id::{ClientId, IoId}; [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/domain/report/current_circumstances_section.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CurrentCircumstancesSectionDto` and `name_string::NameString` [INFO] [stdout] --> src/domain/report/current_circumstances_section.rs:4:90 [INFO] [stdout] | [INFO] [stdout] 4 | ...0, name_string::NameString}, report::couple_annual_review_report::couple_annual_review_report_current_circumstances_section::CoupleAnnualReviewReportCurrentCircumstancesSection}, driving::data_transfer_object::report_type_data_transfer_object::current_circumstances_section_dto::{CoupleIsChangeRiskToleranceDto, CurrentCircumstancesSectionDto, I... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::constrained_types::meeting_date::MeetingDate` [INFO] [stdout] --> src/domain/report/individual_annual_review_report/individual_annual_review_report_background_section.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::domain::constrained_types::meeting_date::MeetingDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AdditionalCompanyMeetingAttendee`, `AdditionalMeetingAttendee`, `MeetingLocation`, and `RelationshipToClient` [INFO] [stdout] --> src/domain/report/individual_annual_review_report/individual_annual_review_report_background_section.rs:7:49 [INFO] [stdout] | [INFO] [stdout] 7 | ...kground_section::{MeetingLocation, AdditionalMeetingAttendee, AdditionalCompanyMeetingAttendee, RelationshipToClient}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `client_id::ClientId` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/mod.rs:6:59 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{domain::constrained_types::{adviser::Adviser, client_id::ClientId, name_string::NameString}, driven::repository::InvestmentPo... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `driving::data_transfer_object::report_type_data_transfer_object::couple_annual_review_data_transfer_object::couple_annual_review_report_sections_data_transfer_object::CoupleAnnualReviewReportSectionsDataTransferObject` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_cover_section.rs:3:65 [INFO] [stdout] | [INFO] [stdout] 3 | ...g, driving::data_transfer_object::report_type_data_transfer_object::couple_annual_review_data_transfer_object::couple_annual_review_report_sections_data_transfer_object::CoupleAnnualReviewReportSectionsDataTransferObject}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::constrained_types::meeting_date::MeetingDate` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_background_section.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::domain::constrained_types::meeting_date::MeetingDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AdditionalCompanyMeetingAttendee`, `AdditionalMeetingAttendee`, `MeetingLocation`, and `RelationshipToClient` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_background_section.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | ...kground_section::{MeetingLocation, AdditionalMeetingAttendee, AdditionalCompanyMeetingAttendee, RelationshipToClient}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::NaiveDate` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_current_circumstances_section.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::driving::data_transfer_object::report_type_data_transfer_object::objectives_dto::CoupleObjectivesAnnualReviewDto` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_current_circumstances_section.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::driving::data_transfer_object::report_type_data_transfer_object::objectives_dto::CoupleObjectivesAnnualReviewDto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::constrained_types::tax_year` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::domain::constrained_types::tax_year; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OtherAdvice` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:7:55 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::domain::report::advice_areas::{AdviceArea, OtherAdvice}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::domain::report::objectives::{self, CoupleObjectivesAnnualReview, ObjectiveType}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AccountType`, `CanBeJointlyOwnedAccountType`, `ExistingJointlyOwnedProduct`, `Provider`, and `SingleContribution` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:10:68 [INFO] [stdout] | [INFO] [stdout] 10 | ...e, AccountType, CanBeJointlyOwnedAccountType, ExistingJointlyOwnedProduct, ExistingNewJointSingleProduct, ExistingProduct, NewProduct, PlatformAccountNumberType, ProductRetention, Provider, Providers, RecommendedAction, Replace, SingleContribution}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ReportError` and `advice_areas` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::domain::report::{advice_areas, ReportError}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `report::ReportError` [INFO] [stdout] --> src/domain/report/couple_new_report/couple_new_report_cover_section.rs:3:65 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::domain::{constrained_types::name_string::NameString, report::ReportError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::constrained_types::retirement_age::InvalidAgeError` [INFO] [stdout] --> src/domain/report/product.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::domain::constrained_types::retirement_age::InvalidAgeError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `isin::ISIN` and `sedol::Sedol` [INFO] [stdout] --> src/domain/report/product.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | isin::ISIN, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | sedol::Sedol, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::risk_assessment::RiskProfile` [INFO] [stdout] --> src/domain/report/product.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | use super::risk_assessment::RiskProfile; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::version` [INFO] [stdout] --> src/domain/report/investment_holdings.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use http::version; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `find_one_model_portfolio` [INFO] [stdout] --> src/domain/report/investment_holdings.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | }, find_model_portfolio::{self, find_one_model_portfolio, FindOneError}, traits::Entity}, driven::repository::{FindModelPortfolio, In... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ParseError` [INFO] [stdout] --> src/domain/constrained_types/meeting_date.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::{NaiveDate, ParseError, Datelike}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InvestmentStrategyProductTypeDto`, `InvestmentStrategyProviderDto`, `InvestmentStrategyServicePropositionDto`, `MonthYearDto`, `Repository`, and `risk_assessment_dto::RiskProfileDto` [INFO] [stdout] --> src/domain/find_model_portfolio.rs:1:103 [INFO] [stdout] | [INFO] [stdout] 1 | ...r, Repository}, driving::data_transfer_object::report_type_data_transfer_object::{investment_holdings::{InvestmentStrategyProductTypeDto, InvestmentStrategyProviderDto, InvestmentStrategyServicePropositionDto, MonthYearDto}, risk_assessment_dto::RiskProfileDto}}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `default_provider::region` [INFO] [stdout] --> src/driven/repository/dynamo_db.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | use aws_config::{default_provider::region, meta::region::RegionProviderChain, BehaviorVersion, Region}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/driven/repository/dynamo_db.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FundHolding`, `constrained_types::percentage::Percentage`, `risk_assessment::RiskProfile`, and `risk_assessment_dto::RiskProfileDto` [INFO] [stdout] --> src/driven/repository/dynamo_db.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | constrained_types::percentage::Percentage, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | report::{ [INFO] [stdout] 13 | investment_holdings::{FundHolding, InvestmentPortfolio}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | risk_assessment::RiskProfile, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | risk_assessment_dto::RiskProfileDto, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ModelPortfolioIdDto`, `constrained_types::client_id::ClientId`, `investment_holdings::MonthYear`, and `main` [INFO] [stdout] --> src/driven/repository/mod.rs:6:22 [INFO] [stdout] | [INFO] [stdout] 6 | ...::{constrained_types::client_id::ClientId, report::{investment_holdings::MonthYear, Report}, traits::Entity}, driving::data_transfer_object::report_type_data_transfer_object::{investment_holdings::{InvestmentStrategyProductTypeDto, InvestmentStrategyProviderDto, InvestmentStrategyServicePropositionDto, ModelPortfolioIdDto, MonthYearDto}, risk_assessment_dto::RiskProfileDto}, main}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::NaiveDate` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/background_section_data_transfer_objects.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::report::ReportError` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/individual_annual_review_data_transfer_object/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::domain::report::ReportError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::report::report_type::ReportType` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/individual_annual_review_data_transfer_object/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::domain::report::report_type::ReportType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::report::individual_annual_review_report::IndividualAnnualReviewReport` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/individual_annual_review_data_transfer_object/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::domain::report::individual_annual_review_report::IndividualAnnualReviewReport; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::NaiveDate` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/couple_annual_review_data_transfer_object/couple_annual_review_report_background_section_dto.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use chrono::NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::NaiveDate` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/couple_annual_review_data_transfer_object/couple_annual_review_report_current_circumstances_section_dto.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChangeInObjectivesDto` and `IsChangeRiskToleranceDto` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/couple_annual_review_data_transfer_object/couple_annual_review_report_current_circumstances_section_dto.rs:4:174 [INFO] [stdout] | [INFO] [stdout] 4 | ...eDto, IsChangeInCircumstancesDto, IsChangeRiskToleranceDto}, objectives_dto::{ChangeInObjectivesDto, CoupleObjectivesAnnualReviewDto}}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `couple_annual_review_report::couple_annual_review_report_current_circumstances_section::CoupleAnnualReviewReportCurrentCircumstancesSection` and `current_circumstances_section::CurrentCircumstancesSection` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/current_circumstances_section_dto.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | ...::{couple_annual_review_report::couple_annual_review_report_current_circumstances_section::CoupleAnnualReviewReportCurrentCircumstancesSection, current_circumstances_section::CurrentCircumstancesSection}, ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AdviceAreaDto` and `ExistingNewJointSingleProductDto` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/advice_areas_and_products_dto.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{advice_areas::{AdviceAreaDto, AdviceAreasDto}, product::{ExistingNewJointSingleProductDto, ProductsDto}}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::NaiveDate` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/product.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use chrono::NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::num::NonZeroU128` [INFO] [stdout] --> src/helpers/test_helpers.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::num::NonZeroU128; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BespokeInvestmentStrategyDto`, `BespokeOrFirmInvestmentStrategyDto`, `FundHoldingDto`, `IncomeObjectiveDto`, `InvestmentPortfolioDto`, `PresentFirmInvestmentStrategyDto`, `RecommendedInvestmentAndRiskStrategyDto`, `driven::repository::InvestmentPortfoliosRepository`, `find_model_portfolio::find_one_model_portfolio`, and `report::investment_holdings::InvestmentPortfolio` [INFO] [stdout] --> src/helpers/test_helpers.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | ...::{domain::{find_model_portfolio::find_one_model_portfolio, report::investment_holdings::InvestmentPortfolio}, driven::repository::InvestmentPortfoliosRepository, driving::data_transfer_object::{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | ... FundHoldingDto, InvestmentPortfolioDto, InvestmentStrategyDto, InvestmentStrategyProductTypeDto, InvestmentStrategyProviderDto, InvestmentStrategyServicePropositionDto, ModelPortfolioIdDto, MonthYearDto, VersionedPortfolioDto [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | ..., objectives_dto::{ [INFO] [stdout] 18 | ... ChangeInObjectivesDto, ClientFromAgeDto, CoupleIncomeObjectiveDto, CoupleObjectivesAnnualReviewDto, IncomeObjectiveDto, ObjectiveTypeDto [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | ..., product::{ [INFO] [stdout] 20 | ... AccountOrReferenceNumberTypeDto, AccountTypeDto, BespokeInvestmentStrategyDto, BespokeOrFirmInvestmentStrategyDto, ExistingNewJointSingleProductDto, ExistingProductRecommendationsDto, ExistingSingleOwnedProductDto, IsaStocksAndSharesDto, KnownOrUnknownAccountDto, OngoingChargeDto, OtherChargeDto, PlatformAccountNumberTypeDto, PresentFirmInvestmentStrategyDto, ProductChargesDto, ProductRetentionDto, ProductsDto, ProviderDto, ProvidersDto, RealignOrRebalanceDto, RebalanceDto, RecommendedActionDto, RecommendedInvestmentAndRiskStrategyDto, R... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `couple_annual_review_data_transfer_object` [INFO] [stdout] --> src/domain/report/create_report.rs:19:82 [INFO] [stdout] | [INFO] [stdout] 19 | ReportTypeDataTransferObject::CoupleAnnualReviewReportDataTransferObject(couple_annual_review_data_transfer_object) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_couple_annual_review_data_transfer_object` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `individual_annual_review_data_transfer_object` [INFO] [stdout] --> src/domain/report/create_report.rs:30:86 [INFO] [stdout] | [INFO] [stdout] 30 | ReportTypeDataTransferObject::IndividualAnnualReviewReportDataTransferObject(individual_annual_review_data_transfer_object) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_individual_annual_review_data_transfer_object` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `couple_new_report_dto` [INFO] [stdout] --> src/domain/report/create_report.rs:41:58 [INFO] [stdout] | [INFO] [stdout] 41 | ReportTypeDataTransferObject::CoupleNewReportDto(couple_new_report_dto) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_couple_new_report_dto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `investment_portfolio_repo` [INFO] [stdout] --> src/domain/report/individual_annual_review_report/mod.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | investment_portfolio_repo: &R [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_investment_portfolio_repo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_sections.rs:57:187 [INFO] [stdout] | [INFO] [stdout] 57 | ...ances.couple_objectives).map_err(|e| DomainError::ValidationError("Couple objectives validation error".to_string()))?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `investment_portfolio_repo` [INFO] [stdout] --> src/domain/report/couple_new_report/mod.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | investment_portfolio_repo: &R [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_investment_portfolio_repo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `client_names_paragraph` is never read [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_cover_section.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | let mut client_names_paragraph = String::new(); [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: `all_products_by_account_number_or_reference_number` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 494 | all_products_by_account_number_or_reference_number: &HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_products_by_account_number_or_reference_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `existing_product_requiring_text` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:495:5 [INFO] [stdout] | [INFO] [stdout] 495 | existing_product_requiring_text: &ExistingProduct, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_existing_product_requiring_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `objectives` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:497:5 [INFO] [stdout] | [INFO] [stdout] 497 | objectives: &HashMap [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_objectives` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `client_names_paragraph` is never read [INFO] [stdout] --> src/domain/report/couple_new_report/couple_new_report_cover_section.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 30 | let mut client_names_paragraph = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `summary` is never used [INFO] [stdout] --> src/domain/report/objectives.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 197 | impl ObjectiveType { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 198 | pub fn summary(self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_required_advice` is never used [INFO] [stdout] --> src/domain/report/recommendations_section.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn has_required_advice(advice_opt: &Option) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/report/product.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Products { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 41 | [INFO] [stdout] 42 | pub fn value(&self) -> &Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `platform_account_number_as_string` and `linked_objectives` are never used [INFO] [stdout] --> src/domain/report/product.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ExistingProduct { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn platform_account_number_as_string(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | pub fn linked_objectives(&self) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `account_or_reference_number_or_id_as_string` and `account_or_reference_number` are never used [INFO] [stdout] --> src/domain/report/product.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 290 | impl NewProduct { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn account_or_reference_number_or_id_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | pub fn account_or_reference_number(&self) -> &Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `tax_wrapper_type_as_string`, `account_or_reference_number_as_string`, `platform_account_number_as_string`, `provider`, and `provider_as_string` are never used [INFO] [stdout] --> src/domain/report/product.rs:417:12 [INFO] [stdout] | [INFO] [stdout] 415 | impl ExistingNewJointSingleProduct { [INFO] [stdout] | ---------------------------------- methods in this implementation [INFO] [stdout] 416 | /// Returns the tax wrapper type as a string. [INFO] [stdout] 417 | pub fn tax_wrapper_type_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | pub fn account_or_reference_number_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 447 | pub fn platform_account_number_as_string(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 462 | pub fn provider(&self) -> &Provider { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 499 | pub fn provider_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/domain/report/product.rs:532:12 [INFO] [stdout] | [INFO] [stdout] 530 | impl ExistingJointlyOwnedProduct { [INFO] [stdout] | -------------------------------- methods in this implementation [INFO] [stdout] 531 | /// Returns the provider as a string. [INFO] [stdout] 532 | pub fn provider_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 546 | pub fn tax_wrapper_type_as_full_name_brackets_string_short_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 553 | pub fn platform_account_number(&self) -> &Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 558 | pub fn platform_account_number_as_string(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 565 | pub fn account_or_reference_number(&self) -> &AccountOrReferenceNumberType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 570 | pub fn account_or_reference_number_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 584 | pub fn product_retention(&self) -> &ProductRetention { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 592 | pub fn account_type(&self) -> &CanBeJointlyOwnedAccountType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `provider_as_string`, `tax_wrapper_type_as_full_name_brackets_string_short_name`, `platform_account_number`, `platform_account_number_as_string`, `account_or_reference_number`, and `account_or_reference_number_as_string` are never used [INFO] [stdout] --> src/domain/report/product.rs:627:12 [INFO] [stdout] | [INFO] [stdout] 625 | impl ExistingSingleOwnedProduct { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] 626 | /// Returns the provider as a string. [INFO] [stdout] 627 | pub fn provider_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 646 | pub fn tax_wrapper_type_as_full_name_brackets_string_short_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 653 | pub fn platform_account_number(&self) -> &Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 658 | pub fn platform_account_number_as_string(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 665 | pub fn account_or_reference_number(&self) -> &AccountOrReferenceNumberType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 670 | pub fn account_or_reference_number_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `provider_as_string`, `tax_wrapper_type_as_full_name_brackets_string_short_name`, `platform_account_number`, `account_or_reference_number`, and `account_or_reference_number_or_id_as_string` are never used [INFO] [stdout] --> src/domain/report/product.rs:735:12 [INFO] [stdout] | [INFO] [stdout] 733 | impl NewSingleOwnedProduct { [INFO] [stdout] | -------------------------- methods in this implementation [INFO] [stdout] 734 | /// Returns the provider as a string. [INFO] [stdout] 735 | pub fn provider_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 754 | pub fn tax_wrapper_type_as_full_name_brackets_string_short_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 761 | pub fn platform_account_number(&self) -> &Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 768 | pub fn account_or_reference_number(&self) -> &Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 773 | pub fn account_or_reference_number_or_id_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `account_type_as_string_short_name` is never used [INFO] [stdout] --> src/domain/report/product.rs:844:12 [INFO] [stdout] | [INFO] [stdout] 843 | impl CanBeJointlyOwnedAccountType { [INFO] [stdout] | --------------------------------- method in this implementation [INFO] [stdout] 844 | pub fn account_type_as_string_short_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `account_type_as_string_short_name` is never used [INFO] [stdout] --> src/domain/report/product.rs:956:12 [INFO] [stdout] | [INFO] [stdout] 955 | impl AccountType { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 956 | pub fn account_type_as_string_short_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `actions_by_action_type` is never used [INFO] [stdout] --> src/domain/report/product.rs:2184:12 [INFO] [stdout] | [INFO] [stdout] 2174 | impl Retain { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 2184 | pub fn actions_by_action_type(&self) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `rationale`, `replacement_product_information`, and `linked_objectives` are never used [INFO] [stdout] --> src/domain/report/product.rs:2350:12 [INFO] [stdout] | [INFO] [stdout] 2349 | impl FullyReplace { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 2350 | pub fn rationale(&self) -> &ConstrainedString1000 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2354 | pub fn replacement_product_information(&self) -> &ReplacementProductInformation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2362 | pub fn linked_objectives(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `method_of_transfer` is never used [INFO] [stdout] --> src/domain/report/product.rs:2389:12 [INFO] [stdout] | [INFO] [stdout] 2387 | impl FullyReplaceDetail { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 2388 | /// Returns a reference to the method of transfer. [INFO] [stdout] 2389 | pub fn method_of_transfer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `value` and `funds_to_inspecie_transfer` are never used [INFO] [stdout] --> src/domain/report/product.rs:2442:12 [INFO] [stdout] | [INFO] [stdout] 2440 | impl InSpecieMethod { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 2441 | /// Returns the total value of the in-specie transfer. [INFO] [stdout] 2442 | pub fn value(&self) -> &ConstrainedMoneyAmountLarge { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2447 | pub fn funds_to_inspecie_transfer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/report/product.rs:2478:12 [INFO] [stdout] | [INFO] [stdout] 2476 | impl CashMethod { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 2477 | /// Returns the total cash value for the transfer. [INFO] [stdout] 2478 | pub fn value(&self) -> &ConstrainedMoneyAmountLarge { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `rationale`, `replacement_product_information`, and `linked_objectives` are never used [INFO] [stdout] --> src/domain/report/product.rs:2505:12 [INFO] [stdout] | [INFO] [stdout] 2503 | impl PartiallyReplace { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 2504 | /// Returns the rationale for partial replacement. [INFO] [stdout] 2505 | pub fn rationale(&self) -> &ConstrainedString1000 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2510 | pub fn replacement_product_information(&self) -> &ReplacementProductInformation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2520 | pub fn linked_objectives(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `method_of_transfer`, `amount_to_be_left_in_existing_product`, and `reason_for_leaving_in_existing_product` are never used [INFO] [stdout] --> src/domain/report/product.rs:2556:12 [INFO] [stdout] | [INFO] [stdout] 2554 | impl PartiallyReplaceDetail { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] 2555 | /// Returns a reference to the method of transfer. [INFO] [stdout] 2556 | pub fn method_of_transfer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2566 | pub fn amount_to_be_left_in_existing_product(&self) -> &ConstrainedMoneyAmountLarge { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2571 | pub fn reason_for_leaving_in_existing_product(&self) -> &ConstrainedString1000 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `executive_summary_description` and `rationale` are never used [INFO] [stdout] --> src/domain/report/product.rs:2665:12 [INFO] [stdout] | [INFO] [stdout] 2658 | impl SingleContribution { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 2665 | pub fn executive_summary_description(&self) -> &ConstrainedString200 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2670 | pub fn rationale(&self) -> Option<&ConstrainedString1000> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_versioned_portfolio` is never used [INFO] [stdout] --> src/domain/report/investment_holdings.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 112 | async fn make_versioned_portfolio( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/constrained_string_20.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl ConstrainedString20 { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] 8 | pub fn value(&self) -> &String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/constrained_string_200.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl ConstrainedString200 { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 8 | pub fn value(&self) -> &String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/retirement_age.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl RetirementAge { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 56 | pub fn value(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/retirement_year.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl RetirementYear { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 59 | pub fn value(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/constrained_money_amount_medium.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl ConstrainedMoneyAmountMedium { [INFO] [stdout] | --------------------------------- method in this implementation [INFO] [stdout] 9 | pub fn value(&self) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/constrained_money_amount_small.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl ConstrainedMoneyAmountSmall { [INFO] [stdout] | -------------------------------- method in this implementation [INFO] [stdout] 8 | /// Returns the value of the money amount [INFO] [stdout] 9 | pub fn value(&self) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/meeting_date.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl MeetingDate { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 9 | /// Returns a reference to the inner date value. [INFO] [stdout] 10 | pub fn value(&self) -> &NaiveDate { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/client_id.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl IoId { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 14 | /// Returns the value of the IoId. [INFO] [stdout] 15 | pub fn value(&self) -> &i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/last_review_report_date.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl LastReviewReportAndMeetingDate { [INFO] [stdout] | ----------------------------------- method in this implementation [INFO] [stdout] 9 | /// Returns a reference to the inner date value. [INFO] [stdout] 10 | pub fn value(&self) -> &NaiveDate { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/isin.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl ISIN { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 8 | pub fn value(&self) -> &String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/sedol.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Sedol { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 8 | pub fn value(&self) -> &String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `value` and `formatted_day_month` are never used [INFO] [stdout] --> src/domain/constrained_types/date.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Date { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 9 | /// Returns a reference to the inner date value. [INFO] [stdout] 10 | pub fn value(&self) -> &NaiveDate { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn formatted_day_month(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/tax_year.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TaxYear { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 9 | /// Returns the tax year string. [INFO] [stdout] 10 | pub fn value(&self) -> &String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/product_retirement_age.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl ProductRetirementAge { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 51 | pub fn value(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/fund_bonus_allocation.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl FundBonusAllocation { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] 8 | /// Returns the value of the fund bonus allocation as a percentage. [INFO] [stdout] 9 | pub fn value(&self) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/protected_tax_free_cash_entitlement.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl ProtectedTaxFreeCashEntitlement { [INFO] [stdout] | ------------------------------------ method in this implementation [INFO] [stdout] 8 | /// Returns the value of the entitlement as a percentage. [INFO] [stdout] 9 | pub fn value(&self) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/abrdn_account_number.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl AbrdnAccountNumber { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 10 | /// Returns the value of the Abrdn account number. [INFO] [stdout] 11 | pub fn value(&self) -> &str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/abrdn_full_account_number.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl AbrdnFullAccountNumber { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] 10 | /// Returns the value of the Abrdn full account number. [INFO] [stdout] 11 | pub fn value(&self) -> &str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/transact_platform_number.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TransactPlatformNumber { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] 9 | /// Returns the value of the TransactPlatformNumber. [INFO] [stdout] 10 | pub fn value(&self) -> &String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/transact_reference_number.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TransactReferenceNumber { [INFO] [stdout] | ---------------------------- method in this implementation [INFO] [stdout] 9 | /// Returns the value of the TransactReferenceNumber. [INFO] [stdout] 10 | pub fn value(&self) -> &String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/abrdn_sipp_number.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl AbrdnSippNumber { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 9 | /// Returns the value of the AbrdnSippNumber. [INFO] [stdout] 10 | pub fn value(&self) -> &String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/bank_account_numbers.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl BankAccountNumber { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 11 | /// Returns the bank account number as a string. [INFO] [stdout] 12 | pub fn value(&self) -> &str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/bank_account_numbers.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl BankSortCode { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 54 | /// Returns the sort code as a string. [INFO] [stdout] 55 | pub fn value(&self) -> &str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/domain/find_model_portfolio.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | Unknown(String), [INFO] [stdout] | ------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FindOneError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 7 - Unknown(String), [INFO] [stdout] 7 + Unknown(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RepoCreateError` is never used [INFO] [stdout] --> src/driven/repository/mod.rs:125:10 [INFO] [stdout] | [INFO] [stdout] 125 | pub enum RepoCreateError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RepoCreateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RepoFindAllError` is never used [INFO] [stdout] --> src/driven/repository/mod.rs:137:10 [INFO] [stdout] | [INFO] [stdout] 137 | pub enum RepoFindAllError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RepoFindAllError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RepoUpdateError` is never used [INFO] [stdout] --> src/driven/repository/mod.rs:142:10 [INFO] [stdout] | [INFO] [stdout] 142 | pub enum RepoUpdateError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RepoUpdateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RepoDeleteError` is never used [INFO] [stdout] --> src/driven/repository/mod.rs:149:10 [INFO] [stdout] | [INFO] [stdout] 149 | pub enum RepoDeleteError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RepoDeleteError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Repository` is never used [INFO] [stdout] --> src/driven/repository/mod.rs:156:11 [INFO] [stdout] | [INFO] [stdout] 156 | pub trait Repository where T: Entity { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9m 08s [INFO] running `Command { std: "docker" "inspect" "ecd5e21021c2b70944032b1c85d630f3b0f405f259b274fe190b9a912d99513e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ecd5e21021c2b70944032b1c85d630f3b0f405f259b274fe190b9a912d99513e", kill_on_drop: false }` [INFO] [stdout] ecd5e21021c2b70944032b1c85d630f3b0f405f259b274fe190b9a912d99513e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+414482f6a0d4e7290f614300581a0b55442552a3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e473587bb6a84ed577248a8129c4c9fa018352743b476d8447c7d4b76d1bd12f [INFO] running `Command { std: "docker" "start" "-a" "e473587bb6a84ed577248a8129c4c9fa018352743b476d8447c7d4b76d1bd12f", kill_on_drop: false }` [INFO] [stderr] Compiling gcwm-report-gen v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main.rs:2:38 [INFO] [stdout] | [INFO] [stdout] 2 | use driven::repository::{dynamo_db::{self, InvestmentPortfolioDynamoDbRepo}, InvestmentPortfoliosRepository}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main.rs:3:37 [INFO] [stdout] | [INFO] [stdout] 3 | use driving::data_transfer_object::{self, DataTransferObject}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/main.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use tracing::{info, warn, error, instrument}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Serialize` [INFO] [stdout] --> src/domain/report/create_report.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::Serialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ClientId` and `IoId` [INFO] [stdout] --> src/domain/report/create_report.rs:4:51 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::domain::constrained_types::client_id::{ClientId, IoId}; [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/domain/report/current_circumstances_section.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CurrentCircumstancesSectionDto` and `name_string::NameString` [INFO] [stdout] --> src/domain/report/current_circumstances_section.rs:4:90 [INFO] [stdout] | [INFO] [stdout] 4 | ...0, name_string::NameString}, report::couple_annual_review_report::couple_annual_review_report_current_circumstances_section::CoupleAnnualReviewReportCurrentCircumstancesSection}, driving::data_transfer_object::report_type_data_transfer_object::current_circumstances_section_dto::{CoupleIsChangeRiskToleranceDto, CurrentCircumstancesSectionDto, I... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::constrained_types::meeting_date::MeetingDate` [INFO] [stdout] --> src/domain/report/individual_annual_review_report/individual_annual_review_report_background_section.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::domain::constrained_types::meeting_date::MeetingDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AdditionalCompanyMeetingAttendee`, `AdditionalMeetingAttendee`, `MeetingLocation`, and `RelationshipToClient` [INFO] [stdout] --> src/domain/report/individual_annual_review_report/individual_annual_review_report_background_section.rs:7:49 [INFO] [stdout] | [INFO] [stdout] 7 | ...kground_section::{MeetingLocation, AdditionalMeetingAttendee, AdditionalCompanyMeetingAttendee, RelationshipToClient}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `client_id::ClientId` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/mod.rs:6:59 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::{domain::constrained_types::{adviser::Adviser, client_id::ClientId, name_string::NameString}, driven::repository::InvestmentPo... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `driving::data_transfer_object::report_type_data_transfer_object::couple_annual_review_data_transfer_object::couple_annual_review_report_sections_data_transfer_object::CoupleAnnualReviewReportSectionsDataTransferObject` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_cover_section.rs:3:65 [INFO] [stdout] | [INFO] [stdout] 3 | ...g, driving::data_transfer_object::report_type_data_transfer_object::couple_annual_review_data_transfer_object::couple_annual_review_report_sections_data_transfer_object::CoupleAnnualReviewReportSectionsDataTransferObject}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::constrained_types::meeting_date::MeetingDate` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_background_section.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::domain::constrained_types::meeting_date::MeetingDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AdditionalCompanyMeetingAttendee`, `AdditionalMeetingAttendee`, `MeetingLocation`, and `RelationshipToClient` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_background_section.rs:6:49 [INFO] [stdout] | [INFO] [stdout] 6 | ...kground_section::{MeetingLocation, AdditionalMeetingAttendee, AdditionalCompanyMeetingAttendee, RelationshipToClient}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::NaiveDate` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_current_circumstances_section.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::driving::data_transfer_object::report_type_data_transfer_object::objectives_dto::CoupleObjectivesAnnualReviewDto` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_current_circumstances_section.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::driving::data_transfer_object::report_type_data_transfer_object::objectives_dto::CoupleObjectivesAnnualReviewDto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::constrained_types::tax_year` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::domain::constrained_types::tax_year; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OtherAdvice` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:7:55 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::domain::report::advice_areas::{AdviceArea, OtherAdvice}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::domain::report::objectives::{self, CoupleObjectivesAnnualReview, ObjectiveType}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AccountType`, `CanBeJointlyOwnedAccountType`, `ExistingJointlyOwnedProduct`, `Provider`, and `SingleContribution` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:10:68 [INFO] [stdout] | [INFO] [stdout] 10 | ...e, AccountType, CanBeJointlyOwnedAccountType, ExistingJointlyOwnedProduct, ExistingNewJointSingleProduct, ExistingProduct, NewProduct, PlatformAccountNumberType, ProductRetention, Provider, Providers, RecommendedAction, Replace, SingleContribution}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ReportError` and `advice_areas` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::domain::report::{advice_areas, ReportError}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `report::ReportError` [INFO] [stdout] --> src/domain/report/couple_new_report/couple_new_report_cover_section.rs:3:65 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::domain::{constrained_types::name_string::NameString, report::ReportError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::constrained_types::retirement_age::InvalidAgeError` [INFO] [stdout] --> src/domain/report/product.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::domain::constrained_types::retirement_age::InvalidAgeError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `isin::ISIN` and `sedol::Sedol` [INFO] [stdout] --> src/domain/report/product.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | isin::ISIN, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | sedol::Sedol, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::risk_assessment::RiskProfile` [INFO] [stdout] --> src/domain/report/product.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | use super::risk_assessment::RiskProfile; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::version` [INFO] [stdout] --> src/domain/report/investment_holdings.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use http::version; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `find_one_model_portfolio` [INFO] [stdout] --> src/domain/report/investment_holdings.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | }, find_model_portfolio::{self, find_one_model_portfolio, FindOneError}, traits::Entity}, driven::repository::{FindModelPortfolio, In... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ParseError` [INFO] [stdout] --> src/domain/constrained_types/meeting_date.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::{NaiveDate, ParseError, Datelike}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InvestmentStrategyProductTypeDto`, `InvestmentStrategyProviderDto`, `InvestmentStrategyServicePropositionDto`, `MonthYearDto`, `Repository`, and `risk_assessment_dto::RiskProfileDto` [INFO] [stdout] --> src/domain/find_model_portfolio.rs:1:103 [INFO] [stdout] | [INFO] [stdout] 1 | ...r, Repository}, driving::data_transfer_object::report_type_data_transfer_object::{investment_holdings::{InvestmentStrategyProductTypeDto, InvestmentStrategyProviderDto, InvestmentStrategyServicePropositionDto, MonthYearDto}, risk_assessment_dto::RiskProfileDto}}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `default_provider::region` [INFO] [stdout] --> src/driven/repository/dynamo_db.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | use aws_config::{default_provider::region, meta::region::RegionProviderChain, BehaviorVersion, Region}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/driven/repository/dynamo_db.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FundHolding`, `constrained_types::percentage::Percentage`, `risk_assessment::RiskProfile`, and `risk_assessment_dto::RiskProfileDto` [INFO] [stdout] --> src/driven/repository/dynamo_db.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | constrained_types::percentage::Percentage, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | report::{ [INFO] [stdout] 13 | investment_holdings::{FundHolding, InvestmentPortfolio}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | risk_assessment::RiskProfile, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | risk_assessment_dto::RiskProfileDto, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ModelPortfolioIdDto`, `constrained_types::client_id::ClientId`, `investment_holdings::MonthYear`, and `main` [INFO] [stdout] --> src/driven/repository/mod.rs:6:22 [INFO] [stdout] | [INFO] [stdout] 6 | ...::{constrained_types::client_id::ClientId, report::{investment_holdings::MonthYear, Report}, traits::Entity}, driving::data_transfer_object::report_type_data_transfer_object::{investment_holdings::{InvestmentStrategyProductTypeDto, InvestmentStrategyProviderDto, InvestmentStrategyServicePropositionDto, ModelPortfolioIdDto, MonthYearDto}, risk_assessment_dto::RiskProfileDto}, main}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::NaiveDate` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/background_section_data_transfer_objects.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::report::ReportError` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/individual_annual_review_data_transfer_object/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::domain::report::ReportError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::report::report_type::ReportType` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/individual_annual_review_data_transfer_object/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::domain::report::report_type::ReportType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::domain::report::individual_annual_review_report::IndividualAnnualReviewReport` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/individual_annual_review_data_transfer_object/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::domain::report::individual_annual_review_report::IndividualAnnualReviewReport; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::NaiveDate` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/couple_annual_review_data_transfer_object/couple_annual_review_report_background_section_dto.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use chrono::NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::NaiveDate` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/couple_annual_review_data_transfer_object/couple_annual_review_report_current_circumstances_section_dto.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use chrono::NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChangeInObjectivesDto` and `IsChangeRiskToleranceDto` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/couple_annual_review_data_transfer_object/couple_annual_review_report_current_circumstances_section_dto.rs:4:174 [INFO] [stdout] | [INFO] [stdout] 4 | ...eDto, IsChangeInCircumstancesDto, IsChangeRiskToleranceDto}, objectives_dto::{ChangeInObjectivesDto, CoupleObjectivesAnnualReviewDto}}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `couple_annual_review_report::couple_annual_review_report_current_circumstances_section::CoupleAnnualReviewReportCurrentCircumstancesSection` and `current_circumstances_section::CurrentCircumstancesSection` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/current_circumstances_section_dto.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | ...::{couple_annual_review_report::couple_annual_review_report_current_circumstances_section::CoupleAnnualReviewReportCurrentCircumstancesSection, current_circumstances_section::CurrentCircumstancesSection}, ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AdviceAreaDto` and `ExistingNewJointSingleProductDto` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/advice_areas_and_products_dto.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{advice_areas::{AdviceAreaDto, AdviceAreasDto}, product::{ExistingNewJointSingleProductDto, ProductsDto}}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::NaiveDate` [INFO] [stdout] --> src/driving/data_transfer_object/report_type_data_transfer_object/product.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use chrono::NaiveDate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::num::NonZeroU128` [INFO] [stdout] --> src/helpers/test_helpers.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::num::NonZeroU128; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BespokeInvestmentStrategyDto`, `BespokeOrFirmInvestmentStrategyDto`, `FundHoldingDto`, `IncomeObjectiveDto`, `InvestmentPortfolioDto`, `PresentFirmInvestmentStrategyDto`, `RecommendedInvestmentAndRiskStrategyDto`, `driven::repository::InvestmentPortfoliosRepository`, `find_model_portfolio::find_one_model_portfolio`, and `report::investment_holdings::InvestmentPortfolio` [INFO] [stdout] --> src/helpers/test_helpers.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | ...::{domain::{find_model_portfolio::find_one_model_portfolio, report::investment_holdings::InvestmentPortfolio}, driven::repository::InvestmentPortfoliosRepository, driving::data_transfer_object::{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | ... FundHoldingDto, InvestmentPortfolioDto, InvestmentStrategyDto, InvestmentStrategyProductTypeDto, InvestmentStrategyProviderDto, InvestmentStrategyServicePropositionDto, ModelPortfolioIdDto, MonthYearDto, VersionedPortfolioDto [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | ..., objectives_dto::{ [INFO] [stdout] 18 | ... ChangeInObjectivesDto, ClientFromAgeDto, CoupleIncomeObjectiveDto, CoupleObjectivesAnnualReviewDto, IncomeObjectiveDto, ObjectiveTypeDto [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | ..., product::{ [INFO] [stdout] 20 | ... AccountOrReferenceNumberTypeDto, AccountTypeDto, BespokeInvestmentStrategyDto, BespokeOrFirmInvestmentStrategyDto, ExistingNewJointSingleProductDto, ExistingProductRecommendationsDto, ExistingSingleOwnedProductDto, IsaStocksAndSharesDto, KnownOrUnknownAccountDto, OngoingChargeDto, OtherChargeDto, PlatformAccountNumberTypeDto, PresentFirmInvestmentStrategyDto, ProductChargesDto, ProductRetentionDto, ProductsDto, ProviderDto, ProvidersDto, RealignOrRebalanceDto, RebalanceDto, RecommendedActionDto, RecommendedInvestmentAndRiskStrategyDto, R... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `couple_annual_review_data_transfer_object` [INFO] [stdout] --> src/domain/report/create_report.rs:19:82 [INFO] [stdout] | [INFO] [stdout] 19 | ReportTypeDataTransferObject::CoupleAnnualReviewReportDataTransferObject(couple_annual_review_data_transfer_object) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_couple_annual_review_data_transfer_object` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `individual_annual_review_data_transfer_object` [INFO] [stdout] --> src/domain/report/create_report.rs:30:86 [INFO] [stdout] | [INFO] [stdout] 30 | ReportTypeDataTransferObject::IndividualAnnualReviewReportDataTransferObject(individual_annual_review_data_transfer_object) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_individual_annual_review_data_transfer_object` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `couple_new_report_dto` [INFO] [stdout] --> src/domain/report/create_report.rs:41:58 [INFO] [stdout] | [INFO] [stdout] 41 | ReportTypeDataTransferObject::CoupleNewReportDto(couple_new_report_dto) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_couple_new_report_dto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `investment_portfolio_repo` [INFO] [stdout] --> src/domain/report/individual_annual_review_report/mod.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | investment_portfolio_repo: &R [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_investment_portfolio_repo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_sections.rs:57:187 [INFO] [stdout] | [INFO] [stdout] 57 | ...ances.couple_objectives).map_err(|e| DomainError::ValidationError("Couple objectives validation error".to_string()))?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `investment_portfolio_repo` [INFO] [stdout] --> src/domain/report/couple_new_report/mod.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | investment_portfolio_repo: &R [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_investment_portfolio_repo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/domain/constrained_types/last_review_report_date.rs:86:54 [INFO] [stdout] | [INFO] [stdout] 86 | assert_eq!(meeting_date.value(), &NaiveDate::from_ymd(2023, 1, 20)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/domain/constrained_types/last_review_report_date.rs:133:31 [INFO] [stdout] | [INFO] [stdout] 133 | let date = NaiveDate::from_ymd(2023, 11, 26); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `client_names_paragraph` is never read [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_cover_section.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | let mut client_names_paragraph = String::new(); [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: `all_products_by_account_number_or_reference_number` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 494 | all_products_by_account_number_or_reference_number: &HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_products_by_account_number_or_reference_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `existing_product_requiring_text` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:495:5 [INFO] [stdout] | [INFO] [stdout] 495 | existing_product_requiring_text: &ExistingProduct, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_existing_product_requiring_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `objectives` [INFO] [stdout] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:497:5 [INFO] [stdout] | [INFO] [stdout] 497 | objectives: &HashMap [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_objectives` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `client_names_paragraph` is never read [INFO] [stdout] --> src/domain/report/couple_new_report/couple_new_report_cover_section.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 30 | let mut client_names_paragraph = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `summary` is never used [INFO] [stdout] --> src/domain/report/objectives.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 197 | impl ObjectiveType { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 198 | pub fn summary(self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_required_advice` is never used [INFO] [stdout] --> src/domain/report/recommendations_section.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn has_required_advice(advice_opt: &Option) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/report/product.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Products { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 41 | [INFO] [stdout] 42 | pub fn value(&self) -> &Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `platform_account_number_as_string` and `linked_objectives` are never used [INFO] [stdout] --> src/domain/report/product.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl ExistingProduct { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn platform_account_number_as_string(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | pub fn linked_objectives(&self) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `account_or_reference_number_or_id_as_string` and `account_or_reference_number` are never used [INFO] [stdout] --> src/domain/report/product.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 290 | impl NewProduct { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn account_or_reference_number_or_id_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | pub fn account_or_reference_number(&self) -> &Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `tax_wrapper_type_as_string`, `account_or_reference_number_as_string`, `platform_account_number_as_string`, `provider`, and `provider_as_string` are never used [INFO] [stdout] --> src/domain/report/product.rs:417:12 [INFO] [stdout] | [INFO] [stdout] 415 | impl ExistingNewJointSingleProduct { [INFO] [stdout] | ---------------------------------- methods in this implementation [INFO] [stdout] 416 | /// Returns the tax wrapper type as a string. [INFO] [stdout] 417 | pub fn tax_wrapper_type_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | pub fn account_or_reference_number_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 447 | pub fn platform_account_number_as_string(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 462 | pub fn provider(&self) -> &Provider { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 499 | pub fn provider_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/domain/report/product.rs:532:12 [INFO] [stdout] | [INFO] [stdout] 530 | impl ExistingJointlyOwnedProduct { [INFO] [stdout] | -------------------------------- methods in this implementation [INFO] [stdout] 531 | /// Returns the provider as a string. [INFO] [stdout] 532 | pub fn provider_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 546 | pub fn tax_wrapper_type_as_full_name_brackets_string_short_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 553 | pub fn platform_account_number(&self) -> &Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 558 | pub fn platform_account_number_as_string(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 565 | pub fn account_or_reference_number(&self) -> &AccountOrReferenceNumberType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 570 | pub fn account_or_reference_number_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 584 | pub fn product_retention(&self) -> &ProductRetention { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 592 | pub fn account_type(&self) -> &CanBeJointlyOwnedAccountType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `provider_as_string`, `tax_wrapper_type_as_full_name_brackets_string_short_name`, `platform_account_number`, `platform_account_number_as_string`, `account_or_reference_number`, and `account_or_reference_number_as_string` are never used [INFO] [stdout] --> src/domain/report/product.rs:627:12 [INFO] [stdout] | [INFO] [stdout] 625 | impl ExistingSingleOwnedProduct { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] 626 | /// Returns the provider as a string. [INFO] [stdout] 627 | pub fn provider_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 646 | pub fn tax_wrapper_type_as_full_name_brackets_string_short_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 653 | pub fn platform_account_number(&self) -> &Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 658 | pub fn platform_account_number_as_string(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 665 | pub fn account_or_reference_number(&self) -> &AccountOrReferenceNumberType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 670 | pub fn account_or_reference_number_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `provider_as_string`, `tax_wrapper_type_as_full_name_brackets_string_short_name`, `platform_account_number`, `account_or_reference_number`, and `account_or_reference_number_or_id_as_string` are never used [INFO] [stdout] --> src/domain/report/product.rs:735:12 [INFO] [stdout] | [INFO] [stdout] 733 | impl NewSingleOwnedProduct { [INFO] [stdout] | -------------------------- methods in this implementation [INFO] [stdout] 734 | /// Returns the provider as a string. [INFO] [stdout] 735 | pub fn provider_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 754 | pub fn tax_wrapper_type_as_full_name_brackets_string_short_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 761 | pub fn platform_account_number(&self) -> &Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 768 | pub fn account_or_reference_number(&self) -> &Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 773 | pub fn account_or_reference_number_or_id_as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `account_type_as_string_short_name` is never used [INFO] [stdout] --> src/domain/report/product.rs:844:12 [INFO] [stdout] | [INFO] [stdout] 843 | impl CanBeJointlyOwnedAccountType { [INFO] [stdout] | --------------------------------- method in this implementation [INFO] [stdout] 844 | pub fn account_type_as_string_short_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `account_type_as_string_short_name` is never used [INFO] [stdout] --> src/domain/report/product.rs:956:12 [INFO] [stdout] | [INFO] [stdout] 955 | impl AccountType { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 956 | pub fn account_type_as_string_short_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `actions_by_action_type` is never used [INFO] [stdout] --> src/domain/report/product.rs:2184:12 [INFO] [stdout] | [INFO] [stdout] 2174 | impl Retain { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 2184 | pub fn actions_by_action_type(&self) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `rationale`, `replacement_product_information`, and `linked_objectives` are never used [INFO] [stdout] --> src/domain/report/product.rs:2350:12 [INFO] [stdout] | [INFO] [stdout] 2349 | impl FullyReplace { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 2350 | pub fn rationale(&self) -> &ConstrainedString1000 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2354 | pub fn replacement_product_information(&self) -> &ReplacementProductInformation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2362 | pub fn linked_objectives(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `method_of_transfer` is never used [INFO] [stdout] --> src/domain/report/product.rs:2389:12 [INFO] [stdout] | [INFO] [stdout] 2387 | impl FullyReplaceDetail { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 2388 | /// Returns a reference to the method of transfer. [INFO] [stdout] 2389 | pub fn method_of_transfer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `value` and `funds_to_inspecie_transfer` are never used [INFO] [stdout] --> src/domain/report/product.rs:2442:12 [INFO] [stdout] | [INFO] [stdout] 2440 | impl InSpecieMethod { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 2441 | /// Returns the total value of the in-specie transfer. [INFO] [stdout] 2442 | pub fn value(&self) -> &ConstrainedMoneyAmountLarge { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2447 | pub fn funds_to_inspecie_transfer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/report/product.rs:2478:12 [INFO] [stdout] | [INFO] [stdout] 2476 | impl CashMethod { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 2477 | /// Returns the total cash value for the transfer. [INFO] [stdout] 2478 | pub fn value(&self) -> &ConstrainedMoneyAmountLarge { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `rationale`, `replacement_product_information`, and `linked_objectives` are never used [INFO] [stdout] --> src/domain/report/product.rs:2505:12 [INFO] [stdout] | [INFO] [stdout] 2503 | impl PartiallyReplace { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 2504 | /// Returns the rationale for partial replacement. [INFO] [stdout] 2505 | pub fn rationale(&self) -> &ConstrainedString1000 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2510 | pub fn replacement_product_information(&self) -> &ReplacementProductInformation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2520 | pub fn linked_objectives(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `method_of_transfer`, `amount_to_be_left_in_existing_product`, and `reason_for_leaving_in_existing_product` are never used [INFO] [stdout] --> src/domain/report/product.rs:2556:12 [INFO] [stdout] | [INFO] [stdout] 2554 | impl PartiallyReplaceDetail { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] 2555 | /// Returns a reference to the method of transfer. [INFO] [stdout] 2556 | pub fn method_of_transfer(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2566 | pub fn amount_to_be_left_in_existing_product(&self) -> &ConstrainedMoneyAmountLarge { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2571 | pub fn reason_for_leaving_in_existing_product(&self) -> &ConstrainedString1000 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `executive_summary_description` and `rationale` are never used [INFO] [stdout] --> src/domain/report/product.rs:2665:12 [INFO] [stdout] | [INFO] [stdout] 2658 | impl SingleContribution { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 2665 | pub fn executive_summary_description(&self) -> &ConstrainedString200 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2670 | pub fn rationale(&self) -> Option<&ConstrainedString1000> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_versioned_portfolio` is never used [INFO] [stdout] --> src/domain/report/investment_holdings.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 112 | async fn make_versioned_portfolio( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/constrained_string_200.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl ConstrainedString200 { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 8 | pub fn value(&self) -> &String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/retirement_age.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl RetirementAge { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 56 | pub fn value(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/retirement_year.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl RetirementYear { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 59 | pub fn value(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/meeting_date.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl MeetingDate { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 9 | /// Returns a reference to the inner date value. [INFO] [stdout] 10 | pub fn value(&self) -> &NaiveDate { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/isin.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl ISIN { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 8 | pub fn value(&self) -> &String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/sedol.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Sedol { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 8 | pub fn value(&self) -> &String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `value` and `formatted_day_month` are never used [INFO] [stdout] --> src/domain/constrained_types/date.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Date { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 9 | /// Returns a reference to the inner date value. [INFO] [stdout] 10 | pub fn value(&self) -> &NaiveDate { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn formatted_day_month(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/domain/constrained_types/tax_year.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl TaxYear { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 9 | /// Returns the tax year string. [INFO] [stdout] 10 | pub fn value(&self) -> &String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/domain/find_model_portfolio.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | Unknown(String), [INFO] [stdout] | ------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `FindOneError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 7 - Unknown(String), [INFO] [stdout] 7 + Unknown(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RepoCreateError` is never used [INFO] [stdout] --> src/driven/repository/mod.rs:125:10 [INFO] [stdout] | [INFO] [stdout] 125 | pub enum RepoCreateError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RepoCreateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RepoFindAllError` is never used [INFO] [stdout] --> src/driven/repository/mod.rs:137:10 [INFO] [stdout] | [INFO] [stdout] 137 | pub enum RepoFindAllError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RepoFindAllError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RepoUpdateError` is never used [INFO] [stdout] --> src/driven/repository/mod.rs:142:10 [INFO] [stdout] | [INFO] [stdout] 142 | pub enum RepoUpdateError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RepoUpdateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RepoDeleteError` is never used [INFO] [stdout] --> src/driven/repository/mod.rs:149:10 [INFO] [stdout] | [INFO] [stdout] 149 | pub enum RepoDeleteError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RepoDeleteError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Repository` is never used [INFO] [stdout] --> src/driven/repository/mod.rs:156:11 [INFO] [stdout] | [INFO] [stdout] 156 | pub trait Repository where T: Entity { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 15.74s [INFO] running `Command { std: "docker" "inspect" "e473587bb6a84ed577248a8129c4c9fa018352743b476d8447c7d4b76d1bd12f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e473587bb6a84ed577248a8129c4c9fa018352743b476d8447c7d4b76d1bd12f", kill_on_drop: false }` [INFO] [stdout] e473587bb6a84ed577248a8129c4c9fa018352743b476d8447c7d4b76d1bd12f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+414482f6a0d4e7290f614300581a0b55442552a3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] cea71f8b224059304d4ea8e7d41c37adecb72b9239cb1129e611acd7812f69cd [INFO] running `Command { std: "docker" "start" "-a" "cea71f8b224059304d4ea8e7d41c37adecb72b9239cb1129e611acd7812f69cd", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/main.rs:2:38 [INFO] [stderr] | [INFO] [stderr] 2 | use driven::repository::{dynamo_db::{self, InvestmentPortfolioDynamoDbRepo}, InvestmentPortfoliosRepository}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/main.rs:3:37 [INFO] [stderr] | [INFO] [stderr] 3 | use driving::data_transfer_object::{self, DataTransferObject}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `warn` [INFO] [stderr] --> src/main.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | use tracing::{info, warn, error, instrument}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde::Serialize` [INFO] [stderr] --> src/domain/report/create_report.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use serde::Serialize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ClientId` and `IoId` [INFO] [stderr] --> src/domain/report/create_report.rs:4:51 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::domain::constrained_types::client_id::{ClientId, IoId}; [INFO] [stderr] | ^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/domain/report/current_circumstances_section.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CurrentCircumstancesSectionDto` and `name_string::NameString` [INFO] [stderr] --> src/domain/report/current_circumstances_section.rs:4:90 [INFO] [stderr] | [INFO] [stderr] 4 | ...0, name_string::NameString}, report::couple_annual_review_report::couple_annual_review_report_current_circumstances_section::CoupleAnnualReviewReportCurrentCircumstancesSection}, driving::data_transfer_object::report_type_data_transfer_object::current_circumstances_section_dto::{CoupleIsChangeRiskToleranceDto, CurrentCircumstancesSectionDto, I... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::domain::constrained_types::meeting_date::MeetingDate` [INFO] [stderr] --> src/domain/report/individual_annual_review_report/individual_annual_review_report_background_section.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::domain::constrained_types::meeting_date::MeetingDate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AdditionalCompanyMeetingAttendee`, `AdditionalMeetingAttendee`, `MeetingLocation`, and `RelationshipToClient` [INFO] [stderr] --> src/domain/report/individual_annual_review_report/individual_annual_review_report_background_section.rs:7:49 [INFO] [stderr] | [INFO] [stderr] 7 | ...kground_section::{MeetingLocation, AdditionalMeetingAttendee, AdditionalCompanyMeetingAttendee, RelationshipToClient}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `client_id::ClientId` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/mod.rs:6:59 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::{domain::constrained_types::{adviser::Adviser, client_id::ClientId, name_string::NameString}, driven::repository::InvestmentPo... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `driving::data_transfer_object::report_type_data_transfer_object::couple_annual_review_data_transfer_object::couple_annual_review_report_sections_data_transfer_object::CoupleAnnualReviewReportSectionsDataTransferObject` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_cover_section.rs:3:65 [INFO] [stderr] | [INFO] [stderr] 3 | ...g, driving::data_transfer_object::report_type_data_transfer_object::couple_annual_review_data_transfer_object::couple_annual_review_report_sections_data_transfer_object::CoupleAnnualReviewReportSectionsDataTransferObject}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::domain::constrained_types::meeting_date::MeetingDate` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_background_section.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::domain::constrained_types::meeting_date::MeetingDate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AdditionalCompanyMeetingAttendee`, `AdditionalMeetingAttendee`, `MeetingLocation`, and `RelationshipToClient` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_background_section.rs:6:49 [INFO] [stderr] | [INFO] [stderr] 6 | ...kground_section::{MeetingLocation, AdditionalMeetingAttendee, AdditionalCompanyMeetingAttendee, RelationshipToClient}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::NaiveDate` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_current_circumstances_section.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use chrono::NaiveDate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::driving::data_transfer_object::report_type_data_transfer_object::objectives_dto::CoupleObjectivesAnnualReviewDto` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_current_circumstances_section.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use crate::driving::data_transfer_object::report_type_data_transfer_object::objectives_dto::CoupleObjectivesAnnualReviewDto; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::domain::constrained_types::tax_year` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::domain::constrained_types::tax_year; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `OtherAdvice` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:7:55 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::domain::report::advice_areas::{AdviceArea, OtherAdvice}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:9:41 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::domain::report::objectives::{self, CoupleObjectivesAnnualReview, ObjectiveType}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AccountType`, `CanBeJointlyOwnedAccountType`, `ExistingJointlyOwnedProduct`, `Provider`, and `SingleContribution` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:10:68 [INFO] [stderr] | [INFO] [stderr] 10 | ...e, AccountType, CanBeJointlyOwnedAccountType, ExistingJointlyOwnedProduct, ExistingNewJointSingleProduct, ExistingProduct, NewProduct, PlatformAccountNumberType, ProductRetention, Provider, Providers, RecommendedAction, Replace, SingleContribution}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ReportError` and `advice_areas` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:12:29 [INFO] [stderr] | [INFO] [stderr] 12 | use crate::domain::report::{advice_areas, ReportError}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `report::ReportError` [INFO] [stderr] --> src/domain/report/couple_new_report/couple_new_report_cover_section.rs:3:65 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::domain::{constrained_types::name_string::NameString, report::ReportError}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::domain::constrained_types::retirement_age::InvalidAgeError` [INFO] [stderr] --> src/domain/report/product.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use crate::domain::constrained_types::retirement_age::InvalidAgeError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `isin::ISIN` and `sedol::Sedol` [INFO] [stderr] --> src/domain/report/product.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | isin::ISIN, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 28 | sedol::Sedol, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::risk_assessment::RiskProfile` [INFO] [stderr] --> src/domain/report/product.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | use super::risk_assessment::RiskProfile; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `http::version` [INFO] [stderr] --> src/domain/report/investment_holdings.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use http::version; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `find_one_model_portfolio` [INFO] [stderr] --> src/domain/report/investment_holdings.rs:11:37 [INFO] [stderr] | [INFO] [stderr] 11 | }, find_model_portfolio::{self, find_one_model_portfolio, FindOneError}, traits::Entity}, driven::repository::{FindModelPortfolio, In... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ParseError` [INFO] [stderr] --> src/domain/constrained_types/meeting_date.rs:2:25 [INFO] [stderr] | [INFO] [stderr] 2 | use chrono::{NaiveDate, ParseError, Datelike}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `InvestmentStrategyProductTypeDto`, `InvestmentStrategyProviderDto`, `InvestmentStrategyServicePropositionDto`, `MonthYearDto`, `Repository`, and `risk_assessment_dto::RiskProfileDto` [INFO] [stderr] --> src/domain/find_model_portfolio.rs:1:103 [INFO] [stderr] | [INFO] [stderr] 1 | ...r, Repository}, driving::data_transfer_object::report_type_data_transfer_object::{investment_holdings::{InvestmentStrategyProductTypeDto, InvestmentStrategyProviderDto, InvestmentStrategyServicePropositionDto, MonthYearDto}, risk_assessment_dto::RiskProfileDto}}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `default_provider::region` [INFO] [stderr] --> src/driven/repository/dynamo_db.rs:4:18 [INFO] [stderr] | [INFO] [stderr] 4 | use aws_config::{default_provider::region, meta::region::RegionProviderChain, BehaviorVersion, Region}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stderr] --> src/driven/repository/dynamo_db.rs:6:13 [INFO] [stderr] | [INFO] [stderr] 6 | use serde::{Deserialize, Serialize}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FundHolding`, `constrained_types::percentage::Percentage`, `risk_assessment::RiskProfile`, and `risk_assessment_dto::RiskProfileDto` [INFO] [stderr] --> src/driven/repository/dynamo_db.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | constrained_types::percentage::Percentage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 12 | report::{ [INFO] [stderr] 13 | investment_holdings::{FundHolding, InvestmentPortfolio}, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 14 | risk_assessment::RiskProfile, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 19 | risk_assessment_dto::RiskProfileDto, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ModelPortfolioIdDto`, `constrained_types::client_id::ClientId`, `investment_holdings::MonthYear`, and `main` [INFO] [stderr] --> src/driven/repository/mod.rs:6:22 [INFO] [stderr] | [INFO] [stderr] 6 | ...::{constrained_types::client_id::ClientId, report::{investment_holdings::MonthYear, Report}, traits::Entity}, driving::data_transfer_object::report_type_data_transfer_object::{investment_holdings::{InvestmentStrategyProductTypeDto, InvestmentStrategyProviderDto, InvestmentStrategyServicePropositionDto, ModelPortfolioIdDto, MonthYearDto}, risk_assessment_dto::RiskProfileDto}, main}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::NaiveDate` [INFO] [stderr] --> src/driving/data_transfer_object/report_type_data_transfer_object/background_section_data_transfer_objects.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use chrono::NaiveDate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::domain::report::ReportError` [INFO] [stderr] --> src/driving/data_transfer_object/report_type_data_transfer_object/individual_annual_review_data_transfer_object/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::domain::report::ReportError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::domain::report::report_type::ReportType` [INFO] [stderr] --> src/driving/data_transfer_object/report_type_data_transfer_object/individual_annual_review_data_transfer_object/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::domain::report::report_type::ReportType; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::domain::report::individual_annual_review_report::IndividualAnnualReviewReport` [INFO] [stderr] --> src/driving/data_transfer_object/report_type_data_transfer_object/individual_annual_review_data_transfer_object/mod.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::domain::report::individual_annual_review_report::IndividualAnnualReviewReport; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::NaiveDate` [INFO] [stderr] --> src/driving/data_transfer_object/report_type_data_transfer_object/couple_annual_review_data_transfer_object/couple_annual_review_report_background_section_dto.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use chrono::NaiveDate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::NaiveDate` [INFO] [stderr] --> src/driving/data_transfer_object/report_type_data_transfer_object/couple_annual_review_data_transfer_object/couple_annual_review_report_current_circumstances_section_dto.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use chrono::NaiveDate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ChangeInObjectivesDto` and `IsChangeRiskToleranceDto` [INFO] [stderr] --> src/driving/data_transfer_object/report_type_data_transfer_object/couple_annual_review_data_transfer_object/couple_annual_review_report_current_circumstances_section_dto.rs:4:174 [INFO] [stderr] | [INFO] [stderr] 4 | ...eDto, IsChangeInCircumstancesDto, IsChangeRiskToleranceDto}, objectives_dto::{ChangeInObjectivesDto, CoupleObjectivesAnnualReviewDto}}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `couple_annual_review_report::couple_annual_review_report_current_circumstances_section::CoupleAnnualReviewReportCurrentCircumstancesSection` and `current_circumstances_section::CurrentCircumstancesSection` [INFO] [stderr] --> src/driving/data_transfer_object/report_type_data_transfer_object/current_circumstances_section_dto.rs:3:30 [INFO] [stderr] | [INFO] [stderr] 3 | ...::{couple_annual_review_report::couple_annual_review_report_current_circumstances_section::CoupleAnnualReviewReportCurrentCircumstancesSection, current_circumstances_section::CurrentCircumstancesSection}, ... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AdviceAreaDto` and `ExistingNewJointSingleProductDto` [INFO] [stderr] --> src/driving/data_transfer_object/report_type_data_transfer_object/advice_areas_and_products_dto.rs:3:28 [INFO] [stderr] | [INFO] [stderr] 3 | use super::{advice_areas::{AdviceAreaDto, AdviceAreasDto}, product::{ExistingNewJointSingleProductDto, ProductsDto}}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::NaiveDate` [INFO] [stderr] --> src/driving/data_transfer_object/report_type_data_transfer_object/product.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use chrono::NaiveDate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::num::NonZeroU128` [INFO] [stderr] --> src/helpers/test_helpers.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::num::NonZeroU128; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BespokeInvestmentStrategyDto`, `BespokeOrFirmInvestmentStrategyDto`, `FundHoldingDto`, `IncomeObjectiveDto`, `InvestmentPortfolioDto`, `PresentFirmInvestmentStrategyDto`, `RecommendedInvestmentAndRiskStrategyDto`, `driven::repository::InvestmentPortfoliosRepository`, `find_model_portfolio::find_one_model_portfolio`, and `report::investment_holdings::InvestmentPortfolio` [INFO] [stderr] --> src/helpers/test_helpers.rs:5:22 [INFO] [stderr] | [INFO] [stderr] 5 | ...::{domain::{find_model_portfolio::find_one_model_portfolio, report::investment_holdings::InvestmentPortfolio}, driven::repository::InvestmentPortfoliosRepository, driving::data_transfer_object::{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 16 | ... FundHoldingDto, InvestmentPortfolioDto, InvestmentStrategyDto, InvestmentStrategyProductTypeDto, InvestmentStrategyProviderDto, InvestmentStrategyServicePropositionDto, ModelPortfolioIdDto, MonthYearDto, VersionedPortfolioDto [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 17 | ..., objectives_dto::{ [INFO] [stderr] 18 | ... ChangeInObjectivesDto, ClientFromAgeDto, CoupleIncomeObjectiveDto, CoupleObjectivesAnnualReviewDto, IncomeObjectiveDto, ObjectiveTypeDto [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 19 | ..., product::{ [INFO] [stderr] 20 | ... AccountOrReferenceNumberTypeDto, AccountTypeDto, BespokeInvestmentStrategyDto, BespokeOrFirmInvestmentStrategyDto, ExistingNewJointSingleProductDto, ExistingProductRecommendationsDto, ExistingSingleOwnedProductDto, IsaStocksAndSharesDto, KnownOrUnknownAccountDto, OngoingChargeDto, OtherChargeDto, PlatformAccountNumberTypeDto, PresentFirmInvestmentStrategyDto, ProductChargesDto, ProductRetentionDto, ProductsDto, ProviderDto, ProvidersDto, RealignOrRebalanceDto, RebalanceDto, RecommendedActionDto, RecommendedInvestmentAndRiskStrategyDto, R... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `couple_annual_review_data_transfer_object` [INFO] [stderr] --> src/domain/report/create_report.rs:19:82 [INFO] [stderr] | [INFO] [stderr] 19 | ReportTypeDataTransferObject::CoupleAnnualReviewReportDataTransferObject(couple_annual_review_data_transfer_object) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_couple_annual_review_data_transfer_object` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `individual_annual_review_data_transfer_object` [INFO] [stderr] --> src/domain/report/create_report.rs:30:86 [INFO] [stderr] | [INFO] [stderr] 30 | ReportTypeDataTransferObject::IndividualAnnualReviewReportDataTransferObject(individual_annual_review_data_transfer_object) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_individual_annual_review_data_transfer_object` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `couple_new_report_dto` [INFO] [stderr] --> src/domain/report/create_report.rs:41:58 [INFO] [stderr] | [INFO] [stderr] 41 | ReportTypeDataTransferObject::CoupleNewReportDto(couple_new_report_dto) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_couple_new_report_dto` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `investment_portfolio_repo` [INFO] [stderr] --> src/domain/report/individual_annual_review_report/mod.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | investment_portfolio_repo: &R [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_investment_portfolio_repo` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_sections.rs:57:187 [INFO] [stderr] | [INFO] [stderr] 57 | ...ances.couple_objectives).map_err(|e| DomainError::ValidationError("Couple objectives validation error".to_string()))?; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `investment_portfolio_repo` [INFO] [stderr] --> src/domain/report/couple_new_report/mod.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | investment_portfolio_repo: &R [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_investment_portfolio_repo` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stderr] --> src/domain/constrained_types/last_review_report_date.rs:86:54 [INFO] [stderr] | [INFO] [stderr] 86 | assert_eq!(meeting_date.value(), &NaiveDate::from_ymd(2023, 1, 20)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stderr] --> src/domain/constrained_types/last_review_report_date.rs:133:31 [INFO] [stderr] | [INFO] [stderr] 133 | let date = NaiveDate::from_ymd(2023, 11, 26); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `client_names_paragraph` is never read [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_report_cover_section.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 29 | let mut client_names_paragraph = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `all_products_by_account_number_or_reference_number` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:494:5 [INFO] [stderr] | [INFO] [stderr] 494 | all_products_by_account_number_or_reference_number: &HashMap, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_products_by_account_number_or_reference_number` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `existing_product_requiring_text` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:495:5 [INFO] [stderr] | [INFO] [stderr] 495 | existing_product_requiring_text: &ExistingProduct, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_existing_product_requiring_text` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `objectives` [INFO] [stderr] --> src/domain/report/couple_annual_review_report/couple_annual_review_recommendations_section.rs:497:5 [INFO] [stderr] | [INFO] [stderr] 497 | objectives: &HashMap [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_objectives` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `client_names_paragraph` is never read [INFO] [stderr] --> src/domain/report/couple_new_report/couple_new_report_cover_section.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | let mut client_names_paragraph = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: method `summary` is never used [INFO] [stderr] --> src/domain/report/objectives.rs:198:12 [INFO] [stderr] | [INFO] [stderr] 197 | impl ObjectiveType { [INFO] [stderr] | ------------------ method in this implementation [INFO] [stderr] 198 | pub fn summary(self) -> String { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `has_required_advice` is never used [INFO] [stderr] --> src/domain/report/recommendations_section.rs:113:4 [INFO] [stderr] | [INFO] [stderr] 113 | fn has_required_advice(advice_opt: &Option) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `value` is never used [INFO] [stderr] --> src/domain/report/product.rs:42:12 [INFO] [stderr] | [INFO] [stderr] 40 | impl Products { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] 41 | [INFO] [stderr] 42 | pub fn value(&self) -> &Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `platform_account_number_as_string` and `linked_objectives` are never used [INFO] [stderr] --> src/domain/report/product.rs:179:12 [INFO] [stderr] | [INFO] [stderr] 122 | impl ExistingProduct { [INFO] [stderr] | -------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 179 | pub fn platform_account_number_as_string(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 271 | pub fn linked_objectives(&self) -> Option<&Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `account_or_reference_number_or_id_as_string` and `account_or_reference_number` are never used [INFO] [stderr] --> src/domain/report/product.rs:328:12 [INFO] [stderr] | [INFO] [stderr] 290 | impl NewProduct { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 328 | pub fn account_or_reference_number_or_id_as_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 339 | pub fn account_or_reference_number(&self) -> &Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `tax_wrapper_type_as_string`, `account_or_reference_number_as_string`, `platform_account_number_as_string`, `provider`, and `provider_as_string` are never used [INFO] [stderr] --> src/domain/report/product.rs:417:12 [INFO] [stderr] | [INFO] [stderr] 415 | impl ExistingNewJointSingleProduct { [INFO] [stderr] | ---------------------------------- methods in this implementation [INFO] [stderr] 416 | /// Returns the tax wrapper type as a string. [INFO] [stderr] 417 | pub fn tax_wrapper_type_as_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 432 | pub fn account_or_reference_number_as_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 447 | pub fn platform_account_number_as_string(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 462 | pub fn provider(&self) -> &Provider { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 499 | pub fn provider_as_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/domain/report/product.rs:532:12 [INFO] [stderr] | [INFO] [stderr] 530 | impl ExistingJointlyOwnedProduct { [INFO] [stderr] | -------------------------------- methods in this implementation [INFO] [stderr] 531 | /// Returns the provider as a string. [INFO] [stderr] 532 | pub fn provider_as_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 546 | pub fn tax_wrapper_type_as_full_name_brackets_string_short_name(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 553 | pub fn platform_account_number(&self) -> &Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 558 | pub fn platform_account_number_as_string(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 565 | pub fn account_or_reference_number(&self) -> &AccountOrReferenceNumberType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 570 | pub fn account_or_reference_number_as_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 584 | pub fn product_retention(&self) -> &ProductRetention { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 592 | pub fn account_type(&self) -> &CanBeJointlyOwnedAccountType { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `provider_as_string`, `tax_wrapper_type_as_full_name_brackets_string_short_name`, `platform_account_number`, `platform_account_number_as_string`, `account_or_reference_number`, and `account_or_reference_number_as_string` are never used [INFO] [stderr] --> src/domain/report/product.rs:627:12 [INFO] [stderr] | [INFO] [stderr] 625 | impl ExistingSingleOwnedProduct { [INFO] [stderr] | ------------------------------- methods in this implementation [INFO] [stderr] 626 | /// Returns the provider as a string. [INFO] [stderr] 627 | pub fn provider_as_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 646 | pub fn tax_wrapper_type_as_full_name_brackets_string_short_name(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 653 | pub fn platform_account_number(&self) -> &Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 658 | pub fn platform_account_number_as_string(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 665 | pub fn account_or_reference_number(&self) -> &AccountOrReferenceNumberType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 670 | pub fn account_or_reference_number_as_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `provider_as_string`, `tax_wrapper_type_as_full_name_brackets_string_short_name`, `platform_account_number`, `account_or_reference_number`, and `account_or_reference_number_or_id_as_string` are never used [INFO] [stderr] --> src/domain/report/product.rs:735:12 [INFO] [stderr] | [INFO] [stderr] 733 | impl NewSingleOwnedProduct { [INFO] [stderr] | -------------------------- methods in this implementation [INFO] [stderr] 734 | /// Returns the provider as a string. [INFO] [stderr] 735 | pub fn provider_as_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 754 | pub fn tax_wrapper_type_as_full_name_brackets_string_short_name(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 761 | pub fn platform_account_number(&self) -> &Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 768 | pub fn account_or_reference_number(&self) -> &Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 773 | pub fn account_or_reference_number_or_id_as_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `account_type_as_string_short_name` is never used [INFO] [stderr] --> src/domain/report/product.rs:844:12 [INFO] [stderr] | [INFO] [stderr] 843 | impl CanBeJointlyOwnedAccountType { [INFO] [stderr] | --------------------------------- method in this implementation [INFO] [stderr] 844 | pub fn account_type_as_string_short_name(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `account_type_as_string_short_name` is never used [INFO] [stderr] --> src/domain/report/product.rs:956:12 [INFO] [stderr] | [INFO] [stderr] 955 | impl AccountType { [INFO] [stderr] | ---------------- method in this implementation [INFO] [stderr] 956 | pub fn account_type_as_string_short_name(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `actions_by_action_type` is never used [INFO] [stderr] --> src/domain/report/product.rs:2184:12 [INFO] [stderr] | [INFO] [stderr] 2174 | impl Retain { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 2184 | pub fn actions_by_action_type(&self) -> HashMap> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `rationale`, `replacement_product_information`, and `linked_objectives` are never used [INFO] [stderr] --> src/domain/report/product.rs:2350:12 [INFO] [stderr] | [INFO] [stderr] 2349 | impl FullyReplace { [INFO] [stderr] | ----------------- methods in this implementation [INFO] [stderr] 2350 | pub fn rationale(&self) -> &ConstrainedString1000 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2354 | pub fn replacement_product_information(&self) -> &ReplacementProductInformation { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2362 | pub fn linked_objectives(&self) -> &Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `method_of_transfer` is never used [INFO] [stderr] --> src/domain/report/product.rs:2389:12 [INFO] [stderr] | [INFO] [stderr] 2387 | impl FullyReplaceDetail { [INFO] [stderr] | ----------------------- method in this implementation [INFO] [stderr] 2388 | /// Returns a reference to the method of transfer. [INFO] [stderr] 2389 | pub fn method_of_transfer(&self) -> &Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `value` and `funds_to_inspecie_transfer` are never used [INFO] [stderr] --> src/domain/report/product.rs:2442:12 [INFO] [stderr] | [INFO] [stderr] 2440 | impl InSpecieMethod { [INFO] [stderr] | ------------------- methods in this implementation [INFO] [stderr] 2441 | /// Returns the total value of the in-specie transfer. [INFO] [stderr] 2442 | pub fn value(&self) -> &ConstrainedMoneyAmountLarge { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2447 | pub fn funds_to_inspecie_transfer(&self) -> &Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `value` is never used [INFO] [stderr] --> src/domain/report/product.rs:2478:12 [INFO] [stderr] | [INFO] [stderr] 2476 | impl CashMethod { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] 2477 | /// Returns the total cash value for the transfer. [INFO] [stderr] 2478 | pub fn value(&self) -> &ConstrainedMoneyAmountLarge { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `rationale`, `replacement_product_information`, and `linked_objectives` are never used [INFO] [stderr] --> src/domain/report/product.rs:2505:12 [INFO] [stderr] | [INFO] [stderr] 2503 | impl PartiallyReplace { [INFO] [stderr] | --------------------- methods in this implementation [INFO] [stderr] 2504 | /// Returns the rationale for partial replacement. [INFO] [stderr] 2505 | pub fn rationale(&self) -> &ConstrainedString1000 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2510 | pub fn replacement_product_information(&self) -> &ReplacementProductInformation { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2520 | pub fn linked_objectives(&self) -> &Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `method_of_transfer`, `amount_to_be_left_in_existing_product`, and `reason_for_leaving_in_existing_product` are never used [INFO] [stderr] --> src/domain/report/product.rs:2556:12 [INFO] [stderr] | [INFO] [stderr] 2554 | impl PartiallyReplaceDetail { [INFO] [stderr] | --------------------------- methods in this implementation [INFO] [stderr] 2555 | /// Returns a reference to the method of transfer. [INFO] [stderr] 2556 | pub fn method_of_transfer(&self) -> &Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2566 | pub fn amount_to_be_left_in_existing_product(&self) -> &ConstrainedMoneyAmountLarge { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2571 | pub fn reason_for_leaving_in_existing_product(&self) -> &ConstrainedString1000 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `executive_summary_description` and `rationale` are never used [INFO] [stderr] --> src/domain/report/product.rs:2665:12 [INFO] [stderr] | [INFO] [stderr] 2658 | impl SingleContribution { [INFO] [stderr] | ----------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 2665 | pub fn executive_summary_description(&self) -> &ConstrainedString200 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 2670 | pub fn rationale(&self) -> Option<&ConstrainedString1000> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `make_versioned_portfolio` is never used [INFO] [stderr] --> src/domain/report/investment_holdings.rs:112:10 [INFO] [stderr] | [INFO] [stderr] 112 | async fn make_versioned_portfolio( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `value` is never used [INFO] [stderr] --> src/domain/constrained_types/constrained_string_200.rs:8:12 [INFO] [stderr] | [INFO] [stderr] 7 | impl ConstrainedString200 { [INFO] [stderr] | ------------------------- method in this implementation [INFO] [stderr] 8 | pub fn value(&self) -> &String { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `value` is never used [INFO] [stderr] --> src/domain/constrained_types/retirement_age.rs:56:12 [INFO] [stderr] | [INFO] [stderr] 55 | impl RetirementAge { [INFO] [stderr] | ------------------ method in this implementation [INFO] [stderr] 56 | pub fn value(&self) -> i32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `value` is never used [INFO] [stderr] --> src/domain/constrained_types/retirement_year.rs:59:12 [INFO] [stderr] | [INFO] [stderr] 58 | impl RetirementYear { [INFO] [stderr] | ------------------- method in this implementation [INFO] [stderr] 59 | pub fn value(&self) -> i32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `value` is never used [INFO] [stderr] --> src/domain/constrained_types/meeting_date.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 8 | impl MeetingDate { [INFO] [stderr] | ---------------- method in this implementation [INFO] [stderr] 9 | /// Returns a reference to the inner date value. [INFO] [stderr] 10 | pub fn value(&self) -> &NaiveDate { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `value` is never used [INFO] [stderr] --> src/domain/constrained_types/isin.rs:8:12 [INFO] [stderr] | [INFO] [stderr] 7 | impl ISIN { [INFO] [stderr] | --------- method in this implementation [INFO] [stderr] 8 | pub fn value(&self) -> &String { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `value` is never used [INFO] [stderr] --> src/domain/constrained_types/sedol.rs:8:12 [INFO] [stderr] | [INFO] [stderr] 7 | impl Sedol { [INFO] [stderr] | ---------- method in this implementation [INFO] [stderr] 8 | pub fn value(&self) -> &String { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `value` and `formatted_day_month` are never used [INFO] [stderr] --> src/domain/constrained_types/date.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 8 | impl Date { [INFO] [stderr] | --------- methods in this implementation [INFO] [stderr] 9 | /// Returns a reference to the inner date value. [INFO] [stderr] 10 | pub fn value(&self) -> &NaiveDate { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 15 | pub fn formatted_day_month(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `value` is never used [INFO] [stderr] --> src/domain/constrained_types/tax_year.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 8 | impl TaxYear { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] 9 | /// Returns the tax year string. [INFO] [stderr] 10 | pub fn value(&self) -> &String { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/domain/find_model_portfolio.rs:7:13 [INFO] [stderr] | [INFO] [stderr] 7 | Unknown(String), [INFO] [stderr] | ------- ^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `FindOneError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 7 - Unknown(String), [INFO] [stderr] 7 + Unknown(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: enum `RepoCreateError` is never used [INFO] [stderr] --> src/driven/repository/mod.rs:125:10 [INFO] [stderr] | [INFO] [stderr] 125 | pub enum RepoCreateError { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RepoCreateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: enum `RepoFindAllError` is never used [INFO] [stderr] --> src/driven/repository/mod.rs:137:10 [INFO] [stderr] | [INFO] [stderr] 137 | pub enum RepoFindAllError { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RepoFindAllError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: enum `RepoUpdateError` is never used [INFO] [stderr] --> src/driven/repository/mod.rs:142:10 [INFO] [stderr] | [INFO] [stderr] 142 | pub enum RepoUpdateError { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RepoUpdateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: enum `RepoDeleteError` is never used [INFO] [stderr] --> src/driven/repository/mod.rs:149:10 [INFO] [stderr] | [INFO] [stderr] 149 | pub enum RepoDeleteError { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RepoDeleteError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: trait `Repository` is never used [INFO] [stderr] --> src/driven/repository/mod.rs:156:11 [INFO] [stderr] | [INFO] [stderr] 156 | pub trait Repository where T: Entity { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `gcwm-report-gen` (bin "gcwm-report-gen" test) generated 91 warnings (run `cargo fix --bin "gcwm-report-gen" --tests` to apply 44 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.33s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gcwm_report_gen-d12d582d5d0d4aa4) [INFO] [stdout] [INFO] [stdout] running 111 tests [INFO] [stdout] test domain::constrained_types::abrdn_account_number::tests::test_invalid_account_number_non_numeric ... ok [INFO] [stdout] test domain::constrained_types::abrdn_account_number::tests::test_invalid_account_number_too_long ... ok [INFO] [stdout] test domain::constrained_types::abrdn_account_number::tests::test_invalid_account_number_missing_wp ... ok [INFO] [stdout] test domain::constrained_types::abrdn_sipp_number::tests::test_invalid_length ... ok [INFO] [stdout] test domain::constrained_types::abrdn_sipp_number::tests::test_invalid_prefix ... ok [INFO] [stdout] test domain::constrained_types::abrdn_sipp_number::tests::test_non_numeric_characters ... ok [INFO] [stdout] test domain::constrained_types::abrdn_sipp_number::tests::test_valid_sipp_numbers ... ok [INFO] [stdout] test domain::constrained_types::abrdn_sipp_number::tests::test_valid_string_conversion ... ok [INFO] [stdout] test domain::constrained_types::abrdn_full_account_number::tests::test_invalid_length ... ok [INFO] [stdout] test domain::constrained_types::abrdn_account_number::tests::test_invalid_account_number_too_short ... ok [INFO] [stdout] test domain::constrained_types::abrdn_full_account_number::tests::test_invalid_characters_in_number ... ok [INFO] [stdout] test domain::constrained_types::abrdn_full_account_number::tests::test_invalid_prefix ... ok [INFO] [stdout] test domain::constrained_types::abrdn_account_number::tests::test_valid_account_number ... ok [INFO] [stdout] test domain::constrained_types::client_id::tests::test_empty_string ... ok [INFO] [stdout] test domain::constrained_types::client_id::tests::test_invalid_length ... ok [INFO] [stdout] test domain::constrained_types::client_id::tests::test_non_numeric_characters ... ok [INFO] [stdout] test domain::constrained_types::client_id::tests::test_valid_io_id ... ok [INFO] [stdout] test domain::constrained_types::client_id::tests::test_zero_padded_display ... ok [INFO] [stdout] test domain::constrained_types::client_id::tests::test_spaces_handling ... ok [INFO] [stdout] test domain::constrained_types::abrdn_full_account_number::tests::test_invalid_suffix ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_large::tests::test_exceeding_amount ... ok [INFO] [stdout] test domain::constrained_types::bank_account_numbers::tests::test_valid_bank_account_numbers ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_large::tests::test_boundary_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_large::tests::test_exceeding_string_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_large::tests::test_invalid_string_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_large::tests::test_valid_string_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_medium::tests::test_boundary_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_medium::tests::test_exceeding_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_medium::tests::test_exceeding_string_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_medium::tests::test_invalid_string_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_medium::tests::test_negative_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_medium::tests::test_valid_string_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_small::tests::test_boundary_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_small::tests::test_exceeding_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_small::tests::test_exceeding_string_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_small::tests::test_invalid_string_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_small::tests::test_negative_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_small::tests::test_valid_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_small::tests::test_valid_string_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_string_1000::tests::test_empty_str ... ok [INFO] [stdout] test domain::constrained_types::constrained_string_1000::tests::test_empty_string ... ok [INFO] [stdout] test domain::constrained_types::constrained_string_1000::tests::test_too_long_str ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_large::tests::test_negative_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_medium::tests::test_valid_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_string_1000::tests::test_too_long_string ... ok [INFO] [stdout] test domain::constrained_types::constrained_string_1000::tests::test_valid_str ... ok [INFO] [stdout] test domain::constrained_types::constrained_string_1000::tests::test_valid_string ... ok [INFO] [stdout] test domain::constrained_types::constrained_string_20::tests::test_empty_str ... ok [INFO] [stdout] test domain::constrained_types::constrained_string_20::tests::test_empty_string ... ok [INFO] [stdout] test domain::constrained_types::constrained_string_20::tests::test_too_long_str ... ok [INFO] [stdout] test domain::constrained_types::abrdn_full_account_number::tests::test_valid_full_account_numbers ... ok [INFO] [stdout] test domain::constrained_types::constrained_money_amount_large::tests::test_valid_amount ... ok [INFO] [stdout] test domain::constrained_types::constrained_string_20::tests::test_too_long_string ... ok [INFO] [stdout] test domain::constrained_types::constrained_string_20::tests::test_valid_str ... ok [INFO] [stdout] test domain::constrained_types::date::tests::test_empty_date_string ... ok [INFO] [stdout] test domain::constrained_types::date::tests::test_date_before_1900 ... ok [INFO] [stdout] test domain::constrained_types::constrained_string_20::tests::test_valid_string ... ok [INFO] [stdout] test domain::constrained_types::date::tests::test_invalid_date_format ... ok [INFO] [stdout] test domain::constrained_types::bank_account_numbers::tests::test_valid_bank_sort_codes ... ok [INFO] [stdout] test domain::constrained_types::frequency::tests::test_display ... ok [INFO] [stdout] test domain::constrained_types::fund_bonus_allocation::tests::test_invalid_fund_bonus_allocations ... ok [INFO] [stdout] test domain::constrained_types::fund_bonus_allocation::tests::test_invalid_string_fund_bonus_allocations ... ok [INFO] [stdout] test domain::constrained_types::fund_bonus_allocation::tests::test_valid_fund_bonus_allocations ... ok [INFO] [stdout] test domain::constrained_types::isin::tests::test_boundary_conditions ... ok [INFO] [stdout] test domain::constrained_types::isin::tests::test_invalid_isins ... ok [INFO] [stdout] test domain::constrained_types::isin::tests::test_valid_isins ... ok [INFO] [stdout] test domain::constrained_types::last_review_report_date::tests::test_empty_date ... ok [INFO] [stdout] test domain::constrained_types::last_review_report_date::tests::test_formatted_day_month ... ok [INFO] [stdout] test domain::constrained_types::last_review_report_date::tests::test_future_date ... ok [INFO] [stdout] test domain::constrained_types::last_review_report_date::tests::test_date_more_than_4_years_old ... ok [INFO] [stdout] test domain::constrained_types::last_review_report_date::tests::test_invalid_format ... ok [INFO] [stdout] test domain::constrained_types::date::tests::test_valid_date ... ok [INFO] [stdout] test domain::constrained_types::frequency::tests::test_try_from_string ... ok [INFO] [stdout] test domain::constrained_types::meeting_date::tests::test_date_before_2020 ... ok [INFO] [stdout] test domain::constrained_types::meeting_date::tests::test_invalid_date_format ... ok [INFO] [stdout] test domain::constrained_types::meeting_date::tests::test_valid_meeting_date ... ok [INFO] [stdout] test domain::constrained_types::name_string::tests::test_valid_names ... ok [INFO] [stdout] test domain::constrained_types::percentage::tests::test_exceeding_percentage ... ok [INFO] [stdout] test domain::constrained_types::percentage::tests::test_exceeding_string_percentage ... ok [INFO] [stdout] test domain::constrained_types::frequency::tests::test_from_str ... ok [INFO] [stdout] test domain::constrained_types::percentage::tests::test_negative_percentage ... ok [INFO] [stdout] test domain::constrained_types::percentage::tests::test_valid_percentages ... ok [INFO] [stdout] test domain::constrained_types::percentage::tests::test_valid_string_percentage ... ok [INFO] [stdout] test domain::constrained_types::product_retirement_age::tests::test_invalid_retirement_age_from_i32 ... ok [INFO] [stdout] test domain::constrained_types::product_retirement_age::tests::test_invalid_retirement_age_from_str ... ok [INFO] [stdout] test domain::constrained_types::product_retirement_age::tests::test_valid_retirement_age_from_i32 ... ok [INFO] [stdout] test domain::constrained_types::product_retirement_age::tests::test_valid_retirement_age_from_str ... ok [INFO] [stdout] test domain::constrained_types::last_review_report_date::tests::test_valid_date_within_4_years ... ok [INFO] [stdout] test domain::constrained_types::protected_tax_free_cash_entitlement::tests::test_invalid_entitlements ... ok [INFO] [stdout] test domain::constrained_types::protected_tax_free_cash_entitlement::tests::test_valid_entitlements ... ok [INFO] [stdout] test domain::constrained_types::protected_tax_free_cash_entitlement::tests::test_valid_string_entitlements ... ok [INFO] [stdout] test domain::constrained_types::sedol::tests::test_boundary_conditions ... ok [INFO] [stdout] test domain::constrained_types::sedol::tests::test_invalid_sedols ... ok [INFO] [stdout] test domain::constrained_types::sedol::tests::test_valid_sedols ... ok [INFO] [stdout] test domain::constrained_types::transact_platform_number::tests::test_invalid_format_extra_characters ... ok [INFO] [stdout] test domain::constrained_types::protected_tax_free_cash_entitlement::tests::test_invalid_string_entitlements ... ok [INFO] [stdout] test domain::constrained_types::transact_platform_number::tests::test_invalid_format_missing_parts ... ok [INFO] [stdout] test domain::constrained_types::fund_bonus_allocation::tests::test_valid_string_fund_bonus_allocations ... ok [INFO] [stdout] test domain::constrained_types::name_string::tests::test_invalid_names ... ok [INFO] [stdout] test domain::constrained_types::percentage::tests::test_invalid_string_percentage ... ok [INFO] [stdout] test domain::constrained_types::meeting_date::tests::test_empty_date_string ... ok [INFO] [stdout] test domain::constrained_types::transact_platform_number::tests::test_valid_transact_platform_numbers ... ok [INFO] [stdout] test domain::constrained_types::transact_platform_number::tests::test_valid_string_conversion ... ok [INFO] [stdout] test domain::constrained_types::transact_reference_number::tests::test_valid_string_conversion ... ok [INFO] [stdout] test domain::constrained_types::transact_reference_number::tests::test_invalid_length ... ok [INFO] [stdout] test domain::constrained_types::transact_reference_number::tests::test_invalid_prefix ... ok [INFO] [stdout] test domain::constrained_types::transact_platform_number::tests::test_invalid_format_non_numeric ... ok [INFO] [stdout] test domain::constrained_types::transact_reference_number::tests::test_non_numeric_characters ... ok [INFO] [stdout] test domain::constrained_types::transact_reference_number::tests::test_valid_reference_numbers ... ok [INFO] [stdout] test domain::constrained_types::bank_account_numbers::tests::test_invalid_bank_account_numbers ... ok [INFO] [stdout] test domain::constrained_types::bank_account_numbers::tests::test_invalid_bank_sort_codes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 111 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "cea71f8b224059304d4ea8e7d41c37adecb72b9239cb1129e611acd7812f69cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cea71f8b224059304d4ea8e7d41c37adecb72b9239cb1129e611acd7812f69cd", kill_on_drop: false }` [INFO] [stdout] cea71f8b224059304d4ea8e7d41c37adecb72b9239cb1129e611acd7812f69cd