[INFO] cloning repository https://github.com/ir1keren/REST-rust-starter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ir1keren/REST-rust-starter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fir1keren%2FREST-rust-starter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fir1keren%2FREST-rust-starter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7b946d2f282da58e223e833b4d0fa3c3a067c236
[INFO] checking ir1keren/REST-rust-starter against try#0bdee9e879c87b7211d316e9152109cfd46c576b for pr-150097
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fir1keren%2FREST-rust-starter" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ir1keren/REST-rust-starter
[INFO] finished tweaking git repo https://github.com/ir1keren/REST-rust-starter
[INFO] tweaked toml for git repo https://github.com/ir1keren/REST-rust-starter written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ir1keren/REST-rust-starter on toolchain 0bdee9e879c87b7211d316e9152109cfd46c576b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ir1keren/REST-rust-starter 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" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking ir1keren/REST-rust-starter against try#0bdee9e879c87b7211d316e9152109cfd46c576b for pr-150097
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fir1keren%2FREST-rust-starter" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ir1keren/REST-rust-starter
[INFO] finished tweaking git repo https://github.com/ir1keren/REST-rust-starter
[INFO] tweaked toml for git repo https://github.com/ir1keren/REST-rust-starter written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ir1keren/REST-rust-starter on toolchain 0bdee9e879c87b7211d316e9152109cfd46c576b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ir1keren/REST-rust-starter 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" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded matchers v0.2.0
[INFO] [stderr]   Downloaded utoipa v4.2.3
[INFO] [stderr]   Downloaded variadics_please v1.1.0
[INFO] [stderr]   Downloaded windows-interface v0.59.3
[INFO] [stderr]   Downloaded ntex-codec v0.6.2
[INFO] [stderr]   Downloaded env_filter v0.1.4
[INFO] [stderr]   Downloaded find-msvc-tools v0.1.4
[INFO] [stderr]   Downloaded windows-implement v0.60.2
[INFO] [stderr]   Downloaded nanorand v0.8.0
[INFO] [stderr]   Downloaded windows-strings v0.5.1
[INFO] [stderr]   Downloaded oneshot v0.1.11
[INFO] [stderr]   Downloaded windows-result v0.4.1
[INFO] [stderr]   Downloaded windows-core v0.62.2
[INFO] [stderr]   Downloaded cc v1.2.44
[INFO] [stderr]   Downloaded ntex-io v2.14.0
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.20
[INFO] [stderr]   Downloaded ntex-h2 v1.13.0
[INFO] [stderr]   Downloaded utoipa-gen v4.3.1
[INFO] [stderr]   Downloaded hashbrown v0.16.0
[INFO] [stderr]   Downloaded ntex-bytes v0.1.30
[INFO] [stderr]   Downloaded ntex-util v2.15.0
[INFO] [stderr]   Downloaded chrono v0.4.42
[INFO] [stderr]   Downloaded objc2 v0.6.3
[INFO] [stderr]   Downloaded ntex v2.16.0
[INFO] [stderr]   Downloaded nix v0.30.1
[INFO] [stderr]   Downloaded syn v2.0.108
[INFO] [stderr]   Downloaded indexmap v2.12.0
[INFO] [stderr]   Downloaded dispatch2 v0.3.0
[INFO] [stderr]   Downloaded event-listener v5.4.1
[INFO] [stderr]   Downloaded ntex-service v3.5.0
[INFO] [stderr]   Downloaded iana-time-zone v0.1.64
[INFO] [stderr]   Downloaded env_logger v0.11.8
[INFO] [stderr]   Downloaded block2 v0.6.2
[INFO] [stderr]   Downloaded objc2-encode v4.1.0
[INFO] [stderr]   Downloaded polling v3.11.0
[INFO] [stderr]   Downloaded ntex-server v2.8.1
[INFO] [stderr]   Downloaded ntex-net v2.8.1
[INFO] [stderr]   Downloaded ntex-tls v2.6.1
[INFO] [stderr]   Downloaded ntex-remove-trailing-slash v0.1.0
[INFO] [stderr]   Downloaded generic-array v0.14.9
[INFO] [stderr]   Downloaded hermit-abi v0.5.2
[INFO] [stderr]   Downloaded event-listener-strategy v0.5.4
[INFO] [stderr]   Downloaded ntex-tokio v0.5.4
[INFO] [stderr]   Downloaded ntex-macros v0.1.4
[INFO] [stderr]   Downloaded ntex-router v0.5.3
[INFO] [stderr]   Downloaded ntex-http v0.1.15
[INFO] [stderr]   Downloaded async-channel v2.5.0
[INFO] [stderr]   Downloaded ntex-rt v0.4.32
[INFO] [stderr]   Downloaded num_cpus v1.17.0
[INFO] [stderr]   Downloaded core_affinity v0.8.3
[INFO] [stderr]   Downloaded ctrlc v3.5.1
[INFO] [stderr]   Downloaded tracing-attributes v0.1.30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f8626777d11c701960be4b7b2ef7dd02f4dab1715de08c920d481f383e922dcf
[INFO] running `Command { std: "docker" "start" "-a" "f8626777d11c701960be4b7b2ef7dd02f4dab1715de08c920d481f383e922dcf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f8626777d11c701960be4b7b2ef7dd02f4dab1715de08c920d481f383e922dcf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f8626777d11c701960be4b7b2ef7dd02f4dab1715de08c920d481f383e922dcf", kill_on_drop: false }`
[INFO] [stdout] f8626777d11c701960be4b7b2ef7dd02f4dab1715de08c920d481f383e922dcf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 07d9bcedeb5a9e8f32be650e8fa75cb864a92de327011ab2196fd53659eebbc4
[INFO] running `Command { std: "docker" "start" "-a" "07d9bcedeb5a9e8f32be650e8fa75cb864a92de327011ab2196fd53659eebbc4", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling ntex-rt v0.4.32
[INFO] [stderr]     Checking oneshot v0.1.11
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling ntex-service v3.5.0
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking env_filter v0.1.4
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking nanorand v0.8.0
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking core_affinity v0.8.3
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking indexmap v2.12.0
[INFO] [stderr]    Compiling ntex-macros v0.1.4
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling variadics_please v1.1.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling utoipa-gen v4.3.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking ntex-bytes v0.1.30
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking utoipa v4.2.3
[INFO] [stderr]     Checking ntex-codec v0.6.2
[INFO] [stderr]     Checking ntex-util v2.15.0
[INFO] [stderr]     Checking ntex-http v0.1.15
[INFO] [stderr]     Checking ntex-router v0.5.3
[INFO] [stderr]     Checking ntex-io v2.14.0
[INFO] [stderr]     Checking ntex-tokio v0.5.4
[INFO] [stderr]     Checking ntex-net v2.8.1
[INFO] [stderr]     Checking ntex-tls v2.6.1
[INFO] [stderr]     Checking ntex-h2 v1.13.0
[INFO] [stderr]     Checking ntex-server v2.8.1
[INFO] [stderr]     Checking ntex v2.16.0
[INFO] [stderr]     Checking ntex-remove-trailing-slash v0.1.0
[INFO] [stderr]     Checking rust-mvc-api v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `project_service`
[INFO] [stdout]   --> src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let project_service = Arc::new(ProjectService::new(project_repository.clone()));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_service`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task_service`
[INFO] [stdout]   --> src/main.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let task_service = Arc::new(TaskService::new(task_repository, project_repository));
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_service`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `description` are never read
[INFO] [stdout]   --> src/models/project.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ProjectCreate {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 21 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 22 |     pub description: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProjectCreate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `description` are never read
[INFO] [stdout]   --> src/models/project.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ProjectUpdate {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 28 |     pub name: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 29 |     pub description: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProjectUpdate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]   --> src/models/project.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Project {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 33 |     pub fn new(name: String, description: Option<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn update(&mut self, update: ProjectUpdate) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `project_id`, `title`, and `description` are never read
[INFO] [stdout]   --> src/models/task.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct TaskCreate {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 23 |     pub project_id: Uuid,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 24 |     pub title: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 25 |     pub description: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaskCreate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `title`, `description`, and `done` are never read
[INFO] [stdout]   --> src/models/task.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct TaskUpdate {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 31 |     pub title: Option<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 32 |     pub description: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 33 |     pub done: Option<bool>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaskUpdate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]   --> src/models/task.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Task {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 37 |     pub fn new(project_id: Uuid, title: String, description: Option<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn update(&mut self, update: TaskUpdate) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `projects` is never read
[INFO] [stdout]  --> src/repositories/project_repo.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ProjectRepository {
[INFO] [stdout]   |            ----------------- field in this struct
[INFO] [stdout] 8 |     projects: RwLock<HashMap<Uuid, Project>>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ProjectRepository` 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 `create`, `find_by_id`, `find_all`, `update`, and `delete` are never used
[INFO] [stdout]   --> src/repositories/project_repo.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ProjectRepository {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn create(&self, project: Project) -> Result<Project, String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn find_by_id(&self, id: &Uuid) -> Result<Option<Project>, String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn find_all(&self) -> Result<Vec<Project>, String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn update(&self, id: &Uuid, updated_project: Project) -> Result<Option<Project>, String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn delete(&self, id: &Uuid) -> Result<bool, String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tasks` is never read
[INFO] [stdout]  --> src/repositories/task_repo.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct TaskRepository {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 8 |     tasks: RwLock<HashMap<Uuid, Task>>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TaskRepository` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/repositories/task_repo.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl TaskRepository {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn create(&self, task: Task) -> Result<Task, String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn find_by_id(&self, id: &Uuid) -> Result<Option<Task>, String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn find_all(&self) -> Result<Vec<Task>, String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn find_by_project_id(&self, project_id: &Uuid) -> Result<Vec<Task>, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn update(&self, id: &Uuid, updated_task: Task) -> Result<Option<Task>, String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn delete(&self, id: &Uuid) -> Result<bool, String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn delete_by_project_id(&self, project_id: &Uuid) -> Result<usize, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `repository` is never read
[INFO] [stdout]  --> src/services/project_service.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ProjectService {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 9 |     repository: Arc<ProjectRepository>,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ProjectService` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_project`, `get_project`, `list_projects`, `update_project`, and `delete_project` are never used
[INFO] [stdout]   --> src/services/project_service.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ProjectService {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub async fn create_project(&self, create_data: ProjectCreate) -> Result<Project, ApiError> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub async fn get_project(&self, id: Uuid) -> Result<Project, ApiError> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub async fn list_projects(&self) -> Result<Vec<Project>, ApiError> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub async fn update_project(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub async fn delete_project(&self, id: Uuid) -> Result<(), ApiError> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_repository` and `project_repository` are never read
[INFO] [stdout]   --> src/services/task_service.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct TaskService {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  9 |     task_repository: Arc<TaskRepository>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     project_repository: Arc<ProjectRepository>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaskService` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/services/task_service.rs:24:18
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl TaskService {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  24 |     pub async fn create_task(&self, create_data: TaskCreate) -> Result<Task, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub async fn get_task(&self, id: Uuid) -> Result<Task, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub async fn list_tasks(&self) -> Result<Vec<Task>, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub async fn list_tasks_by_project(&self, project_id: Uuid) -> Result<Vec<Task>, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub async fn update_task(&self, id: Uuid, update_data: TaskUpdate) -> Result<Task, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub async fn delete_task(&self, id: Uuid) -> Result<(), ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub async fn delete_tasks_by_project(&self, project_id: Uuid) -> Result<usize, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `success` and `error` are never used
[INFO] [stdout]   --> src/views/api_response.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl<T> ApiResponse<T> {
[INFO] [stdout]    | ---------------------- associated functions in this implementation
[INFO] [stdout] 26 |     pub fn success(data: T) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn error(error: ErrorResponse) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NotFound`, `BadRequest`, `ValidationError`, `InternalServerError`, and `Conflict` are never constructed
[INFO] [stdout]   --> src/views/api_response.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub enum ApiError {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 45 |     #[error("Resource not found: {resource}")]
[INFO] [stdout] 46 |     NotFound { resource: String },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     BadRequest { message: String },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     ValidationError { message: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     InternalServerError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     Conflict { message: String },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `not_found`, `bad_request`, `validation_error`, `repository_error`, and `conflict` are never used
[INFO] [stdout]   --> src/views/api_response.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl ApiError {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 65 |     pub fn not_found(resource: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn bad_request(message: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn validation_error(message: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn repository_error(message: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn conflict(message: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_service`
[INFO] [stdout]   --> src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let project_service = Arc::new(ProjectService::new(project_repository.clone()));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_service`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task_service`
[INFO] [stdout]   --> src/main.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let task_service = Arc::new(TaskService::new(task_repository, project_repository));
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_service`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `description` are never read
[INFO] [stdout]   --> src/models/project.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ProjectCreate {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 21 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 22 |     pub description: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProjectCreate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `description` are never read
[INFO] [stdout]   --> src/models/project.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ProjectUpdate {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 28 |     pub name: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 29 |     pub description: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProjectUpdate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]   --> src/models/project.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Project {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 33 |     pub fn new(name: String, description: Option<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn update(&mut self, update: ProjectUpdate) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `project_id`, `title`, and `description` are never read
[INFO] [stdout]   --> src/models/task.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct TaskCreate {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 23 |     pub project_id: Uuid,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 24 |     pub title: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 25 |     pub description: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaskCreate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `title`, `description`, and `done` are never read
[INFO] [stdout]   --> src/models/task.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct TaskUpdate {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 31 |     pub title: Option<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 32 |     pub description: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 33 |     pub done: Option<bool>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaskUpdate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]   --> src/models/task.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Task {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 37 |     pub fn new(project_id: Uuid, title: String, description: Option<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn update(&mut self, update: TaskUpdate) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `projects` is never read
[INFO] [stdout]  --> src/repositories/project_repo.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ProjectRepository {
[INFO] [stdout]   |            ----------------- field in this struct
[INFO] [stdout] 8 |     projects: RwLock<HashMap<Uuid, Project>>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ProjectRepository` 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 `create`, `find_by_id`, `find_all`, `update`, and `delete` are never used
[INFO] [stdout]   --> src/repositories/project_repo.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ProjectRepository {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn create(&self, project: Project) -> Result<Project, String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn find_by_id(&self, id: &Uuid) -> Result<Option<Project>, String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn find_all(&self) -> Result<Vec<Project>, String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn update(&self, id: &Uuid, updated_project: Project) -> Result<Option<Project>, String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn delete(&self, id: &Uuid) -> Result<bool, String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tasks` is never read
[INFO] [stdout]  --> src/repositories/task_repo.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct TaskRepository {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 8 |     tasks: RwLock<HashMap<Uuid, Task>>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TaskRepository` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/repositories/task_repo.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl TaskRepository {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn create(&self, task: Task) -> Result<Task, String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn find_by_id(&self, id: &Uuid) -> Result<Option<Task>, String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn find_all(&self) -> Result<Vec<Task>, String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn find_by_project_id(&self, project_id: &Uuid) -> Result<Vec<Task>, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn update(&self, id: &Uuid, updated_task: Task) -> Result<Option<Task>, String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn delete(&self, id: &Uuid) -> Result<bool, String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn delete_by_project_id(&self, project_id: &Uuid) -> Result<usize, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `repository` is never read
[INFO] [stdout]  --> src/services/project_service.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ProjectService {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 9 |     repository: Arc<ProjectRepository>,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ProjectService` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_project`, `get_project`, `list_projects`, `update_project`, and `delete_project` are never used
[INFO] [stdout]   --> src/services/project_service.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ProjectService {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub async fn create_project(&self, create_data: ProjectCreate) -> Result<Project, ApiError> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub async fn get_project(&self, id: Uuid) -> Result<Project, ApiError> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub async fn list_projects(&self) -> Result<Vec<Project>, ApiError> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub async fn update_project(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub async fn delete_project(&self, id: Uuid) -> Result<(), ApiError> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `task_repository` and `project_repository` are never read
[INFO] [stdout]   --> src/services/task_service.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct TaskService {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  9 |     task_repository: Arc<TaskRepository>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     project_repository: Arc<ProjectRepository>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaskService` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/services/task_service.rs:24:18
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl TaskService {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  24 |     pub async fn create_task(&self, create_data: TaskCreate) -> Result<Task, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub async fn get_task(&self, id: Uuid) -> Result<Task, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub async fn list_tasks(&self) -> Result<Vec<Task>, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub async fn list_tasks_by_project(&self, project_id: Uuid) -> Result<Vec<Task>, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub async fn update_task(&self, id: Uuid, update_data: TaskUpdate) -> Result<Task, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub async fn delete_task(&self, id: Uuid) -> Result<(), ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub async fn delete_tasks_by_project(&self, project_id: Uuid) -> Result<usize, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `success` and `error` are never used
[INFO] [stdout]   --> src/views/api_response.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl<T> ApiResponse<T> {
[INFO] [stdout]    | ---------------------- associated functions in this implementation
[INFO] [stdout] 26 |     pub fn success(data: T) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn error(error: ErrorResponse) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NotFound`, `BadRequest`, `ValidationError`, `InternalServerError`, and `Conflict` are never constructed
[INFO] [stdout]   --> src/views/api_response.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub enum ApiError {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 45 |     #[error("Resource not found: {resource}")]
[INFO] [stdout] 46 |     NotFound { resource: String },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     BadRequest { message: String },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     ValidationError { message: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     InternalServerError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     Conflict { message: String },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `not_found`, `bad_request`, `validation_error`, `repository_error`, and `conflict` are never used
[INFO] [stdout]   --> src/views/api_response.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl ApiError {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] 65 |     pub fn not_found(resource: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn bad_request(message: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn validation_error(message: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn repository_error(message: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn conflict(message: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.28s
[INFO] running `Command { std: "docker" "inspect" "07d9bcedeb5a9e8f32be650e8fa75cb864a92de327011ab2196fd53659eebbc4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07d9bcedeb5a9e8f32be650e8fa75cb864a92de327011ab2196fd53659eebbc4", kill_on_drop: false }`
[INFO] [stdout] 07d9bcedeb5a9e8f32be650e8fa75cb864a92de327011ab2196fd53659eebbc4
