[INFO] cloning repository https://github.com/khieu-dv/vieshare-axum
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/khieu-dv/vieshare-axum" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhieu-dv%2Fvieshare-axum", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhieu-dv%2Fvieshare-axum'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c544f0ef25a966d7104c6e5b1d881022641f5370
[INFO] checking khieu-dv/vieshare-axum against try#54cf65b8d066c082e536455049b95943cf30378f for pr-151920
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhieu-dv%2Fvieshare-axum" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/khieu-dv/vieshare-axum
[INFO] finished tweaking git repo https://github.com/khieu-dv/vieshare-axum
[INFO] tweaked toml for git repo https://github.com/khieu-dv/vieshare-axum written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/khieu-dv/vieshare-axum on toolchain 54cf65b8d066c082e536455049b95943cf30378f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/khieu-dv/vieshare-axum 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" "+54cf65b8d066c082e536455049b95943cf30378f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] 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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ffbf68c759cd218ea9e1371e9539182d8075bdd3468d6e61d031a861c67456e4
[INFO] running `Command { std: "docker" "start" "-a" "ffbf68c759cd218ea9e1371e9539182d8075bdd3468d6e61d031a861c67456e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ffbf68c759cd218ea9e1371e9539182d8075bdd3468d6e61d031a861c67456e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ffbf68c759cd218ea9e1371e9539182d8075bdd3468d6e61d031a861c67456e4", kill_on_drop: false }`
[INFO] [stdout] ffbf68c759cd218ea9e1371e9539182d8075bdd3468d6e61d031a861c67456e4
[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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 828424b7039ea4b4d444b068dbd63f56644efde6ab474efbc10c026d306ca0b3
[INFO] running `Command { std: "docker" "start" "-a" "828424b7039ea4b4d444b068dbd63f56644efde6ab474efbc10c026d306ca0b3", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling cc v1.1.18
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling bytes v1.7.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling rustix v0.38.36
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling unicode-bidi v0.3.15
[INFO] [stderr]    Compiling unicode-segmentation v1.11.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]    Compiling tokio v1.40.0
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.60
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling indexmap v2.5.0
[INFO] [stderr]    Compiling chrono v0.4.38
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling crc v3.3.0
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling libsqlite3-sys v0.27.0
[INFO] [stderr]    Compiling openssl-sys v0.9.103
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling url v2.5.2
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling prettyplease v0.2.25
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling openssl v0.10.66
[INFO] [stderr]    Compiling axum-core v0.4.3
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling axum v0.7.5
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking winnow v0.6.18
[INFO] [stderr]    Compiling tempfile v3.12.0
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking ordered-multimap v0.6.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking headers v0.4.0
[INFO] [stderr]     Checking rust-ini v0.19.0
[INFO] [stderr]    Compiling regex-automata v0.4.7
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking pem v3.0.4
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking rustls-pki-types v1.8.0
[INFO] [stderr]     Checking bcrypt v0.15.1
[INFO] [stderr]     Checking uuid v1.16.0
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking rustls-pemfile v2.1.3
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling async-trait v0.1.82
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling regex v1.10.6
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling thiserror v1.0.63
[INFO] [stderr]    Compiling pest v2.7.12
[INFO] [stderr]     Checking simple_asn1 v0.6.2
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling validator_derive v0.18.2
[INFO] [stderr]    Compiling pest_meta v2.7.12
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]    Compiling pest_generator v2.7.12
[INFO] [stderr]    Compiling pest_derive v2.7.12
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking serde_spanned v0.6.7
[INFO] [stderr]     Checking toml_datetime v0.6.8
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_path_to_error v0.1.16
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]     Checking toml_edit v0.22.20
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking tokio-util v0.7.12
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking async-compression v0.4.12
[INFO] [stderr]     Checking h2 v0.4.6
[INFO] [stderr]     Checking tower-http v0.6.0
[INFO] [stderr]     Checking validator v0.18.1
[INFO] [stderr]     Checking jsonwebtoken v9.3.0
[INFO] [stderr]     Checking assert-json-diff v2.0.2
[INFO] [stderr]     Checking sqlx-core v0.7.4
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]     Checking toml v0.8.19
[INFO] [stderr]     Checking config v0.14.0
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]     Checking sqlx-sqlite v0.7.4
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stderr]    Compiling prost-build v0.13.5
[INFO] [stderr]    Compiling vieshare-axum v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking hyper v1.4.1
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.4
[INFO] [stderr]     Checking hyper-util v0.1.7
[INFO] [stderr]    Compiling sqlx-macros v0.7.4
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.7
[INFO] [stderr]     Checking sqlx v0.7.4
[INFO] [stderr]     Checking axum-extra v0.9.3
[INFO] [stdout] warning: unused imports: `delete`, `patch`, and `post`
[INFO] [stdout]  --> src/routes/pocketbase.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     routing::{delete, get, patch, post},
[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 imports: `delete`, `patch`, and `post`
[INFO] [stdout]  --> src/routes/pocketbase.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     routing::{delete, get, patch, post},
[INFO] [stdout]   |               ^^^^^^       ^^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InternalServerError` is never constructed
[INFO] [stdout]   --> src/errors.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 33 |     InternalServerError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `bad_request` and `not_found` are never used
[INFO] [stdout]   --> src/errors.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Error {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn bad_request() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn not_found() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `WrongCredentials`, `TokenCreation`, `InvalidToken`, and `Locked` are never constructed
[INFO] [stdout]   --> src/errors.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub enum AuthenticateError {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] 84 |     #[error("Wrong authentication credentials")]
[INFO] [stdout] 85 |     WrongCredentials,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 86 |     #[error("Failed to create authentication token")]
[INFO] [stdout] 87 |     TokenCreation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 88 |     #[error("Invalid authentication credentials")]
[INFO] [stdout] 89 |     InvalidToken,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 90 |     #[error("User is locked")]
[INFO] [stdout] 91 |     Locked,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthenticateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Token` is never constructed
[INFO] [stdout]  --> src/forms/auth.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Token {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_full_name` is never used
[INFO] [stdout]  --> src/forms/validator.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn validate_full_name(name: &str) -> Result<(), ValidationError> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `User` is never constructed
[INFO] [stdout]  --> src/models/user.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct User {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `is_password_match` are never used
[INFO] [stdout]   --> src/models/user.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl User {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new<A, B, C>(name: A, email: B, password_hash: C) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_password_match(&self, password: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PublicUser` is never constructed
[INFO] [stdout]   --> src/models/user.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct PublicUser {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash_password` is never used
[INFO] [stdout]   --> src/models/user.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub async fn hash_password<P>(password: P) -> Result<String, Error>
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BaseRecord` is never constructed
[INFO] [stdout]  --> src/models/pocketbase.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct BaseRecord {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `User` is never constructed
[INFO] [stdout]   --> src/models/pocketbase.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct User {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Category` is never constructed
[INFO] [stdout]   --> src/models/pocketbase.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Category {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Subcategory` is never constructed
[INFO] [stdout]   --> src/models/pocketbase.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct Subcategory {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Store` is never constructed
[INFO] [stdout]   --> src/models/pocketbase.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Store {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Product` is never constructed
[INFO] [stdout]   --> src/models/pocketbase.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct Product {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cart` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct Cart {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CartItem` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct CartItem {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Address` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct Address {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Order` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct Order {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Customer` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct Customer {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Notification` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct Notification {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PBListResponse` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct PBListResponse<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PBAuthResponse` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:219:12
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct PBAuthResponse<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExpandData` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:226:12
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct ExpandData {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_id` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn generate_id() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `current_timestamp` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub fn current_timestamp() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_total_pages` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn calculate_total_pages(total_items: i32, per_page: i32) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:255:12
[INFO] [stdout]     |
[INFO] [stdout] 254 | impl User {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 255 |     pub fn new(email: String, username: String, name: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:274:12
[INFO] [stdout]     |
[INFO] [stdout] 273 | impl Category {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 274 |     pub fn new(name: String, slug: String, description: Option<String>, image: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:291:12
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl Store {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 291 |     pub fn new(name: String, slug: String, user: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:315:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl Product {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 315 |     pub fn new(name: String, price: String, category: String, store: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 337 | impl Cart {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 338 |     pub fn new(user: Option<String>, session_id: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:353:12
[INFO] [stdout]     |
[INFO] [stdout] 352 | impl Address {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 353 |     pub fn new(line1: String, city: String, state: String, postal_code: String, country: String, user: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuthResponse` is never constructed
[INFO] [stdout]  --> src/models/auth.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct AuthResponse {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenDetails` is never constructed
[INFO] [stdout]   --> src/models/auth.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TokenDetails {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccessDetails` is never constructed
[INFO] [stdout]   --> src/models/auth.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct AccessDetails {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Token` is never constructed
[INFO] [stdout]   --> src/models/auth.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Token {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Claims` is never constructed
[INFO] [stdout]   --> src/models/auth.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Claims {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuthModel` is never constructed
[INFO] [stdout]   --> src/models/auth.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct AuthModel;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `create_token`, `extract_token`, `verify_token`, and `extract_token_metadata` are never used
[INFO] [stdout]    --> src/models/auth.rs:46:12
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl AuthModel {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  46 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn create_token(&self, user_id: &str) -> Result<TokenDetails, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn extract_token(&self, auth_header: Option<&str>) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn verify_token(&self, token: &str) -> Result<Claims, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn extract_token_metadata(&self, auth_header: Option<&str>) -> Result<AccessDetails, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserSessionInfo` is never constructed
[INFO] [stdout]  --> src/models/util.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct UserSessionInfo {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataList` is never constructed
[INFO] [stdout]   --> src/models/util.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct DataList<T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_meta` are never used
[INFO] [stdout]   --> src/models/util.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<T> DataList<T> {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 18 |     pub fn new(data: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn with_meta(data: T, meta: serde_json::Value) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaginationMeta` is never constructed
[INFO] [stdout]   --> src/models/util.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct PaginationMeta {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/models/util.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl PaginationMeta {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 42 |     pub fn new(page: i32, per_page: i32, total_items: i64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_offset` is never used
[INFO] [stdout]   --> src/models/util.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn calculate_offset(page: i32, per_page: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `secret` is never read
[INFO] [stdout]   --> src/settings.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Auth {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 17 |     pub secret: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Auth` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Limit` is never constructed
[INFO] [stdout]   --> src/utils/pagination.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Limit {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Offset` is never constructed
[INFO] [stdout]   --> src/utils/pagination.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Offset {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pagination` is never constructed
[INFO] [stdout]   --> src/utils/pagination.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Pagination {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InternalServerError` is never constructed
[INFO] [stdout]   --> src/errors.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 33 |     InternalServerError,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `bad_request` and `not_found` are never used
[INFO] [stdout]   --> src/errors.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Error {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn bad_request() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn not_found() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `WrongCredentials`, `TokenCreation`, `InvalidToken`, and `Locked` are never constructed
[INFO] [stdout]   --> src/errors.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub enum AuthenticateError {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] 84 |     #[error("Wrong authentication credentials")]
[INFO] [stdout] 85 |     WrongCredentials,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 86 |     #[error("Failed to create authentication token")]
[INFO] [stdout] 87 |     TokenCreation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 88 |     #[error("Invalid authentication credentials")]
[INFO] [stdout] 89 |     InvalidToken,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 90 |     #[error("User is locked")]
[INFO] [stdout] 91 |     Locked,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthenticateError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Token` is never constructed
[INFO] [stdout]  --> src/forms/auth.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Token {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_full_name` is never used
[INFO] [stdout]  --> src/forms/validator.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn validate_full_name(name: &str) -> Result<(), ValidationError> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `User` is never constructed
[INFO] [stdout]  --> src/models/user.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct User {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `is_password_match` are never used
[INFO] [stdout]   --> src/models/user.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl User {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new<A, B, C>(name: A, email: B, password_hash: C) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_password_match(&self, password: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PublicUser` is never constructed
[INFO] [stdout]   --> src/models/user.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct PublicUser {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash_password` is never used
[INFO] [stdout]   --> src/models/user.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub async fn hash_password<P>(password: P) -> Result<String, Error>
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BaseRecord` is never constructed
[INFO] [stdout]  --> src/models/pocketbase.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct BaseRecord {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `User` is never constructed
[INFO] [stdout]   --> src/models/pocketbase.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct User {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Category` is never constructed
[INFO] [stdout]   --> src/models/pocketbase.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Category {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Subcategory` is never constructed
[INFO] [stdout]   --> src/models/pocketbase.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct Subcategory {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Store` is never constructed
[INFO] [stdout]   --> src/models/pocketbase.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Store {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Product` is never constructed
[INFO] [stdout]   --> src/models/pocketbase.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct Product {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cart` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct Cart {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CartItem` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct CartItem {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Address` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct Address {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Order` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct Order {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Customer` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct Customer {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Notification` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct Notification {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PBListResponse` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct PBListResponse<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PBAuthResponse` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:219:12
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct PBAuthResponse<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExpandData` is never constructed
[INFO] [stdout]    --> src/models/pocketbase.rs:226:12
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct ExpandData {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_id` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn generate_id() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `current_timestamp` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub fn current_timestamp() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_total_pages` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:245:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub fn calculate_total_pages(total_items: i32, per_page: i32) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:255:12
[INFO] [stdout]     |
[INFO] [stdout] 254 | impl User {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 255 |     pub fn new(email: String, username: String, name: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:274:12
[INFO] [stdout]     |
[INFO] [stdout] 273 | impl Category {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 274 |     pub fn new(name: String, slug: String, description: Option<String>, image: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:291:12
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl Store {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 291 |     pub fn new(name: String, slug: String, user: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:315:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl Product {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 315 |     pub fn new(name: String, price: String, category: String, store: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 337 | impl Cart {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 338 |     pub fn new(user: Option<String>, session_id: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/models/pocketbase.rs:353:12
[INFO] [stdout]     |
[INFO] [stdout] 352 | impl Address {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 353 |     pub fn new(line1: String, city: String, state: String, postal_code: String, country: String, user: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuthResponse` is never constructed
[INFO] [stdout]  --> src/models/auth.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct AuthResponse {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenDetails` is never constructed
[INFO] [stdout]   --> src/models/auth.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TokenDetails {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccessDetails` is never constructed
[INFO] [stdout]   --> src/models/auth.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct AccessDetails {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Token` is never constructed
[INFO] [stdout]   --> src/models/auth.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Token {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Claims` is never constructed
[INFO] [stdout]   --> src/models/auth.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Claims {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuthModel` is never constructed
[INFO] [stdout]   --> src/models/auth.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct AuthModel;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `create_token`, `extract_token`, `verify_token`, and `extract_token_metadata` are never used
[INFO] [stdout]    --> src/models/auth.rs:46:12
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl AuthModel {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  46 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn create_token(&self, user_id: &str) -> Result<TokenDetails, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn extract_token(&self, auth_header: Option<&str>) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn verify_token(&self, token: &str) -> Result<Claims, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn extract_token_metadata(&self, auth_header: Option<&str>) -> Result<AccessDetails, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserSessionInfo` is never constructed
[INFO] [stdout]  --> src/models/util.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct UserSessionInfo {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataList` is never constructed
[INFO] [stdout]   --> src/models/util.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct DataList<T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_meta` are never used
[INFO] [stdout]   --> src/models/util.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<T> DataList<T> {
[INFO] [stdout]    | ------------------- associated functions in this implementation
[INFO] [stdout] 18 |     pub fn new(data: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn with_meta(data: T, meta: serde_json::Value) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PaginationMeta` is never constructed
[INFO] [stdout]   --> src/models/util.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct PaginationMeta {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/models/util.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl PaginationMeta {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 42 |     pub fn new(page: i32, per_page: i32, total_items: i64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_offset` is never used
[INFO] [stdout]   --> src/models/util.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn calculate_offset(page: i32, per_page: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `secret` is never read
[INFO] [stdout]   --> src/settings.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Auth {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 17 |     pub secret: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Auth` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Limit` is never constructed
[INFO] [stdout]   --> src/utils/pagination.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Limit {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Offset` is never constructed
[INFO] [stdout]   --> src/utils/pagination.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Offset {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pagination` is never constructed
[INFO] [stdout]   --> src/utils/pagination.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Pagination {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 34s
[INFO] running `Command { std: "docker" "inspect" "828424b7039ea4b4d444b068dbd63f56644efde6ab474efbc10c026d306ca0b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "828424b7039ea4b4d444b068dbd63f56644efde6ab474efbc10c026d306ca0b3", kill_on_drop: false }`
[INFO] [stdout] 828424b7039ea4b4d444b068dbd63f56644efde6ab474efbc10c026d306ca0b3
