[INFO] cloning repository https://github.com/atova-agency/kFleet [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/atova-agency/kFleet" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatova-agency%2FkFleet", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatova-agency%2FkFleet'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 844efb837f265e7cd8d77d2721fd5ab841b9d213 [INFO] checking atova-agency/kFleet/844efb837f265e7cd8d77d2721fd5ab841b9d213 against master#da2544bfbe84df7b24d83c029c74299ebf6112c6 for pr-149681 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatova-agency%2FkFleet" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/atova-agency/kFleet [INFO] finished tweaking git repo https://github.com/atova-agency/kFleet [INFO] tweaked toml for git repo https://github.com/atova-agency/kFleet written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/atova-agency/kFleet on toolchain da2544bfbe84df7b24d83c029c74299ebf6112c6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da2544bfbe84df7b24d83c029c74299ebf6112c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/atova-agency/kFleet 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" "+da2544bfbe84df7b24d83c029c74299ebf6112c6" "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 dummy v0.8.0 [INFO] [stderr] Downloaded sdd v3.0.9 [INFO] [stderr] Downloaded fake v2.10.0 [INFO] [stderr] Downloaded axum-test v17.3.0 [INFO] [stderr] Downloaded insta v1.43.1 [INFO] [stderr] Downloaded scc v2.3.4 [INFO] [stderr] Downloaded hyper-util v0.1.15 [INFO] [stderr] Downloaded rustls v0.23.29 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+da2544bfbe84df7b24d83c029c74299ebf6112c6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 067bd034362185e8ce128988cb2de4ff9aea706c1401a4fe5361f0c114b19a29 [INFO] running `Command { std: "docker" "start" "-a" "067bd034362185e8ce128988cb2de4ff9aea706c1401a4fe5361f0c114b19a29", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "067bd034362185e8ce128988cb2de4ff9aea706c1401a4fe5361f0c114b19a29", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "067bd034362185e8ce128988cb2de4ff9aea706c1401a4fe5361f0c114b19a29", kill_on_drop: false }` [INFO] [stdout] 067bd034362185e8ce128988cb2de4ff9aea706c1401a4fe5361f0c114b19a29 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+da2544bfbe84df7b24d83c029c74299ebf6112c6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 261fb8527732a7cef3913e557b12343158f1a1aa45fc828882436579e8fd156b [INFO] running `Command { std: "docker" "start" "-a" "261fb8527732a7cef3913e557b12343158f1a1aa45fc828882436579e8fd156b", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Checking slab v0.4.10 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking signal-hook-registry v1.4.5 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Checking hashbrown v0.15.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Compiling cc v1.2.29 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling crc v3.3.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling tokio v1.46.1 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking bstr v1.12.0 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Checking phf_shared v0.11.3 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Checking getrandom v0.3.3 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking deunicode v1.6.2 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Checking unic-ucd-segment v0.9.0 [INFO] [stderr] Compiling time-core v0.1.4 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Checking anstyle-query v1.1.3 [INFO] [stderr] Checking deranged v0.4.0 [INFO] [stderr] Checking humansize v2.1.3 [INFO] [stderr] Compiling time-macros v0.2.22 [INFO] [stderr] Checking slug v0.1.6 [INFO] [stderr] Compiling cookie v0.18.1 [INFO] [stderr] Checking anstream v0.6.19 [INFO] [stderr] Checking jiff v0.2.15 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking unic-segment v0.9.0 [INFO] [stderr] Checking sdd v3.0.9 [INFO] [stderr] Checking rand v0.9.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking yansi v1.0.1 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking scc v2.3.4 [INFO] [stderr] Checking console v0.15.11 [INFO] [stderr] Checking pretty_assertions v1.4.1 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking similar v2.7.0 [INFO] [stderr] Checking auto-future v1.0.0 [INFO] [stderr] Checking time v0.3.41 [INFO] [stderr] Checking bytesize v2.0.1 [INFO] [stderr] Checking globset v0.4.16 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking ignore v0.4.23 [INFO] [stderr] Checking env_filter v0.1.3 [INFO] [stderr] Checking globwalk v0.9.1 [INFO] [stderr] Compiling parse-zoneinfo v0.3.1 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling chrono-tz-build v0.3.0 [INFO] [stderr] Compiling chrono-tz v0.9.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.20.11 [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] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling serial_test_derive v3.2.0 [INFO] [stderr] Checking env_logger v0.11.8 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling pest v2.8.1 [INFO] [stderr] Checking reserve-port v2.3.0 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Checking axum-core v0.5.2 [INFO] [stderr] Compiling zerovec v0.11.2 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling dummy v0.8.0 [INFO] [stderr] Compiling pest_meta v2.8.1 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking potential_utf v0.1.2 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking fake v2.10.0 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking rust-multipart-rfc7578_2 v0.8.0 [INFO] [stderr] Compiling pest_generator v2.8.1 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking serde_json v1.0.140 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking serde_path_to_error v0.1.17 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking serde_html_form v0.2.7 [INFO] [stderr] Checking icu_properties v2.0.1 [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 futures-intrusive v0.5.0 [INFO] [stderr] Checking serial_test v3.2.0 [INFO] [stderr] Compiling pest_derive v2.8.1 [INFO] [stderr] Checking assert-json-diff v2.0.2 [INFO] [stderr] Checking insta v1.43.1 [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 sqlx-core v0.8.6 [INFO] [stderr] Checking tera v1.20.0 [INFO] [stderr] Checking tokio-util v0.7.15 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Compiling sqlx-postgres v0.8.6 [INFO] [stderr] Checking h2 v0.4.11 [INFO] [stderr] Checking tower-http v0.6.6 [INFO] [stderr] Checking hyper v1.6.0 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Checking hyper-util v0.1.15 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Checking sqlx v0.8.6 [INFO] [stderr] Checking axum v0.8.4 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.22 [INFO] [stderr] Checking axum-extra v0.10.1 [INFO] [stderr] Checking axum-test v17.3.0 [INFO] [stderr] Checking kfleet v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/categories.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | / sqlx::query!( [INFO] [stdout] 31 | | "INSERT INTO categories (name) VALUES ($1)", [INFO] [stdout] 32 | | form.name [INFO] [stdout] 33 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/categories.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | let categories = sqlx::query_as!( [INFO] [stdout] | ______________________^ [INFO] [stdout] 52 | | Category, [INFO] [stdout] 53 | | r#" [INFO] [stdout] 54 | | SELECT [INFO] [stdout] ... | [INFO] [stdout] 62 | | "# [INFO] [stdout] 63 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/categories.rs:102:20 [INFO] [stdout] | [INFO] [stdout] 102 | let category = sqlx::query_as!( [INFO] [stdout] | ____________________^ [INFO] [stdout] 103 | | CategoryRecord, [INFO] [stdout] 104 | | "SELECT id, name FROM categories WHERE id = $1", [INFO] [stdout] 105 | | id [INFO] [stdout] 106 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/categories.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | / sqlx::query!( [INFO] [stdout] 130 | | "UPDATE categories SET name = $1 WHERE id = $2", [INFO] [stdout] 131 | | form.name, [INFO] [stdout] 132 | | id [INFO] [stdout] 133 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/categories.rs:153:32 [INFO] [stdout] | [INFO] [stdout] 153 | let equipment_count: i64 = sqlx::query_scalar!( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 154 | | "SELECT COUNT(*) FROM equipment WHERE category_id = $1", [INFO] [stdout] 155 | | id [INFO] [stdout] 156 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/categories.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | / sqlx::query!( [INFO] [stdout] 171 | | "DELETE FROM categories WHERE id = $1", [INFO] [stdout] 172 | | id [INFO] [stdout] 173 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/equipment.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | / sqlx::query!( [INFO] [stdout] 75 | | r#" [INFO] [stdout] 76 | | INSERT INTO equipment ( [INFO] [stdout] 77 | | name, brand, model, serial_number, acquisition_date, [INFO] [stdout] ... | [INFO] [stdout] 91 | | form.status [INFO] [stdout] 92 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/equipment.rs:111:21 [INFO] [stdout] | [INFO] [stdout] 111 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 112 | | Equipment, [INFO] [stdout] 113 | | r#" [INFO] [stdout] 114 | | SELECT [INFO] [stdout] ... | [INFO] [stdout] 122 | | "# [INFO] [stdout] 123 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/equipment.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 179 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 180 | | Equipment, [INFO] [stdout] 181 | | r#" [INFO] [stdout] 182 | | SELECT [INFO] [stdout] ... | [INFO] [stdout] 191 | | id [INFO] [stdout] 192 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/equipment.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | / sqlx::query!( [INFO] [stdout] 226 | | r#" [INFO] [stdout] 227 | | UPDATE equipment SET [INFO] [stdout] 228 | | name = $1, [INFO] [stdout] ... | [INFO] [stdout] 250 | | id [INFO] [stdout] 251 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/equipment.rs:303:5 [INFO] [stdout] | [INFO] [stdout] 303 | / sqlx::query!( [INFO] [stdout] 304 | | "DELETE FROM equipment WHERE id = $1", [INFO] [stdout] 305 | | id [INFO] [stdout] 306 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/equipment.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 320 | / sqlx::query_as!( [INFO] [stdout] 321 | | Category, [INFO] [stdout] 322 | | "SELECT id, name FROM categories ORDER BY name" [INFO] [stdout] 323 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:57:20 [INFO] [stdout] | [INFO] [stdout] 57 | let staff_id = sqlx::query!( [INFO] [stdout] | ____________________^ [INFO] [stdout] 58 | | r#" [INFO] [stdout] 59 | | INSERT INTO staff (full_name, contact_info, license_number) [INFO] [stdout] 60 | | VALUES ($1, $2, $3) [INFO] [stdout] ... | [INFO] [stdout] 65 | | form.license_number, [INFO] [stdout] 66 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | let staff = sqlx::query!( [INFO] [stdout] | _________________^ [INFO] [stdout] 90 | | r#" [INFO] [stdout] 91 | | SELECT [INFO] [stdout] 92 | | s.id, [INFO] [stdout] ... | [INFO] [stdout] 105 | | "# [INFO] [stdout] 106 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:134:21 [INFO] [stdout] | [INFO] [stdout] 134 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 135 | | EquipmentShort, [INFO] [stdout] 136 | | "SELECT id, name, brand, model, current_status as \"status!\" FROM equipment ORDER BY name" [INFO] [stdout] 137 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | let staff = sqlx::query_as!( [INFO] [stdout] | _________________^ [INFO] [stdout] 170 | | StaffRecord, [INFO] [stdout] 171 | | "SELECT id, full_name, contact_info, license_number FROM staff WHERE id = $1", [INFO] [stdout] 172 | | id [INFO] [stdout] 173 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 182 | | EquipmentShort, [INFO] [stdout] 183 | | "SELECT id, name, brand, model, current_status as \"status!\" FROM equipment ORDER BY name" [INFO] [stdout] 184 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:189:30 [INFO] [stdout] | [INFO] [stdout] 189 | let assigned_equipment = sqlx::query!( [INFO] [stdout] | ______________________________^ [INFO] [stdout] 190 | | "SELECT equipment_id FROM equipment_operator WHERE operator_id = $1", [INFO] [stdout] 191 | | id [INFO] [stdout] 192 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | / sqlx::query!( [INFO] [stdout] 220 | | r#" [INFO] [stdout] 221 | | UPDATE staff SET [INFO] [stdout] 222 | | full_name = $1, [INFO] [stdout] ... | [INFO] [stdout] 230 | | id [INFO] [stdout] 231 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:254:33 [INFO] [stdout] | [INFO] [stdout] 254 | let assignment_count: i64 = sqlx::query_scalar!( [INFO] [stdout] | _________________________________^ [INFO] [stdout] 255 | | "SELECT COUNT(*) FROM equipment_operator WHERE operator_id = $1", [INFO] [stdout] 256 | | id [INFO] [stdout] 257 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | / sqlx::query!( [INFO] [stdout] 269 | | "DELETE FROM staff WHERE id = $1", [INFO] [stdout] 270 | | id [INFO] [stdout] 271 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:289:5 [INFO] [stdout] | [INFO] [stdout] 289 | / sqlx::query!( [INFO] [stdout] 290 | | "DELETE FROM equipment_operator WHERE operator_id = $1", [INFO] [stdout] 291 | | staff_id [INFO] [stdout] 292 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | / sqlx::query!( [INFO] [stdout] 299 | | "INSERT INTO equipment_operator (operator_id, equipment_id) VALUES ($1, $2)", [INFO] [stdout] 300 | | staff_id, [INFO] [stdout] 301 | | equipment_id [INFO] [stdout] 302 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/lib.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 119 | let status_counts = sqlx::query_as!( [INFO] [stdout] | _________________________^ [INFO] [stdout] 120 | | StatusCounts, [INFO] [stdout] 121 | | r#"SELECT [INFO] [stdout] 122 | | COALESCE(COUNT(*) FILTER (WHERE current_status = 'active'), 0) as "active!", [INFO] [stdout] ... | [INFO] [stdout] 125 | | FROM equipment"# [INFO] [stdout] 126 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/lib.rs:135:30 [INFO] [stdout] | [INFO] [stdout] 135 | let maintenance_alerts = sqlx::query_as!( [INFO] [stdout] | ______________________________^ [INFO] [stdout] 136 | | MaintenanceAlert, [INFO] [stdout] 137 | | r#"SELECT name, next_maintenance [INFO] [stdout] 138 | | FROM equipment [INFO] [stdout] ... | [INFO] [stdout] 142 | | LIMIT 5"# [INFO] [stdout] 143 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/lib.rs:152:28 [INFO] [stdout] | [INFO] [stdout] 152 | let insurance_alerts = sqlx::query_as!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 153 | | InsuranceAlert, [INFO] [stdout] 154 | | r#"SELECT name, insurance_renewal [INFO] [stdout] 155 | | FROM equipment [INFO] [stdout] ... | [INFO] [stdout] 159 | | LIMIT 5"# [INFO] [stdout] 160 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/lib.rs:169:28 [INFO] [stdout] | [INFO] [stdout] 169 | let recent_equipment = sqlx::query_as!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 170 | | RecentEquipment, [INFO] [stdout] 171 | | r#"SELECT [INFO] [stdout] 172 | | e.name, [INFO] [stdout] ... | [INFO] [stdout] 180 | | LIMIT 6"# [INFO] [stdout] 181 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/lib.rs:190:30 [INFO] [stdout] | [INFO] [stdout] 190 | let recent_maintenance = sqlx::query_as!( [INFO] [stdout] | ______________________________^ [INFO] [stdout] 191 | | RecentMaintenance, [INFO] [stdout] 192 | | r#"SELECT [INFO] [stdout] 193 | | m.maintenance_date as "maintenance_date!", [INFO] [stdout] ... | [INFO] [stdout] 200 | | LIMIT 5"# [INFO] [stdout] 201 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/categories.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | / sqlx::query!( [INFO] [stdout] 31 | | "INSERT INTO categories (name) VALUES ($1)", [INFO] [stdout] 32 | | form.name [INFO] [stdout] 33 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/categories.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | let categories = sqlx::query_as!( [INFO] [stdout] | ______________________^ [INFO] [stdout] 52 | | Category, [INFO] [stdout] 53 | | r#" [INFO] [stdout] 54 | | SELECT [INFO] [stdout] ... | [INFO] [stdout] 62 | | "# [INFO] [stdout] 63 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/categories.rs:102:20 [INFO] [stdout] | [INFO] [stdout] 102 | let category = sqlx::query_as!( [INFO] [stdout] | ____________________^ [INFO] [stdout] 103 | | CategoryRecord, [INFO] [stdout] 104 | | "SELECT id, name FROM categories WHERE id = $1", [INFO] [stdout] 105 | | id [INFO] [stdout] 106 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/categories.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | / sqlx::query!( [INFO] [stdout] 130 | | "UPDATE categories SET name = $1 WHERE id = $2", [INFO] [stdout] 131 | | form.name, [INFO] [stdout] 132 | | id [INFO] [stdout] 133 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/categories.rs:153:32 [INFO] [stdout] | [INFO] [stdout] 153 | let equipment_count: i64 = sqlx::query_scalar!( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 154 | | "SELECT COUNT(*) FROM equipment WHERE category_id = $1", [INFO] [stdout] 155 | | id [INFO] [stdout] 156 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/categories.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | / sqlx::query!( [INFO] [stdout] 171 | | "DELETE FROM categories WHERE id = $1", [INFO] [stdout] 172 | | id [INFO] [stdout] 173 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PgPool` [INFO] [stdout] --> src/handlers/staff.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | use sqlx::{FromRow, PgPool}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/equipment.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | / sqlx::query!( [INFO] [stdout] 75 | | r#" [INFO] [stdout] 76 | | INSERT INTO equipment ( [INFO] [stdout] 77 | | name, brand, model, serial_number, acquisition_date, [INFO] [stdout] ... | [INFO] [stdout] 91 | | form.status [INFO] [stdout] 92 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/equipment.rs:111:21 [INFO] [stdout] | [INFO] [stdout] 111 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 112 | | Equipment, [INFO] [stdout] 113 | | r#" [INFO] [stdout] 114 | | SELECT [INFO] [stdout] ... | [INFO] [stdout] 122 | | "# [INFO] [stdout] 123 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/equipment.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 179 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 180 | | Equipment, [INFO] [stdout] 181 | | r#" [INFO] [stdout] 182 | | SELECT [INFO] [stdout] ... | [INFO] [stdout] 191 | | id [INFO] [stdout] 192 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/equipment.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | / sqlx::query!( [INFO] [stdout] 226 | | r#" [INFO] [stdout] 227 | | UPDATE equipment SET [INFO] [stdout] 228 | | name = $1, [INFO] [stdout] ... | [INFO] [stdout] 250 | | id [INFO] [stdout] 251 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/equipment.rs:303:5 [INFO] [stdout] | [INFO] [stdout] 303 | / sqlx::query!( [INFO] [stdout] 304 | | "DELETE FROM equipment WHERE id = $1", [INFO] [stdout] 305 | | id [INFO] [stdout] 306 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/equipment.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 320 | / sqlx::query_as!( [INFO] [stdout] 321 | | Category, [INFO] [stdout] 322 | | "SELECT id, name FROM categories ORDER BY name" [INFO] [stdout] 323 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:57:20 [INFO] [stdout] | [INFO] [stdout] 57 | let staff_id = sqlx::query!( [INFO] [stdout] | ____________________^ [INFO] [stdout] 58 | | r#" [INFO] [stdout] 59 | | INSERT INTO staff (full_name, contact_info, license_number) [INFO] [stdout] 60 | | VALUES ($1, $2, $3) [INFO] [stdout] ... | [INFO] [stdout] 65 | | form.license_number, [INFO] [stdout] 66 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | let staff = sqlx::query!( [INFO] [stdout] | _________________^ [INFO] [stdout] 90 | | r#" [INFO] [stdout] 91 | | SELECT [INFO] [stdout] 92 | | s.id, [INFO] [stdout] ... | [INFO] [stdout] 105 | | "# [INFO] [stdout] 106 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:134:21 [INFO] [stdout] | [INFO] [stdout] 134 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 135 | | EquipmentShort, [INFO] [stdout] 136 | | "SELECT id, name, brand, model, current_status as \"status!\" FROM equipment ORDER BY name" [INFO] [stdout] 137 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | let staff = sqlx::query_as!( [INFO] [stdout] | _________________^ [INFO] [stdout] 170 | | StaffRecord, [INFO] [stdout] 171 | | "SELECT id, full_name, contact_info, license_number FROM staff WHERE id = $1", [INFO] [stdout] 172 | | id [INFO] [stdout] 173 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 182 | | EquipmentShort, [INFO] [stdout] 183 | | "SELECT id, name, brand, model, current_status as \"status!\" FROM equipment ORDER BY name" [INFO] [stdout] 184 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:189:30 [INFO] [stdout] | [INFO] [stdout] 189 | let assigned_equipment = sqlx::query!( [INFO] [stdout] | ______________________________^ [INFO] [stdout] 190 | | "SELECT equipment_id FROM equipment_operator WHERE operator_id = $1", [INFO] [stdout] 191 | | id [INFO] [stdout] 192 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | / sqlx::query!( [INFO] [stdout] 220 | | r#" [INFO] [stdout] 221 | | UPDATE staff SET [INFO] [stdout] 222 | | full_name = $1, [INFO] [stdout] ... | [INFO] [stdout] 230 | | id [INFO] [stdout] 231 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:254:33 [INFO] [stdout] | [INFO] [stdout] 254 | let assignment_count: i64 = sqlx::query_scalar!( [INFO] [stdout] | _________________________________^ [INFO] [stdout] 255 | | "SELECT COUNT(*) FROM equipment_operator WHERE operator_id = $1", [INFO] [stdout] 256 | | id [INFO] [stdout] 257 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | / sqlx::query!( [INFO] [stdout] 269 | | "DELETE FROM staff WHERE id = $1", [INFO] [stdout] 270 | | id [INFO] [stdout] 271 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:289:5 [INFO] [stdout] | [INFO] [stdout] 289 | / sqlx::query!( [INFO] [stdout] 290 | | "DELETE FROM equipment_operator WHERE operator_id = $1", [INFO] [stdout] 291 | | staff_id [INFO] [stdout] 292 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/handlers/staff.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | / sqlx::query!( [INFO] [stdout] 299 | | "INSERT INTO equipment_operator (operator_id, equipment_id) VALUES ($1, $2)", [INFO] [stdout] 300 | | staff_id, [INFO] [stdout] 301 | | equipment_id [INFO] [stdout] 302 | | ) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/lib.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 119 | let status_counts = sqlx::query_as!( [INFO] [stdout] | _________________________^ [INFO] [stdout] 120 | | StatusCounts, [INFO] [stdout] 121 | | r#"SELECT [INFO] [stdout] 122 | | COALESCE(COUNT(*) FILTER (WHERE current_status = 'active'), 0) as "active!", [INFO] [stdout] ... | [INFO] [stdout] 125 | | FROM equipment"# [INFO] [stdout] 126 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/lib.rs:135:30 [INFO] [stdout] | [INFO] [stdout] 135 | let maintenance_alerts = sqlx::query_as!( [INFO] [stdout] | ______________________________^ [INFO] [stdout] 136 | | MaintenanceAlert, [INFO] [stdout] 137 | | r#"SELECT name, next_maintenance [INFO] [stdout] 138 | | FROM equipment [INFO] [stdout] ... | [INFO] [stdout] 142 | | LIMIT 5"# [INFO] [stdout] 143 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/lib.rs:152:28 [INFO] [stdout] | [INFO] [stdout] 152 | let insurance_alerts = sqlx::query_as!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 153 | | InsuranceAlert, [INFO] [stdout] 154 | | r#"SELECT name, insurance_renewal [INFO] [stdout] 155 | | FROM equipment [INFO] [stdout] ... | [INFO] [stdout] 159 | | LIMIT 5"# [INFO] [stdout] 160 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/lib.rs:169:28 [INFO] [stdout] | [INFO] [stdout] 169 | let recent_equipment = sqlx::query_as!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 170 | | RecentEquipment, [INFO] [stdout] 171 | | r#"SELECT [INFO] [stdout] 172 | | e.name, [INFO] [stdout] ... | [INFO] [stdout] 180 | | LIMIT 6"# [INFO] [stdout] 181 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache [INFO] [stdout] --> src/lib.rs:190:30 [INFO] [stdout] | [INFO] [stdout] 190 | let recent_maintenance = sqlx::query_as!( [INFO] [stdout] | ______________________________^ [INFO] [stdout] 191 | | RecentMaintenance, [INFO] [stdout] 192 | | r#"SELECT [INFO] [stdout] 193 | | m.maintenance_date as "maintenance_date!", [INFO] [stdout] ... | [INFO] [stdout] 200 | | LIMIT 5"# [INFO] [stdout] 201 | | ) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PgPool` [INFO] [stdout] --> src/handlers/staff.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | use sqlx::{FromRow, PgPool}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | / sqlx::query!( [INFO] [stdout] 31 | | "INSERT INTO categories (name) VALUES ($1)", [INFO] [stdout] 32 | | form.name [INFO] [stdout] ... | [INFO] [stdout] 35 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 37 | warn!("Category creation failed: {}", e); [INFO] [stdout] 38 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 36 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | let categories = sqlx::query_as!( [INFO] [stdout] | ______________________^ [INFO] [stdout] 52 | | Category, [INFO] [stdout] 53 | | r#" [INFO] [stdout] 54 | | SELECT [INFO] [stdout] ... | [INFO] [stdout] 64 | | .fetch_all(&state.db) [INFO] [stdout] 65 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 67 | warn!("Failed to fetch categories: {}", e); [INFO] [stdout] 68 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 66 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:102:20 [INFO] [stdout] | [INFO] [stdout] 102 | let category = sqlx::query_as!( [INFO] [stdout] | ____________________^ [INFO] [stdout] 103 | | CategoryRecord, [INFO] [stdout] 104 | | "SELECT id, name FROM categories WHERE id = $1", [INFO] [stdout] 105 | | id [INFO] [stdout] 106 | | ) [INFO] [stdout] 107 | | .fetch_one(&state.db) [INFO] [stdout] 108 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:109:15 [INFO] [stdout] | [INFO] [stdout] 109 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 110 | warn!("Category {} not found: {}", id, e); [INFO] [stdout] 111 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 109 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | / sqlx::query!( [INFO] [stdout] 130 | | "UPDATE categories SET name = $1 WHERE id = $2", [INFO] [stdout] 131 | | form.name, [INFO] [stdout] 132 | | id [INFO] [stdout] 133 | | ) [INFO] [stdout] 134 | | .execute(&state.db) [INFO] [stdout] 135 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:136:15 [INFO] [stdout] | [INFO] [stdout] 136 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 137 | warn!("Category update failed: {}", e); [INFO] [stdout] 138 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 136 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:153:32 [INFO] [stdout] | [INFO] [stdout] 153 | let equipment_count: i64 = sqlx::query_scalar!( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 154 | | "SELECT COUNT(*) FROM equipment WHERE category_id = $1", [INFO] [stdout] 155 | | id [INFO] [stdout] ... | [INFO] [stdout] 158 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:159:15 [INFO] [stdout] | [INFO] [stdout] 159 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 160 | warn!("Category deletion check failed: {}", e); [INFO] [stdout] 161 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 159 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | / sqlx::query!( [INFO] [stdout] 171 | | "DELETE FROM categories WHERE id = $1", [INFO] [stdout] 172 | | id [INFO] [stdout] ... | [INFO] [stdout] 175 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:176:15 [INFO] [stdout] | [INFO] [stdout] 176 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 177 | warn!("Category deletion failed: {}", e); [INFO] [stdout] 178 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 176 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | / sqlx::query!( [INFO] [stdout] 75 | | r#" [INFO] [stdout] 76 | | INSERT INTO equipment ( [INFO] [stdout] 77 | | name, brand, model, serial_number, acquisition_date, [INFO] [stdout] ... | [INFO] [stdout] 93 | | .execute(&state.db) [INFO] [stdout] 94 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:95:15 [INFO] [stdout] | [INFO] [stdout] 95 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 96 | error!("Equipment creation failed: {}", e); [INFO] [stdout] 97 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 95 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:111:21 [INFO] [stdout] | [INFO] [stdout] 111 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 112 | | Equipment, [INFO] [stdout] 113 | | r#" [INFO] [stdout] 114 | | SELECT [INFO] [stdout] ... | [INFO] [stdout] 124 | | .fetch_all(&state.db) [INFO] [stdout] 125 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 127 | error!("Failed to fetch equipment: {}", e); [INFO] [stdout] 128 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 126 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | / sqlx::query!( [INFO] [stdout] 31 | | "INSERT INTO categories (name) VALUES ($1)", [INFO] [stdout] 32 | | form.name [INFO] [stdout] ... | [INFO] [stdout] 35 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 37 | warn!("Category creation failed: {}", e); [INFO] [stdout] 38 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 36 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | let categories = sqlx::query_as!( [INFO] [stdout] | ______________________^ [INFO] [stdout] 52 | | Category, [INFO] [stdout] 53 | | r#" [INFO] [stdout] 54 | | SELECT [INFO] [stdout] ... | [INFO] [stdout] 64 | | .fetch_all(&state.db) [INFO] [stdout] 65 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 67 | warn!("Failed to fetch categories: {}", e); [INFO] [stdout] 68 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 66 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 179 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 180 | | Equipment, [INFO] [stdout] 181 | | r#" [INFO] [stdout] 182 | | SELECT [INFO] [stdout] ... | [INFO] [stdout] 193 | | .fetch_one(&state.db) [INFO] [stdout] 194 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:195:15 [INFO] [stdout] | [INFO] [stdout] 195 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 196 | warn!("Equipment {} not found: {}", id, e); [INFO] [stdout] 197 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 195 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | / sqlx::query!( [INFO] [stdout] 226 | | r#" [INFO] [stdout] 227 | | UPDATE equipment SET [INFO] [stdout] 228 | | name = $1, [INFO] [stdout] ... | [INFO] [stdout] 252 | | .execute(&state.db) [INFO] [stdout] 253 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:254:15 [INFO] [stdout] | [INFO] [stdout] 254 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 255 | error!("Equipment update failed: {}", e); [INFO] [stdout] 256 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 254 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:303:5 [INFO] [stdout] | [INFO] [stdout] 303 | / sqlx::query!( [INFO] [stdout] 304 | | "DELETE FROM equipment WHERE id = $1", [INFO] [stdout] 305 | | id [INFO] [stdout] ... | [INFO] [stdout] 308 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:309:15 [INFO] [stdout] | [INFO] [stdout] 309 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 310 | error!("Equipment deletion failed: {}", e); [INFO] [stdout] 311 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 309 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 320 | / sqlx::query_as!( [INFO] [stdout] 321 | | Category, [INFO] [stdout] 322 | | "SELECT id, name FROM categories ORDER BY name" [INFO] [stdout] ... | [INFO] [stdout] 325 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:326:15 [INFO] [stdout] | [INFO] [stdout] 326 | .map_err(|e| e.to_string()) [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 326 | .map_err(|e: /* Type */| e.to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:102:20 [INFO] [stdout] | [INFO] [stdout] 102 | let category = sqlx::query_as!( [INFO] [stdout] | ____________________^ [INFO] [stdout] 103 | | CategoryRecord, [INFO] [stdout] 104 | | "SELECT id, name FROM categories WHERE id = $1", [INFO] [stdout] 105 | | id [INFO] [stdout] 106 | | ) [INFO] [stdout] 107 | | .fetch_one(&state.db) [INFO] [stdout] 108 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:109:15 [INFO] [stdout] | [INFO] [stdout] 109 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 110 | warn!("Category {} not found: {}", id, e); [INFO] [stdout] 111 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 109 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | / sqlx::query!( [INFO] [stdout] 130 | | "UPDATE categories SET name = $1 WHERE id = $2", [INFO] [stdout] 131 | | form.name, [INFO] [stdout] 132 | | id [INFO] [stdout] 133 | | ) [INFO] [stdout] 134 | | .execute(&state.db) [INFO] [stdout] 135 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:136:15 [INFO] [stdout] | [INFO] [stdout] 136 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 137 | warn!("Category update failed: {}", e); [INFO] [stdout] 138 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 136 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:57:20 [INFO] [stdout] | [INFO] [stdout] 57 | let staff_id = sqlx::query!( [INFO] [stdout] | ____________________^ [INFO] [stdout] 58 | | r#" [INFO] [stdout] 59 | | INSERT INTO staff (full_name, contact_info, license_number) [INFO] [stdout] 60 | | VALUES ($1, $2, $3) [INFO] [stdout] ... | [INFO] [stdout] 67 | | .fetch_one(&mut *tx) [INFO] [stdout] 68 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:69:15 [INFO] [stdout] | [INFO] [stdout] 69 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 70 | warn!("Staff creation failed: {}", e); [INFO] [stdout] 71 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 69 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:153:32 [INFO] [stdout] | [INFO] [stdout] 153 | let equipment_count: i64 = sqlx::query_scalar!( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 154 | | "SELECT COUNT(*) FROM equipment WHERE category_id = $1", [INFO] [stdout] 155 | | id [INFO] [stdout] ... | [INFO] [stdout] 158 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:159:15 [INFO] [stdout] | [INFO] [stdout] 159 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 160 | warn!("Category deletion check failed: {}", e); [INFO] [stdout] 161 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 159 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | / sqlx::query!( [INFO] [stdout] 171 | | "DELETE FROM categories WHERE id = $1", [INFO] [stdout] 172 | | id [INFO] [stdout] ... | [INFO] [stdout] 175 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | let staff = sqlx::query!( [INFO] [stdout] | _________________^ [INFO] [stdout] 90 | | r#" [INFO] [stdout] 91 | | SELECT [INFO] [stdout] 92 | | s.id, [INFO] [stdout] ... | [INFO] [stdout] 114 | | .fetch_all(&state.db) [INFO] [stdout] 115 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/categories.rs:176:15 [INFO] [stdout] | [INFO] [stdout] 176 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 177 | warn!("Category deletion failed: {}", e); [INFO] [stdout] 178 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 176 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:116:15 [INFO] [stdout] | [INFO] [stdout] 116 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 117 | warn!("Failed to fetch staff: {}", e); [INFO] [stdout] 118 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 116 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:134:21 [INFO] [stdout] | [INFO] [stdout] 134 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 135 | | EquipmentShort, [INFO] [stdout] 136 | | "SELECT id, name, brand, model, current_status as \"status!\" FROM equipment ORDER BY name" [INFO] [stdout] ... | [INFO] [stdout] 139 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:140:15 [INFO] [stdout] | [INFO] [stdout] 140 | .map_err(|e| e.to_string())?; [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 140 | .map_err(|e: /* Type */| e.to_string())?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | / sqlx::query!( [INFO] [stdout] 75 | | r#" [INFO] [stdout] 76 | | INSERT INTO equipment ( [INFO] [stdout] 77 | | name, brand, model, serial_number, acquisition_date, [INFO] [stdout] ... | [INFO] [stdout] 93 | | .execute(&state.db) [INFO] [stdout] 94 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:95:15 [INFO] [stdout] | [INFO] [stdout] 95 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 96 | error!("Equipment creation failed: {}", e); [INFO] [stdout] 97 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 95 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:111:21 [INFO] [stdout] | [INFO] [stdout] 111 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 112 | | Equipment, [INFO] [stdout] 113 | | r#" [INFO] [stdout] 114 | | SELECT [INFO] [stdout] ... | [INFO] [stdout] 124 | | .fetch_all(&state.db) [INFO] [stdout] 125 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | let staff = sqlx::query_as!( [INFO] [stdout] | _________________^ [INFO] [stdout] 170 | | StaffRecord, [INFO] [stdout] 171 | | "SELECT id, full_name, contact_info, license_number FROM staff WHERE id = $1", [INFO] [stdout] 172 | | id [INFO] [stdout] 173 | | ) [INFO] [stdout] 174 | | .fetch_one(&state.db) [INFO] [stdout] 175 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:176:15 [INFO] [stdout] | [INFO] [stdout] 176 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 177 | warn!("Staff {} not found: {}", id, e); [INFO] [stdout] 178 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 176 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 182 | | EquipmentShort, [INFO] [stdout] 183 | | "SELECT id, name, brand, model, current_status as \"status!\" FROM equipment ORDER BY name" [INFO] [stdout] ... | [INFO] [stdout] 186 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:187:15 [INFO] [stdout] | [INFO] [stdout] 187 | .map_err(|e| e.to_string())?; [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 187 | .map_err(|e: /* Type */| e.to_string())?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:189:30 [INFO] [stdout] | [INFO] [stdout] 189 | let assigned_equipment = sqlx::query!( [INFO] [stdout] | ______________________________^ [INFO] [stdout] 190 | | "SELECT equipment_id FROM equipment_operator WHERE operator_id = $1", [INFO] [stdout] 191 | | id [INFO] [stdout] ... | [INFO] [stdout] 194 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:195:15 [INFO] [stdout] | [INFO] [stdout] 195 | .map_err(|e| e.to_string())? [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 195 | .map_err(|e: /* Type */| e.to_string())? [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 127 | error!("Failed to fetch equipment: {}", e); [INFO] [stdout] 128 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 126 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | / sqlx::query!( [INFO] [stdout] 220 | | r#" [INFO] [stdout] 221 | | UPDATE staff SET [INFO] [stdout] 222 | | full_name = $1, [INFO] [stdout] ... | [INFO] [stdout] 232 | | .execute(&mut *tx) [INFO] [stdout] 233 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:234:15 [INFO] [stdout] | [INFO] [stdout] 234 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 235 | warn!("Staff update failed: {}", e); [INFO] [stdout] 236 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 234 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:254:33 [INFO] [stdout] | [INFO] [stdout] 254 | let assignment_count: i64 = sqlx::query_scalar!( [INFO] [stdout] | _________________________________^ [INFO] [stdout] 255 | | "SELECT COUNT(*) FROM equipment_operator WHERE operator_id = $1", [INFO] [stdout] 256 | | id [INFO] [stdout] ... | [INFO] [stdout] 259 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:260:15 [INFO] [stdout] | [INFO] [stdout] 260 | .map_err(|e| e.to_string())? [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 260 | .map_err(|e: /* Type */| e.to_string())? [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | / sqlx::query!( [INFO] [stdout] 269 | | "DELETE FROM staff WHERE id = $1", [INFO] [stdout] 270 | | id [INFO] [stdout] ... | [INFO] [stdout] 273 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 179 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 180 | | Equipment, [INFO] [stdout] 181 | | r#" [INFO] [stdout] 182 | | SELECT [INFO] [stdout] ... | [INFO] [stdout] 193 | | .fetch_one(&state.db) [INFO] [stdout] 194 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:274:15 [INFO] [stdout] | [INFO] [stdout] 274 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 275 | warn!("Staff deletion failed: {}", e); [INFO] [stdout] 276 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 274 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:195:15 [INFO] [stdout] | [INFO] [stdout] 195 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 196 | warn!("Equipment {} not found: {}", id, e); [INFO] [stdout] 197 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 195 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:289:5 [INFO] [stdout] | [INFO] [stdout] 289 | / sqlx::query!( [INFO] [stdout] 290 | | "DELETE FROM equipment_operator WHERE operator_id = $1", [INFO] [stdout] 291 | | staff_id [INFO] [stdout] ... | [INFO] [stdout] 294 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:295:15 [INFO] [stdout] | [INFO] [stdout] 295 | .map_err(|e| e.to_string())?; [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 295 | .map_err(|e: /* Type */| e.to_string())?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | / sqlx::query!( [INFO] [stdout] 226 | | r#" [INFO] [stdout] 227 | | UPDATE equipment SET [INFO] [stdout] 228 | | name = $1, [INFO] [stdout] ... | [INFO] [stdout] 252 | | .execute(&state.db) [INFO] [stdout] 253 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:254:15 [INFO] [stdout] | [INFO] [stdout] 254 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 255 | error!("Equipment update failed: {}", e); [INFO] [stdout] 256 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 254 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:303:5 [INFO] [stdout] | [INFO] [stdout] 303 | / sqlx::query!( [INFO] [stdout] 304 | | "DELETE FROM equipment WHERE id = $1", [INFO] [stdout] 305 | | id [INFO] [stdout] ... | [INFO] [stdout] 308 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:309:15 [INFO] [stdout] | [INFO] [stdout] 309 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 310 | error!("Equipment deletion failed: {}", e); [INFO] [stdout] 311 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 309 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:320:5 [INFO] [stdout] | [INFO] [stdout] 320 | / sqlx::query_as!( [INFO] [stdout] 321 | | Category, [INFO] [stdout] 322 | | "SELECT id, name FROM categories ORDER BY name" [INFO] [stdout] ... | [INFO] [stdout] 325 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/equipment.rs:326:15 [INFO] [stdout] | [INFO] [stdout] 326 | .map_err(|e| e.to_string()) [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 326 | .map_err(|e: /* Type */| e.to_string()) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | / sqlx::query!( [INFO] [stdout] 299 | | "INSERT INTO equipment_operator (operator_id, equipment_id) VALUES ($1, $2)", [INFO] [stdout] 300 | | staff_id, [INFO] [stdout] 301 | | equipment_id [INFO] [stdout] 302 | | ) [INFO] [stdout] 303 | | .execute(&mut **tx) [INFO] [stdout] 304 | | .await [INFO] [stdout] | |______________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:305:19 [INFO] [stdout] | [INFO] [stdout] 305 | .map_err(|e| e.to_string())?; [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 305 | .map_err(|e: /* Type */| e.to_string())?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | let mut ctx = tera::Context::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 119 | let status_counts = sqlx::query_as!( [INFO] [stdout] | _________________________^ [INFO] [stdout] 120 | | StatusCounts, [INFO] [stdout] 121 | | r#"SELECT [INFO] [stdout] 122 | | COALESCE(COUNT(*) FILTER (WHERE current_status = 'active'), 0) as "active!", [INFO] [stdout] ... | [INFO] [stdout] 127 | | .fetch_one(&state.db) [INFO] [stdout] 128 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:57:20 [INFO] [stdout] | [INFO] [stdout] 57 | let staff_id = sqlx::query!( [INFO] [stdout] | ____________________^ [INFO] [stdout] 58 | | r#" [INFO] [stdout] 59 | | INSERT INTO staff (full_name, contact_info, license_number) [INFO] [stdout] 60 | | VALUES ($1, $2, $3) [INFO] [stdout] ... | [INFO] [stdout] 67 | | .fetch_one(&mut *tx) [INFO] [stdout] 68 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:135:30 [INFO] [stdout] | [INFO] [stdout] 135 | let maintenance_alerts = sqlx::query_as!( [INFO] [stdout] | ______________________________^ [INFO] [stdout] 136 | | MaintenanceAlert, [INFO] [stdout] 137 | | r#"SELECT name, next_maintenance [INFO] [stdout] 138 | | FROM equipment [INFO] [stdout] ... | [INFO] [stdout] 144 | | .fetch_all(&state.db) [INFO] [stdout] 145 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:69:15 [INFO] [stdout] | [INFO] [stdout] 69 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 70 | warn!("Staff creation failed: {}", e); [INFO] [stdout] 71 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 69 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:152:28 [INFO] [stdout] | [INFO] [stdout] 152 | let insurance_alerts = sqlx::query_as!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 153 | | InsuranceAlert, [INFO] [stdout] 154 | | r#"SELECT name, insurance_renewal [INFO] [stdout] 155 | | FROM equipment [INFO] [stdout] ... | [INFO] [stdout] 161 | | .fetch_all(&state.db) [INFO] [stdout] 162 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:169:28 [INFO] [stdout] | [INFO] [stdout] 169 | let recent_equipment = sqlx::query_as!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 170 | | RecentEquipment, [INFO] [stdout] 171 | | r#"SELECT [INFO] [stdout] 172 | | e.name, [INFO] [stdout] ... | [INFO] [stdout] 182 | | .fetch_all(&state.db) [INFO] [stdout] 183 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:190:30 [INFO] [stdout] | [INFO] [stdout] 190 | let recent_maintenance = sqlx::query_as!( [INFO] [stdout] | ______________________________^ [INFO] [stdout] 191 | | RecentMaintenance, [INFO] [stdout] 192 | | r#"SELECT [INFO] [stdout] 193 | | m.maintenance_date as "maintenance_date!", [INFO] [stdout] ... | [INFO] [stdout] 202 | | .fetch_all(&state.db) [INFO] [stdout] 203 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | let staff = sqlx::query!( [INFO] [stdout] | _________________^ [INFO] [stdout] 90 | | r#" [INFO] [stdout] 91 | | SELECT [INFO] [stdout] 92 | | s.id, [INFO] [stdout] ... | [INFO] [stdout] 114 | | .fetch_all(&state.db) [INFO] [stdout] 115 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:116:15 [INFO] [stdout] | [INFO] [stdout] 116 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 117 | warn!("Failed to fetch staff: {}", e); [INFO] [stdout] 118 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 116 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:134:21 [INFO] [stdout] | [INFO] [stdout] 134 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 135 | | EquipmentShort, [INFO] [stdout] 136 | | "SELECT id, name, brand, model, current_status as \"status!\" FROM equipment ORDER BY name" [INFO] [stdout] ... | [INFO] [stdout] 139 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:140:15 [INFO] [stdout] | [INFO] [stdout] 140 | .map_err(|e| e.to_string())?; [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 140 | .map_err(|e: /* Type */| e.to_string())?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | let staff = sqlx::query_as!( [INFO] [stdout] | _________________^ [INFO] [stdout] 170 | | StaffRecord, [INFO] [stdout] 171 | | "SELECT id, full_name, contact_info, license_number FROM staff WHERE id = $1", [INFO] [stdout] 172 | | id [INFO] [stdout] 173 | | ) [INFO] [stdout] 174 | | .fetch_one(&state.db) [INFO] [stdout] 175 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:176:15 [INFO] [stdout] | [INFO] [stdout] 176 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 177 | warn!("Staff {} not found: {}", id, e); [INFO] [stdout] 178 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 176 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | let equipment = sqlx::query_as!( [INFO] [stdout] | _____________________^ [INFO] [stdout] 182 | | EquipmentShort, [INFO] [stdout] 183 | | "SELECT id, name, brand, model, current_status as \"status!\" FROM equipment ORDER BY name" [INFO] [stdout] ... | [INFO] [stdout] 186 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:187:15 [INFO] [stdout] | [INFO] [stdout] 187 | .map_err(|e| e.to_string())?; [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 187 | .map_err(|e: /* Type */| e.to_string())?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:189:30 [INFO] [stdout] | [INFO] [stdout] 189 | let assigned_equipment = sqlx::query!( [INFO] [stdout] | ______________________________^ [INFO] [stdout] 190 | | "SELECT equipment_id FROM equipment_operator WHERE operator_id = $1", [INFO] [stdout] 191 | | id [INFO] [stdout] ... | [INFO] [stdout] 194 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:195:15 [INFO] [stdout] | [INFO] [stdout] 195 | .map_err(|e| e.to_string())? [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 195 | .map_err(|e: /* Type */| e.to_string())? [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | / sqlx::query!( [INFO] [stdout] 220 | | r#" [INFO] [stdout] 221 | | UPDATE staff SET [INFO] [stdout] 222 | | full_name = $1, [INFO] [stdout] ... | [INFO] [stdout] 232 | | .execute(&mut *tx) [INFO] [stdout] 233 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:234:15 [INFO] [stdout] | [INFO] [stdout] 234 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 235 | warn!("Staff update failed: {}", e); [INFO] [stdout] 236 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 234 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:254:33 [INFO] [stdout] | [INFO] [stdout] 254 | let assignment_count: i64 = sqlx::query_scalar!( [INFO] [stdout] | _________________________________^ [INFO] [stdout] 255 | | "SELECT COUNT(*) FROM equipment_operator WHERE operator_id = $1", [INFO] [stdout] 256 | | id [INFO] [stdout] ... | [INFO] [stdout] 259 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:260:15 [INFO] [stdout] | [INFO] [stdout] 260 | .map_err(|e| e.to_string())? [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 260 | .map_err(|e: /* Type */| e.to_string())? [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | / sqlx::query!( [INFO] [stdout] 269 | | "DELETE FROM staff WHERE id = $1", [INFO] [stdout] 270 | | id [INFO] [stdout] ... | [INFO] [stdout] 273 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:274:15 [INFO] [stdout] | [INFO] [stdout] 274 | .map_err(|e| { [INFO] [stdout] | ^ [INFO] [stdout] 275 | warn!("Staff deletion failed: {}", e); [INFO] [stdout] 276 | e.to_string() [INFO] [stdout] | - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 274 | .map_err(|e: /* Type */| { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:289:5 [INFO] [stdout] | [INFO] [stdout] 289 | / sqlx::query!( [INFO] [stdout] 290 | | "DELETE FROM equipment_operator WHERE operator_id = $1", [INFO] [stdout] 291 | | staff_id [INFO] [stdout] ... | [INFO] [stdout] 294 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:295:15 [INFO] [stdout] | [INFO] [stdout] 295 | .map_err(|e| e.to_string())?; [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 295 | .map_err(|e: /* Type */| e.to_string())?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | / sqlx::query!( [INFO] [stdout] 299 | | "INSERT INTO equipment_operator (operator_id, equipment_id) VALUES ($1, $2)", [INFO] [stdout] 300 | | staff_id, [INFO] [stdout] 301 | | equipment_id [INFO] [stdout] 302 | | ) [INFO] [stdout] 303 | | .execute(&mut **tx) [INFO] [stdout] 304 | | .await [INFO] [stdout] | |______________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/handlers/staff.rs:305:19 [INFO] [stdout] | [INFO] [stdout] 305 | .map_err(|e| e.to_string())?; [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 305 | .map_err(|e: /* Type */| e.to_string())?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | let mut ctx = tera::Context::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 119 | let status_counts = sqlx::query_as!( [INFO] [stdout] | _________________________^ [INFO] [stdout] 120 | | StatusCounts, [INFO] [stdout] 121 | | r#"SELECT [INFO] [stdout] 122 | | COALESCE(COUNT(*) FILTER (WHERE current_status = 'active'), 0) as "active!", [INFO] [stdout] ... | [INFO] [stdout] 127 | | .fetch_one(&state.db) [INFO] [stdout] 128 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:135:30 [INFO] [stdout] | [INFO] [stdout] 135 | let maintenance_alerts = sqlx::query_as!( [INFO] [stdout] | ______________________________^ [INFO] [stdout] 136 | | MaintenanceAlert, [INFO] [stdout] 137 | | r#"SELECT name, next_maintenance [INFO] [stdout] 138 | | FROM equipment [INFO] [stdout] ... | [INFO] [stdout] 144 | | .fetch_all(&state.db) [INFO] [stdout] 145 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:152:28 [INFO] [stdout] | [INFO] [stdout] 152 | let insurance_alerts = sqlx::query_as!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 153 | | InsuranceAlert, [INFO] [stdout] 154 | | r#"SELECT name, insurance_renewal [INFO] [stdout] 155 | | FROM equipment [INFO] [stdout] ... | [INFO] [stdout] 161 | | .fetch_all(&state.db) [INFO] [stdout] 162 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:169:28 [INFO] [stdout] | [INFO] [stdout] 169 | let recent_equipment = sqlx::query_as!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 170 | | RecentEquipment, [INFO] [stdout] 171 | | r#"SELECT [INFO] [stdout] 172 | | e.name, [INFO] [stdout] ... | [INFO] [stdout] 182 | | .fetch_all(&state.db) [INFO] [stdout] 183 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:190:30 [INFO] [stdout] | [INFO] [stdout] 190 | let recent_maintenance = sqlx::query_as!( [INFO] [stdout] | ______________________________^ [INFO] [stdout] 191 | | RecentMaintenance, [INFO] [stdout] 192 | | r#"SELECT [INFO] [stdout] 193 | | m.maintenance_date as "maintenance_date!", [INFO] [stdout] ... | [INFO] [stdout] 202 | | .fetch_all(&state.db) [INFO] [stdout] 203 | | .await [INFO] [stdout] | |__________^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stderr] error: could not compile `kfleet` (lib) due to 79 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `kfleet` (lib test) due to 79 previous errors; 2 warnings emitted [INFO] running `Command { std: "docker" "inspect" "261fb8527732a7cef3913e557b12343158f1a1aa45fc828882436579e8fd156b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "261fb8527732a7cef3913e557b12343158f1a1aa45fc828882436579e8fd156b", kill_on_drop: false }` [INFO] [stdout] 261fb8527732a7cef3913e557b12343158f1a1aa45fc828882436579e8fd156b