[INFO] cloning repository https://github.com/ndorando/expenses_api
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ndorando/expenses_api" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fndorando%2Fexpenses_api", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fndorando%2Fexpenses_api'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e8e8cd8e4097c7354c128ba5c41c77bdee03765b
[INFO] checking ndorando/expenses_api against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fndorando%2Fexpenses_api" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ndorando/expenses_api
[INFO] finished tweaking git repo https://github.com/ndorando/expenses_api
[INFO] tweaked toml for git repo https://github.com/ndorando/expenses_api written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ndorando/expenses_api on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ndorando/expenses_api 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9daa166ee9da8fa667024ca4e6ff105ba0270b7edea9c0dbceebeab160475609
[INFO] running `Command { std: "docker" "start" "-a" "9daa166ee9da8fa667024ca4e6ff105ba0270b7edea9c0dbceebeab160475609", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9daa166ee9da8fa667024ca4e6ff105ba0270b7edea9c0dbceebeab160475609", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9daa166ee9da8fa667024ca4e6ff105ba0270b7edea9c0dbceebeab160475609", kill_on_drop: false }`
[INFO] [stdout] 9daa166ee9da8fa667024ca4e6ff105ba0270b7edea9c0dbceebeab160475609
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 05707f7176622e84bcdb379da3bd936e3480451f9c23a2e2d16a9b8d70e23c29
[INFO] running `Command { std: "docker" "start" "-a" "05707f7176622e84bcdb379da3bd936e3480451f9c23a2e2d16a9b8d70e23c29", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking matchit v0.8.4
[INFO] [stderr]     Checking axum-core v0.5.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling axum-macros v0.5.0
[INFO] [stderr]     Checking tokio v1.46.1
[INFO] [stderr]     Checking thiserror v2.0.16
[INFO] [stderr]     Checking tungstenite v0.26.2
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tokio-tungstenite v0.26.2
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking serde_path_to_error v0.1.17
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking uuid v1.17.0
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking h2 v0.4.11
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking hyper-util v0.1.15
[INFO] [stderr]     Checking axum v0.8.4
[INFO] [stderr]     Checking expenses_api v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ApplicationErrorType`
[INFO] [stdout]  --> src/service/command/expense_entry.rs:4:59
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::service::application_error::{ApplicationError, ApplicationErrorType};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_util::test_utility::TEST_VALID_UUID`
[INFO] [stdout]  --> src/service/command/expense_entry.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::test_util::test_utility::TEST_VALID_UUID;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ApplicationErrorType`
[INFO] [stdout]  --> src/service/command/expense_entry.rs:4:59
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::service::application_error::{ApplicationError, ApplicationErrorType};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_util::test_utility::TEST_VALID_UUID`
[INFO] [stdout]  --> src/service/command/expense_entry.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::test_util::test_utility::TEST_VALID_UUID;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/repository/sqliterepository/expense_entry.rs:53:22
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn update(&self, id: Uuid, entry: ExpenseEntry) -> Result<ExpenseEntry, ApplicationError> {
[INFO] [stdout]    |                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]   --> src/repository/sqliterepository/expense_entry.rs:53:32
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn update(&self, id: Uuid, entry: ExpenseEntry) -> Result<ExpenseEntry, ApplicationError> {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/service/command/cost_bearer.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn update(id: Uuid, dto: CostBearerNew) -> Result<CostBearer, ApplicationError> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dto`
[INFO] [stdout]   --> src/service/command/cost_bearer.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn update(id: Uuid, dto: CostBearerNew) -> Result<CostBearer, ApplicationError> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_dto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/service/command/expense_entry.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn update(&self, id: Uuid, dto: ExpenseEntryNew) -> Result<ExpenseEntry, ApplicationError> {
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dto`
[INFO] [stdout]   --> src/service/command/expense_entry.rs:15:36
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn update(&self, id: Uuid, dto: ExpenseEntryNew) -> Result<ExpenseEntry, ApplicationError> {
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/service/command/expense_type.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn update(id: Uuid, dto: ExpenseTypeNew) -> Result<ExpenseType, ApplicationError> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dto`
[INFO] [stdout]   --> src/service/command/expense_type.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn update(id: Uuid, dto: ExpenseTypeNew) -> Result<ExpenseType, ApplicationError> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_dto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid`
[INFO] [stdout]   --> src/service/expense_entry.rs:34:65
[INFO] [stdout]    |
[INFO] [stdout] 34 |             ExpenseEntryValidationError::DuplicateCostBearerIds(uuid) => ApplicationError {
[INFO] [stdout]    |                                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid`
[INFO] [stdout]   --> src/service/expense_entry.rs:38:62
[INFO] [stdout]    |
[INFO] [stdout] 38 |             ExpenseEntryValidationError::InvalidCostBearerId(uuid) => ApplicationError {
[INFO] [stdout]    |                                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid`
[INFO] [stdout]   --> src/service/expense_entry.rs:42:63
[INFO] [stdout]    |
[INFO] [stdout] 42 |             ExpenseEntryValidationError::InvalidExpenseTypeId(uuid) => ApplicationError {
[INFO] [stdout]    |                                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `id`, `name`, `exists_from`, and `exists_to` are never used
[INFO] [stdout]   --> src/domain/cost_bearer.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl CostBearer {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn id(&self) -> Uuid {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn exists_from(&self) -> DateTime<Utc> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn exists_to(&self) -> Option<DateTime<Utc>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidCostBearerId` and `InvalidExpenseTypeId` are never constructed
[INFO] [stdout]   --> src/domain/expense_entry.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum ExpenseEntryValidationError {
[INFO] [stdout]    |          --------------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     InvalidCostBearerId(Uuid),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     InvalidExpenseTypeId(Uuid),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpenseEntryValidationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `id`, `expense_date`, `cost_shares`, `expense_type`, and `description` are never used
[INFO] [stdout]    --> src/domain/expense_entry.rs:98:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl ExpenseEntry {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn id(&self) -> Uuid {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn expense_date(&self) -> DateTime<Utc> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn cost_shares(&self) -> &[CostShare] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn expense_type(&self) -> Uuid {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn description(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DuplicateName` is never constructed
[INFO] [stdout]   --> src/domain/expense_type.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ExpenseTypeValidationError {
[INFO] [stdout]    |          -------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 |     DuplicateName,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpenseTypeValidationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `id`, `name`, and `description` are never used
[INFO] [stdout]   --> src/domain/expense_type.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl ExpenseType {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn id(&self) -> Uuid {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn description(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]   --> src/service/expense_entry.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub trait ExpenseEntryWritePort {
[INFO] [stdout]    |           --------------------- method in this trait
[INFO] [stdout] 89 |     fn insert(&self, entry: ExpenseEntry) -> Result<ExpenseEntry, ApplicationError>;
[INFO] [stdout] 90 |     fn update(&self, id: Uuid, entry: ExpenseEntry) -> Result<ExpenseEntry, ApplicationError>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RepositoryErrorType` is never used
[INFO] [stdout]  --> src/service/repository_error.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum RepositoryErrorType {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RepositoryError` is never constructed
[INFO] [stdout]  --> src/service/repository_error.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct RepositoryError {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/repository/sqliterepository/expense_entry.rs:53:22
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn update(&self, id: Uuid, entry: ExpenseEntry) -> Result<ExpenseEntry, ApplicationError> {
[INFO] [stdout]    |                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry`
[INFO] [stdout]   --> src/repository/sqliterepository/expense_entry.rs:53:32
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn update(&self, id: Uuid, entry: ExpenseEntry) -> Result<ExpenseEntry, ApplicationError> {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/service/command/cost_bearer.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn update(id: Uuid, dto: CostBearerNew) -> Result<CostBearer, ApplicationError> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dto`
[INFO] [stdout]   --> src/service/command/cost_bearer.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn update(id: Uuid, dto: CostBearerNew) -> Result<CostBearer, ApplicationError> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_dto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/service/command/expense_entry.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn update(&self, id: Uuid, dto: ExpenseEntryNew) -> Result<ExpenseEntry, ApplicationError> {
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dto`
[INFO] [stdout]   --> src/service/command/expense_entry.rs:15:36
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn update(&self, id: Uuid, dto: ExpenseEntryNew) -> Result<ExpenseEntry, ApplicationError> {
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_dto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/service/command/expense_type.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn update(id: Uuid, dto: ExpenseTypeNew) -> Result<ExpenseType, ApplicationError> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dto`
[INFO] [stdout]   --> src/service/command/expense_type.rs:17:25
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn update(id: Uuid, dto: ExpenseTypeNew) -> Result<ExpenseType, ApplicationError> {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_dto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid`
[INFO] [stdout]   --> src/service/expense_entry.rs:34:65
[INFO] [stdout]    |
[INFO] [stdout] 34 |             ExpenseEntryValidationError::DuplicateCostBearerIds(uuid) => ApplicationError {
[INFO] [stdout]    |                                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid`
[INFO] [stdout]   --> src/service/expense_entry.rs:38:62
[INFO] [stdout]    |
[INFO] [stdout] 38 |             ExpenseEntryValidationError::InvalidCostBearerId(uuid) => ApplicationError {
[INFO] [stdout]    |                                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uuid`
[INFO] [stdout]   --> src/service/expense_entry.rs:42:63
[INFO] [stdout]    |
[INFO] [stdout] 42 |             ExpenseEntryValidationError::InvalidExpenseTypeId(uuid) => ApplicationError {
[INFO] [stdout]    |                                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/domain/cost_bearer.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl CostBearer {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn id(&self) -> Uuid {
[INFO] [stdout]    |            ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidCostBearerId` and `InvalidExpenseTypeId` are never constructed
[INFO] [stdout]   --> src/domain/expense_entry.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum ExpenseEntryValidationError {
[INFO] [stdout]    |          --------------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     InvalidCostBearerId(Uuid),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     InvalidExpenseTypeId(Uuid),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpenseEntryValidationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/domain/expense_entry.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl ExpenseEntry {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn id(&self) -> Uuid {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DuplicateName` is never constructed
[INFO] [stdout]   --> src/domain/expense_type.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ExpenseTypeValidationError {
[INFO] [stdout]    |          -------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 |     DuplicateName,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpenseTypeValidationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]   --> src/service/expense_entry.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub trait ExpenseEntryWritePort {
[INFO] [stdout]    |           --------------------- method in this trait
[INFO] [stdout] 89 |     fn insert(&self, entry: ExpenseEntry) -> Result<ExpenseEntry, ApplicationError>;
[INFO] [stdout] 90 |     fn update(&self, id: Uuid, entry: ExpenseEntry) -> Result<ExpenseEntry, ApplicationError>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RepositoryErrorType` is never used
[INFO] [stdout]  --> src/service/repository_error.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum RepositoryErrorType {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RepositoryError` is never constructed
[INFO] [stdout]  --> src/service/repository_error.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct RepositoryError {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]   --> src/api/cost_bearer.rs:80:24
[INFO] [stdout]    |
[INFO] [stdout] 80 |           let response = app
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 81 | |             .oneshot(request)
[INFO] [stdout] 82 | |             .await
[INFO] [stdout]    | |__________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]   --> src/api/cost_bearer.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 |             .await
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]   --> src/api/cost_bearer.rs:80:24
[INFO] [stdout]    |
[INFO] [stdout] 80 |           let response = app
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 81 | |             .oneshot(request)
[INFO] [stdout] 82 | |             .await
[INFO] [stdout]    | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/cost_bearer.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |           let response = app
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 101 | |             .oneshot(request)
[INFO] [stdout] 102 | |             .await
[INFO] [stdout]     | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/cost_bearer.rs:102:14
[INFO] [stdout]     |
[INFO] [stdout] 102 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/cost_bearer.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |           let response = app
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 101 | |             .oneshot(request)
[INFO] [stdout] 102 | |             .await
[INFO] [stdout]     | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/cost_bearer.rs:118:24
[INFO] [stdout]     |
[INFO] [stdout] 118 |           let response = app
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 119 | |             .oneshot(request)
[INFO] [stdout] 120 | |             .await
[INFO] [stdout]     | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/cost_bearer.rs:120:14
[INFO] [stdout]     |
[INFO] [stdout] 120 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/cost_bearer.rs:118:24
[INFO] [stdout]     |
[INFO] [stdout] 118 |           let response = app
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 119 | |             .oneshot(request)
[INFO] [stdout] 120 | |             .await
[INFO] [stdout]     | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]   --> src/api/expense_entry.rs:94:24
[INFO] [stdout]    |
[INFO] [stdout] 94 |           let response = app
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 95 | |             .oneshot(request)
[INFO] [stdout] 96 | |             .await
[INFO] [stdout]    | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]   --> src/api/expense_entry.rs:96:14
[INFO] [stdout]    |
[INFO] [stdout] 96 |             .await
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]   --> src/api/expense_entry.rs:94:24
[INFO] [stdout]    |
[INFO] [stdout] 94 |           let response = app
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 95 | |             .oneshot(request)
[INFO] [stdout] 96 | |             .await
[INFO] [stdout]    | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/expense_entry.rs:114:24
[INFO] [stdout]     |
[INFO] [stdout] 114 |           let response = app
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 115 | |             .oneshot(request)
[INFO] [stdout] 116 | |             .await
[INFO] [stdout]     | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/expense_entry.rs:116:14
[INFO] [stdout]     |
[INFO] [stdout] 116 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/expense_entry.rs:114:24
[INFO] [stdout]     |
[INFO] [stdout] 114 |           let response = app
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 115 | |             .oneshot(request)
[INFO] [stdout] 116 | |             .await
[INFO] [stdout]     | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/expense_entry.rs:132:24
[INFO] [stdout]     |
[INFO] [stdout] 132 |           let response = app
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 133 | |             .oneshot(request)
[INFO] [stdout] 134 | |             .await
[INFO] [stdout]     | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/expense_entry.rs:134:14
[INFO] [stdout]     |
[INFO] [stdout] 134 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/expense_entry.rs:132:24
[INFO] [stdout]     |
[INFO] [stdout] 132 |           let response = app
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 133 | |             .oneshot(request)
[INFO] [stdout] 134 | |             .await
[INFO] [stdout]     | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]   --> src/api/expense_type.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 79 |           let response = app
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 80 | |             .oneshot(request)
[INFO] [stdout] 81 | |             .await
[INFO] [stdout]    | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]   --> src/api/expense_type.rs:81:14
[INFO] [stdout]    |
[INFO] [stdout] 81 |             .await
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]   --> src/api/expense_type.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 79 |           let response = app
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 80 | |             .oneshot(request)
[INFO] [stdout] 81 | |             .await
[INFO] [stdout]    | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/expense_type.rs:99:24
[INFO] [stdout]     |
[INFO] [stdout]  99 |           let response = app
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 100 | |             .oneshot(request)
[INFO] [stdout] 101 | |             .await
[INFO] [stdout]     | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/expense_type.rs:101:14
[INFO] [stdout]     |
[INFO] [stdout] 101 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/expense_type.rs:99:24
[INFO] [stdout]     |
[INFO] [stdout]  99 |           let response = app
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 100 | |             .oneshot(request)
[INFO] [stdout] 101 | |             .await
[INFO] [stdout]     | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/expense_type.rs:117:24
[INFO] [stdout]     |
[INFO] [stdout] 117 |           let response = app
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 118 | |             .oneshot(request)
[INFO] [stdout] 119 | |             .await
[INFO] [stdout]     | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/expense_type.rs:119:14
[INFO] [stdout]     |
[INFO] [stdout] 119 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Response<Body>, Infallible>
[INFO] [stdout]    --> src/api/expense_type.rs:117:24
[INFO] [stdout]     |
[INFO] [stdout] 117 |           let response = app
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 118 | |             .oneshot(request)
[INFO] [stdout] 119 | |             .await
[INFO] [stdout]     | |__________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `expenses_api` (bin "expenses_api" test) due to 27 previous errors; 20 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "05707f7176622e84bcdb379da3bd936e3480451f9c23a2e2d16a9b8d70e23c29", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05707f7176622e84bcdb379da3bd936e3480451f9c23a2e2d16a9b8d70e23c29", kill_on_drop: false }`
[INFO] [stdout] 05707f7176622e84bcdb379da3bd936e3480451f9c23a2e2d16a9b8d70e23c29
