[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 master#198328ad7960b1bece0dc48496bff6c62dd5d339 for pr-148477-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAptS-1547%2Frust-hwsystem-next" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/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-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AptS-1547/rust-hwsystem-next on toolchain 198328ad7960b1bece0dc48496bff6c62dd5d339
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+198328ad7960b1bece0dc48496bff6c62dd5d339" "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" "+198328ad7960b1bece0dc48496bff6c62dd5d339" "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
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded windows-threading v0.1.0
[INFO] [stderr]   Downloaded deranged v0.4.0
[INFO] [stderr]   Downloaded thread_local v1.1.9
[INFO] [stderr]   Downloaded valuable v0.1.1
[INFO] [stderr]   Downloaded serde_spanned v1.0.0
[INFO] [stderr]   Downloaded windows-future v0.2.1
[INFO] [stderr]   Downloaded security-framework-sys v2.14.0
[INFO] [stderr]   Downloaded toml v0.9.2
[INFO] [stderr]   Downloaded parse-size v1.1.0
[INFO] [stderr]   Downloaded pest_generator v2.8.1
[INFO] [stderr]   Downloaded actix-cors v0.7.1
[INFO] [stderr]   Downloaded windows-collections v0.2.0
[INFO] [stderr]   Downloaded blake2 v0.10.6
[INFO] [stderr]   Downloaded actix-multipart v0.7.2
[INFO] [stderr]   Downloaded config v0.15.13
[INFO] [stderr]   Downloaded yaml-rust2 v0.10.3
[INFO] [stderr]   Downloaded regex-lite v0.1.6
[INFO] [stderr]   Downloaded pest v2.8.1
[INFO] [stderr]   Downloaded chrono v0.4.41
[INFO] [stderr]   Downloaded actix-http v3.11.0
[INFO] [stderr]   Downloaded winnow v0.7.12
[INFO] [stderr]   Downloaded webpki-roots v1.0.1
[INFO] [stderr]   Downloaded quick-xml v0.38.0
[INFO] [stderr]   Downloaded moka v0.12.10
[INFO] [stderr]   Downloaded bindgen v0.69.5
[INFO] [stderr]   Downloaded redis v0.32.4
[INFO] [stderr]   Downloaded aws-lc-rs v1.13.2
[INFO] [stderr]   Downloaded rustls v0.23.29
[INFO] [stderr]   Downloaded sqlx v0.8.6
[INFO] [stderr]   Downloaded plist v1.7.4
[INFO] [stderr]   Downloaded serde_with v3.14.0
[INFO] [stderr]   Downloaded hkdf v0.12.4
[INFO] [stderr]   Downloaded hashbrown v0.15.4
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.19
[INFO] [stderr]   Downloaded async-trait v0.1.88
[INFO] [stderr]   Downloaded ucd-trie v0.1.7
[INFO] [stderr]   Downloaded pest_meta v2.8.1
[INFO] [stderr]   Downloaded pest_derive v2.8.1
[INFO] [stderr]   Downloaded anstream v0.6.19
[INFO] [stderr]   Downloaded toml_parser v1.0.1
[INFO] [stderr]   Downloaded num-bigint-dig v0.8.4
[INFO] [stderr]   Downloaded sqlx-core v0.8.6
[INFO] [stderr]   Downloaded zerovec v0.11.2
[INFO] [stderr]   Downloaded syn v2.0.104
[INFO] [stderr]   Downloaded password-hash v0.5.0
[INFO] [stderr]   Downloaded argon2 v0.5.3
[INFO] [stderr]   Downloaded os_info v3.12.0
[INFO] [stderr]   Downloaded human-panic v2.0.3
[INFO] [stderr]   Downloaded tokio-util v0.7.15
[INFO] [stderr]   Downloaded sqlx-postgres v0.8.6
[INFO] [stderr]   Downloaded cc v1.2.29
[INFO] [stderr]   Downloaded brotli v8.0.1
[INFO] [stderr]   Downloaded tokio v1.46.1
[INFO] [stderr]   Downloaded io-uring v0.7.8
[INFO] [stderr]   Downloaded time v0.3.41
[INFO] [stderr]   Downloaded rand v0.9.1
[INFO] [stderr]   Downloaded security-framework v3.2.0
[INFO] [stderr]   Downloaded schemars v0.9.0
[INFO] [stderr]   Downloaded sqlx-mysql v0.8.6
[INFO] [stderr]   Downloaded futures-intrusive v0.5.0
[INFO] [stderr]   Downloaded indexmap v2.10.0
[INFO] [stderr]   Downloaded idna v1.0.3
[INFO] [stderr]   Downloaded url v2.5.4
[INFO] [stderr]   Downloaded sqlx-sqlite v0.8.6
[INFO] [stderr]   Downloaded actix-multipart-derive v0.7.0
[INFO] [stderr]   Downloaded convert_case v0.4.0
[INFO] [stderr]   Downloaded actix-rt v2.10.0
[INFO] [stderr]   Downloaded ordered-multimap v0.7.3
[INFO] [stderr]   Downloaded rust-ini v0.21.2
[INFO] [stderr]   Downloaded arraydeque v0.5.1
[INFO] [stderr]   Downloaded dtor v0.0.6
[INFO] [stderr]   Downloaded ctor v0.4.2
[INFO] [stderr]   Downloaded anstyle-query v1.1.3
[INFO] [stderr]   Downloaded loom v0.7.2
[INFO] [stderr]   Downloaded schemars v1.0.4
[INFO] [stderr]   Downloaded darling_core v0.20.11
[INFO] [stderr]   Downloaded der v0.7.10
[INFO] [stderr]   Downloaded rsa v0.9.8
[INFO] [stderr]   Downloaded unicode-bidi v0.3.18
[INFO] [stderr]   Downloaded rustls-webpki v0.103.4
[INFO] [stderr]   Downloaded rustc-demangle v0.1.25
[INFO] [stderr]   Downloaded dotenv v0.15.0
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.9
[INFO] [stderr]   Downloaded toml_datetime v0.7.0
[INFO] [stderr]   Downloaded toml_writer v1.0.2
[INFO] [stderr]   Downloaded flume v0.11.1
[INFO] [stderr]   Downloaded prettyplease v0.2.35
[INFO] [stderr]   Downloaded memchr v2.7.5
[INFO] [stderr]   Downloaded serde_plain v1.0.2
[INFO] [stderr]   Downloaded bytestring v1.4.0
[INFO] [stderr]   Downloaded crunchy v0.2.4
[INFO] [stderr]   Downloaded ctor-proc-macro v0.0.5
[INFO] [stderr]   Downloaded dtor-proc-macro v0.0.5
[INFO] [stderr]   Downloaded env v1.0.1
[INFO] [stderr]   Downloaded generator v0.8.5
[INFO] [stderr]   Downloaded schannel v0.1.27
[INFO] [stderr]   Downloaded core-foundation v0.10.1
[INFO] [stderr]   Downloaded rustls-native-certs v0.8.1
[INFO] [stderr]   Downloaded tokio-rustls v0.26.2
[INFO] [stderr]   Downloaded ref-cast v1.0.24
[INFO] [stderr]   Downloaded darling v0.20.11
[INFO] [stderr]   Downloaded base64ct v1.8.0
[INFO] [stderr]   Downloaded unicode-properties v0.1.3
[INFO] [stderr]   Downloaded windows-interface v0.59.1
[INFO] [stderr]   Downloaded windows-core v0.61.2
[INFO] [stderr]   Downloaded iana-time-zone v0.1.63
[INFO] [stderr]   Downloaded hashlink v0.10.0
[INFO] [stderr]   Downloaded which v4.4.2
[INFO] [stderr]   Downloaded fs_extra v1.3.0
[INFO] [stderr]   Downloaded webpki-roots v0.26.11
[INFO] [stderr]   Downloaded potential_utf v0.1.2
[INFO] [stderr]   Downloaded redox_syscall v0.5.13
[INFO] [stderr]   Downloaded slab v0.4.10
[INFO] [stderr]   Downloaded time-core v0.1.4
[INFO] [stderr]   Downloaded time-macros v0.2.22
[INFO] [stderr]   Downloaded windows-numerics v0.2.0
[INFO] [stderr]   Downloaded sqlx-macros-core v0.8.6
[INFO] [stderr]   Downloaded pkcs1 v0.7.5
[INFO] [stderr]   Downloaded pem-rfc7468 v0.7.0
[INFO] [stderr]   Downloaded dotenvy v0.15.7
[INFO] [stderr]   Downloaded md-5 v0.10.6
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.12
[INFO] [stderr]   Downloaded home v0.5.11
[INFO] [stderr]   Downloaded thiserror v2.0.12
[INFO] [stderr]   Downloaded signal-hook-registry v1.4.5
[INFO] [stderr]   Downloaded dyn-clone v1.0.19
[INFO] [stderr]   Downloaded ref-cast-impl v1.0.24
[INFO] [stderr]   Downloaded stringprep v0.1.5
[INFO] [stderr]   Downloaded atoi v2.0.0
[INFO] [stderr]   Downloaded windows-implement v0.60.0
[INFO] [stderr]   Downloaded crc v3.3.0
[INFO] [stderr]   Downloaded tagptr v0.2.0
[INFO] [stderr]   Downloaded darling_macro v0.20.11
[INFO] [stderr]   Downloaded serde_with_macros v3.14.0
[INFO] [stderr]   Downloaded sqlx-macros v0.8.6
[INFO] [stderr]   Downloaded wasite v0.1.0
[INFO] [stderr]   Downloaded whoami v1.6.0
[INFO] [stderr]   Downloaded cmake v0.1.54
[INFO] [stderr]   Downloaded tracing-serde v0.2.0
[INFO] [stderr]   Downloaded cfg-if v1.0.1
[INFO] [stderr]   Downloaded etcetera v0.8.0
[INFO] [stderr]   Downloaded crc-catalog v2.4.0
[INFO] [stderr]   Downloaded thiserror-impl v2.0.12
[INFO] [stderr]   Downloaded tracing-appender v0.2.3
[INFO] [stderr]   Downloaded libsqlite3-sys v0.30.1
[INFO] [stderr]   Downloaded aws-lc-sys v0.30.0
[INFO] [stderr]   Downloaded windows v0.61.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+198328ad7960b1bece0dc48496bff6c62dd5d339" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6baae6242453bca675660cdc4a27bad893cde47182561c4688adf3939dcc0b11
[INFO] running `Command { std: "docker" "start" "-a" "6baae6242453bca675660cdc4a27bad893cde47182561c4688adf3939dcc0b11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6baae6242453bca675660cdc4a27bad893cde47182561c4688adf3939dcc0b11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6baae6242453bca675660cdc4a27bad893cde47182561c4688adf3939dcc0b11", kill_on_drop: false }`
[INFO] [stdout] 6baae6242453bca675660cdc4a27bad893cde47182561c4688adf3939dcc0b11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+198328ad7960b1bece0dc48496bff6c62dd5d339" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2267603511f5f06b97f42c47acf9751a4dcb9b630c4ae3b65c1aca4bb1881c83
[INFO] running `Command { std: "docker" "start" "-a" "2267603511f5f06b97f42c47acf9751a4dcb9b630c4ae3b65c1aca4bb1881c83", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking cfg-if v1.0.1
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]     Checking slab v0.4.10
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling cc v1.2.29
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling aws-lc-rs v1.13.2
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]     Checking indexmap v2.10.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]    Compiling base64ct v1.8.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling aws-lc-sys v0.30.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling rustls v0.23.29
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[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]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking zerovec v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.4
[INFO] [stderr]    Compiling webpki-roots v1.0.1
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking parking_lot v0.12.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 tiny-keccak v2.0.2
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling tinyvec v1.9.0
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]    Compiling crc v3.3.0
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling pkcs1 v0.7.5
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking crc32fast v1.5.0
[INFO] [stderr]     Checking actix-rt v2.10.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling bytestring v1.4.0
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling whoami v1.6.0
[INFO] [stderr]    Compiling regex-lite v0.1.6
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling rsa v0.9.8
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking flate2 v1.1.2
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]     Checking brotli v8.0.1
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]     Checking winnow v0.7.12
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling sqlx-postgres v0.8.6
[INFO] [stderr]     Checking toml_parser v1.0.1
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.6
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]    Compiling sqlx-mysql v0.8.6
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking cookie v0.16.2
[INFO] [stderr]     Checking actix-server v2.6.0
[INFO] [stderr]     Checking serde_spanned v1.0.0
[INFO] [stderr]     Checking toml_datetime v0.7.0
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]     Checking actix-http v3.11.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking gimli v0.31.1
[INFO] [stderr]     Checking toml_writer v1.0.2
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking actix-web v4.11.0
[INFO] [stderr]     Checking toml v0.9.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking addr2line v0.24.2
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[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]     Checking openssl-probe v0.1.6
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling dtor-proc-macro v0.0.5
[INFO] [stderr]     Checking anstyle-query v1.1.3
[INFO] [stderr]    Compiling moka v0.12.10
[INFO] [stderr]     Checking rustc-demangle v0.1.25
[INFO] [stderr]    Compiling parse-size v1.1.0
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]    Compiling actix-multipart-derive v0.7.0
[INFO] [stderr]     Checking anstream v0.6.19
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]     Checking dtor v0.0.6
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking yaml-rust2 v0.10.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking rustls-native-certs v0.8.1
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking rust-ini v0.21.2
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]    Compiling serde_with_macros v3.14.0
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking serde_plain v1.0.2
[INFO] [stderr]     Checking os_info v3.12.0
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking backtrace v0.3.75
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]    Compiling ctor-proc-macro v0.0.5
[INFO] [stderr]     Checking config v0.15.13
[INFO] [stderr]     Checking ctor v0.4.2
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking human-panic v2.0.3
[INFO] [stderr]     Checking env v1.0.1
[INFO] [stderr]     Checking serde_with v3.14.0
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking actix-multipart v0.7.2
[INFO] [stderr]     Checking tracing-appender v0.2.3
[INFO] [stderr]     Checking actix-cors v0.7.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking dotenv v0.15.0
[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: `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/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/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: `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: 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 5m 30s
[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" "2267603511f5f06b97f42c47acf9751a4dcb9b630c4ae3b65c1aca4bb1881c83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2267603511f5f06b97f42c47acf9751a4dcb9b630c4ae3b65c1aca4bb1881c83", kill_on_drop: false }`
[INFO] [stdout] 2267603511f5f06b97f42c47acf9751a4dcb9b630c4ae3b65c1aca4bb1881c83
