[INFO] cloning repository https://github.com/AptS-1547/rust-hwsystem-next
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AptS-1547/rust-hwsystem-next" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAptS-1547%2Frust-hwsystem-next", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAptS-1547%2Frust-hwsystem-next'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b547e7b12622f7ccf1037b00e73ff3bc805d2928
[INFO] checking AptS-1547/rust-hwsystem-next against try#bac5816c5f3d02cebd0599070af62d1782530294 for pr-150408
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAptS-1547%2Frust-hwsystem-next" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AptS-1547/rust-hwsystem-next
[INFO] finished tweaking git repo https://github.com/AptS-1547/rust-hwsystem-next
[INFO] tweaked toml for git repo https://github.com/AptS-1547/rust-hwsystem-next written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AptS-1547/rust-hwsystem-next on toolchain bac5816c5f3d02cebd0599070af62d1782530294
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bac5816c5f3d02cebd0599070af62d1782530294" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AptS-1547/rust-hwsystem-next 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" "+bac5816c5f3d02cebd0599070af62d1782530294" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+bac5816c5f3d02cebd0599070af62d1782530294" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 071a65d37047d5a25daaead2eb62d78a1ec00433b2b9cd47dc1d6b948d3a34ce
[INFO] running `Command { std: "docker" "start" "-a" "071a65d37047d5a25daaead2eb62d78a1ec00433b2b9cd47dc1d6b948d3a34ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "071a65d37047d5a25daaead2eb62d78a1ec00433b2b9cd47dc1d6b948d3a34ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "071a65d37047d5a25daaead2eb62d78a1ec00433b2b9cd47dc1d6b948d3a34ce", kill_on_drop: false }`
[INFO] [stdout] 071a65d37047d5a25daaead2eb62d78a1ec00433b2b9cd47dc1d6b948d3a34ce
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+bac5816c5f3d02cebd0599070af62d1782530294" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ef494adba46f7239582d6734928cdc5709e155aac42e699104de9413fbb3cc7e
[INFO] running `Command { std: "docker" "start" "-a" "ef494adba46f7239582d6734928cdc5709e155aac42e699104de9413fbb3cc7e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling aws-lc-rs v1.13.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling rustls v0.23.29
[INFO] [stderr]     Checking indexmap v2.10.0
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling webpki-roots v1.0.1
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling cc v1.2.29
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking crc32fast v1.5.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling bytestring v1.4.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]     Checking flate2 v1.1.2
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking brotli v8.0.1
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking winnow v0.7.12
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling aws-lc-sys v0.30.0
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking gimli v0.31.1
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]     Checking toml_parser v1.0.1
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking ucd-trie v0.1.7
[INFO] [stderr]     Checking toml_writer v1.0.2
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rsa v0.9.8
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]     Checking toml_datetime v0.7.0
[INFO] [stderr]     Checking serde_spanned v1.0.0
[INFO] [stderr]     Checking addr2line v0.24.2
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]     Checking toml v0.9.2
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.4
[INFO] [stderr]     Checking rustix v1.0.7
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]     Checking uuid v1.17.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]    Compiling parse-size v1.1.0
[INFO] [stderr]    Compiling moka v0.12.10
[INFO] [stderr]     Checking rustc-demangle v0.1.25
[INFO] [stderr]    Compiling dtor-proc-macro v0.0.5
[INFO] [stderr]     Checking home v0.5.11
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking rustls-native-certs v0.8.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking yaml-rust2 v0.10.3
[INFO] [stderr]     Checking backtrace v0.3.75
[INFO] [stderr]    Compiling actix-multipart-derive v0.7.0
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking dtor v0.0.6
[INFO] [stderr]     Checking rust-ini v0.21.2
[INFO] [stderr]     Checking os_info v3.12.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking serde_plain v1.0.2
[INFO] [stderr]    Compiling serde_with_macros v3.14.0
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking pem v3.0.5
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]    Compiling ctor-proc-macro v0.0.5
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking env v1.0.1
[INFO] [stderr]     Checking human-panic v2.0.3
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking tracing-appender v0.2.3
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking ctor v0.4.2
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking actix-rt v2.10.0
[INFO] [stderr]     Checking config v0.15.13
[INFO] [stderr]     Checking actix-server v2.6.0
[INFO] [stderr]     Checking serde_with v3.14.0
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling sqlx-postgres v0.8.6
[INFO] [stderr]    Compiling sqlx-mysql v0.8.6
[INFO] [stderr]     Checking actix-http v3.11.0
[INFO] [stderr]     Checking actix-web v4.11.0
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking actix-cors v0.7.1
[INFO] [stderr]     Checking actix-multipart v0.7.2
[INFO] [stderr]     Checking tokio-rustls v0.26.2
[INFO] [stderr]     Checking redis v0.32.4
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking rust-hwsystem-next v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `HWSystemError`
[INFO] [stdout]  --> src/repository/backends/postgresql/storage/homeworks.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::errors::{HWSystemError, Result};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::common::pagination::PaginationInfo`
[INFO] [stdout]  --> src/repository/backends/postgresql/storage/homeworks.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::models::common::pagination::PaginationInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `entities::Homework` and `responses::HomeworkResponse`
[INFO] [stdout]  --> src/repository/backends/postgresql/storage/homeworks.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     entities::Homework, requests::HomeworkListQuery, responses::HomeworkListResponse,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     responses::HomeworkResponse,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TimeZone` and `Utc`
[INFO] [stdout]  --> src/repository/backends/postgresql/storage/homeworks.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{TimeZone, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/repository/backends/postgresql/storage/homeworks.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::Row`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/homeworks.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use sqlx::Row;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HWSystemError`
[INFO] [stdout]  --> src/repository/backends/sqlite/storage/homeworks.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::errors::{HWSystemError, Result};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::common::pagination::PaginationInfo`
[INFO] [stdout]  --> src/repository/backends/sqlite/storage/homeworks.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::models::common::pagination::PaginationInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `entities::Homework` and `responses::HomeworkResponse`
[INFO] [stdout]  --> src/repository/backends/sqlite/storage/homeworks.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     entities::Homework, requests::HomeworkListQuery, responses::HomeworkListResponse,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     responses::HomeworkResponse,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::Row`
[INFO] [stdout]  --> src/repository/backends/sqlite/storage/homeworks.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sqlx::Row;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HWSystemError`
[INFO] [stdout]  --> src/repository/backends/postgresql/storage/homeworks.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::errors::{HWSystemError, Result};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::common::pagination::PaginationInfo`
[INFO] [stdout]  --> src/repository/backends/postgresql/storage/homeworks.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::models::common::pagination::PaginationInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `entities::Homework` and `responses::HomeworkResponse`
[INFO] [stdout]  --> src/repository/backends/postgresql/storage/homeworks.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     entities::Homework, requests::HomeworkListQuery, responses::HomeworkListResponse,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     responses::HomeworkResponse,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TimeZone` and `Utc`
[INFO] [stdout]  --> src/repository/backends/postgresql/storage/homeworks.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{TimeZone, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/repository/backends/postgresql/storage/homeworks.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::Row`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/homeworks.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use sqlx::Row;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HWSystemError`
[INFO] [stdout]  --> src/repository/backends/sqlite/storage/homeworks.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::errors::{HWSystemError, Result};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::common::pagination::PaginationInfo`
[INFO] [stdout]  --> src/repository/backends/sqlite/storage/homeworks.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::models::common::pagination::PaginationInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `entities::Homework` and `responses::HomeworkResponse`
[INFO] [stdout]  --> src/repository/backends/sqlite/storage/homeworks.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     entities::Homework, requests::HomeworkListQuery, responses::HomeworkListResponse,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     responses::HomeworkResponse,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::Row`
[INFO] [stdout]  --> src/repository/backends/sqlite/storage/homeworks.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sqlx::Row;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/homeworks.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     storage: &PostgresqlStorage,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/homeworks.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     query: HomeworkListQuery,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/homeworks.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     storage: &PostgresqlStorage,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/homeworks.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     query: HomeworkListQuery,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/storage_impl.rs:75:34
[INFO] [stdout]    |
[INFO] [stdout] 75 |     async fn create_class(&self, class: CreateClassRequest) -> Result<Class> {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/storage_impl.rs:80:37
[INFO] [stdout]    |
[INFO] [stdout] 80 |     async fn get_class_by_id(&self, class_id: i64) -> Result<Option<Class>> {
[INFO] [stdout]    |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invite_code`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/storage_impl.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |     async fn get_class_by_code(&self, invite_code: &str) -> Result<Option<Class>> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invite_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/storage_impl.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         query: ClassListQuery,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         class_id: i64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `update`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         update: UpdateClassRequest,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:107:34
[INFO] [stdout]     |
[INFO] [stdout] 107 |     async fn delete_class(&self, class_id: i64) -> Result<bool> {
[INFO] [stdout]     |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         user_id: i64,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         class_id: i64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `role`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |         role: ClassUserRole,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_role`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:123:33
[INFO] [stdout]     |
[INFO] [stdout] 123 |     async fn leave_class(&self, user_id: i64, class_id: i64) -> Result<bool> {
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:123:47
[INFO] [stdout]     |
[INFO] [stdout] 123 |     async fn leave_class(&self, user_id: i64, class_id: i64) -> Result<bool> {
[INFO] [stdout]     |                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         class_id: i64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_user_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         class_user_id: i64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `update_data`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         update_data: UpdateClassUserRequest,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         class_id: i64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         query: ClassUserQuery,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |         user_id: i64,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         query: ClassListQuery,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         user_id: i64,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |         class_id: i64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         class_id: i64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         user_id: i64,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invite_code`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         invite_code: &str,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invite_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/storage_impl.rs:75:34
[INFO] [stdout]    |
[INFO] [stdout] 75 |     async fn create_class(&self, class: CreateClassRequest) -> Result<Class> {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/storage_impl.rs:80:37
[INFO] [stdout]    |
[INFO] [stdout] 80 |     async fn get_class_by_id(&self, class_id: i64) -> Result<Option<Class>> {
[INFO] [stdout]    |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invite_code`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/storage_impl.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |     async fn get_class_by_code(&self, invite_code: &str) -> Result<Option<Class>> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invite_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/repository/backends/postgresql/storage/storage_impl.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         query: ClassListQuery,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         class_id: i64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `update`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         update: UpdateClassRequest,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:107:34
[INFO] [stdout]     |
[INFO] [stdout] 107 |     async fn delete_class(&self, class_id: i64) -> Result<bool> {
[INFO] [stdout]     |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         user_id: i64,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         class_id: i64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `role`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |         role: ClassUserRole,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_role`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:123:33
[INFO] [stdout]     |
[INFO] [stdout] 123 |     async fn leave_class(&self, user_id: i64, class_id: i64) -> Result<bool> {
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:123:47
[INFO] [stdout]     |
[INFO] [stdout] 123 |     async fn leave_class(&self, user_id: i64, class_id: i64) -> Result<bool> {
[INFO] [stdout]     |                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         class_id: i64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_user_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         class_user_id: i64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `update_data`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         update_data: UpdateClassUserRequest,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         class_id: i64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         query: ClassUserQuery,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |         user_id: i64,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         query: ClassListQuery,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         user_id: i64,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |         class_id: i64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         class_id: i64,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         user_id: i64,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `invite_code`
[INFO] [stdout]    --> src/repository/backends/postgresql/storage/storage_impl.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         invite_code: &str,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_invite_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage`
[INFO] [stdout]   --> src/repository/backends/sqlite/storage/homeworks.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     storage: &SqliteStorage,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/repository/backends/sqlite/storage/homeworks.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     query: HomeworkListQuery,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage`
[INFO] [stdout]   --> src/repository/backends/sqlite/storage/homeworks.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     storage: &SqliteStorage,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> src/repository/backends/sqlite/storage/homeworks.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     query: HomeworkListQuery,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `invalidate_all` is never used
[INFO] [stdout]   --> src/cache/traits.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait ObjectCache: Send + Sync {
[INFO] [stdout]    |           ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 29 |     async fn invalidate_all(&self);
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TypedObjectCache` is never used
[INFO] [stdout]   --> src/cache/traits.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub trait TypedObjectCache {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_config` is never used
[INFO] [stdout]   --> src/domain/homeworks/mod.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl HomeworkService {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub(crate) fn get_config(&self) -> &AppConfig {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `serialization` and `date_parse` are never used
[INFO] [stdout]   --> src/errors.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl HWSystemError {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn serialization<T: Into<String>>(msg: T) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn date_parse<T: Into<String>>(msg: T) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/middlewares/require_class_role.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl RequireClassRole {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 63 |     /// 创建需要特定班级角色的中间件
[INFO] [stdout] 64 |     pub fn new(role: &ClassUserRole) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaginatedResponse` is never constructed
[INFO] [stdout]   --> src/models/common/pagination.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct PaginatedResponse<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NotImplemented`, `Conflict`, `ClassUpdateFailed`, and `ClassJoinForbidden` are never constructed
[INFO] [stdout]   --> src/models/common/error_code.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | pub enum ErrorCode {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     NotImplemented = 1006,      // 未实现的功能
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     Conflict = 1009,            // 冲突 (资源已存在)
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     ClassUpdateFailed = 5003,      // 班级更新失败
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     ClassJoinForbidden = 5013,     // 加入班级被禁止
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `all_roles` is never used
[INFO] [stdout]   --> src/models/users/entities.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl UserRole {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn all_roles() -> &'static [&'static UserRole] {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_access_token` and `generate_refresh_token` are never used
[INFO] [stdout]    --> src/models/users/entities.rs:157:18
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl User {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 156 |     // 生成访问令牌（使用真正的 JWT）
[INFO] [stdout] 157 |     pub async fn generate_access_token(&self) -> String {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub async fn generate_refresh_token(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `STUDENT`, `TEACHER`, `CLASSREPRESENTATIVE`, and `class_teacher_roles` are never used
[INFO] [stdout]   --> src/models/class_users/entities.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ClassUserRole {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 17 |     pub const STUDENT: &'static str = "student";
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 18 |     pub const TEACHER: &'static str = "teacher";
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 19 |     pub const CLASSREPRESENTATIVE: &'static str = "class_representative";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |
[INFO] [stdout] 21 |     pub fn class_teacher_roles() -> &'static [&'static ClassUserRole] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Homework` is never constructed
[INFO] [stdout]  --> src/models/homeworks/entities.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Homework {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pagination`, `status`, `search`, `order_by`, and `order` are never read
[INFO] [stdout]   --> src/models/homeworks/requests.rs:7:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct HomeworkListQuery {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout]  6 |     #[serde(flatten)]
[INFO] [stdout]  7 |     pub pagination: PaginationQuery,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]  8 |     pub status: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]  9 |     pub search: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 10 |     pub order_by: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 11 |     pub order: Option<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HomeworkListQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_class_by_name` is never used
[INFO] [stdout]   --> src/repository/backends/sqlite/storage/classes.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub async fn get_class_by_name(storage: &SqliteStorage, class_name: &str) -> Result<Option<Class>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `invalidate_all` is never used
[INFO] [stdout]   --> src/cache/traits.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait ObjectCache: Send + Sync {
[INFO] [stdout]    |           ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 29 |     async fn invalidate_all(&self);
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TypedObjectCache` is never used
[INFO] [stdout]   --> src/cache/traits.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub trait TypedObjectCache {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_config` is never used
[INFO] [stdout]   --> src/domain/homeworks/mod.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl HomeworkService {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub(crate) fn get_config(&self) -> &AppConfig {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `serialization` and `date_parse` are never used
[INFO] [stdout]   --> src/errors.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl HWSystemError {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn serialization<T: Into<String>>(msg: T) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn date_parse<T: Into<String>>(msg: T) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/middlewares/require_class_role.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl RequireClassRole {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 63 |     /// 创建需要特定班级角色的中间件
[INFO] [stdout] 64 |     pub fn new(role: &ClassUserRole) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaginatedResponse` is never constructed
[INFO] [stdout]   --> src/models/common/pagination.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct PaginatedResponse<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NotImplemented`, `Conflict`, `ClassUpdateFailed`, and `ClassJoinForbidden` are never constructed
[INFO] [stdout]   --> src/models/common/error_code.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | pub enum ErrorCode {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     NotImplemented = 1006,      // 未实现的功能
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     Conflict = 1009,            // 冲突 (资源已存在)
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     ClassUpdateFailed = 5003,      // 班级更新失败
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     ClassJoinForbidden = 5013,     // 加入班级被禁止
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `all_roles` is never used
[INFO] [stdout]   --> src/models/users/entities.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl UserRole {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn all_roles() -> &'static [&'static UserRole] {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_access_token` and `generate_refresh_token` are never used
[INFO] [stdout]    --> src/models/users/entities.rs:157:18
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl User {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 156 |     // 生成访问令牌（使用真正的 JWT）
[INFO] [stdout] 157 |     pub async fn generate_access_token(&self) -> String {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub async fn generate_refresh_token(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `STUDENT`, `TEACHER`, `CLASSREPRESENTATIVE`, and `class_teacher_roles` are never used
[INFO] [stdout]   --> src/models/class_users/entities.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ClassUserRole {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 17 |     pub const STUDENT: &'static str = "student";
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 18 |     pub const TEACHER: &'static str = "teacher";
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 19 |     pub const CLASSREPRESENTATIVE: &'static str = "class_representative";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |
[INFO] [stdout] 21 |     pub fn class_teacher_roles() -> &'static [&'static ClassUserRole] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Homework` is never constructed
[INFO] [stdout]  --> src/models/homeworks/entities.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Homework {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pagination`, `status`, `search`, `order_by`, and `order` are never read
[INFO] [stdout]   --> src/models/homeworks/requests.rs:7:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct HomeworkListQuery {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout]  6 |     #[serde(flatten)]
[INFO] [stdout]  7 |     pub pagination: PaginationQuery,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]  8 |     pub status: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]  9 |     pub search: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 10 |     pub order_by: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 11 |     pub order: Option<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HomeworkListQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_class_by_name` is never used
[INFO] [stdout]   --> src/repository/backends/sqlite/storage/classes.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub async fn get_class_by_name(storage: &SqliteStorage, class_name: &str) -> Result<Option<Class>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 31s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "ef494adba46f7239582d6734928cdc5709e155aac42e699104de9413fbb3cc7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef494adba46f7239582d6734928cdc5709e155aac42e699104de9413fbb3cc7e", kill_on_drop: false }`
[INFO] [stdout] ef494adba46f7239582d6734928cdc5709e155aac42e699104de9413fbb3cc7e
