[INFO] cloning repository https://github.com/tallbreadstick/stackture-server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tallbreadstick/stackture-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftallbreadstick%2Fstackture-server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftallbreadstick%2Fstackture-server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 880e87abbbd6ef36d69d651899a39e113b73070f
[INFO] testing tallbreadstick/stackture-server against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftallbreadstick%2Fstackture-server" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tallbreadstick/stackture-server
[INFO] finished tweaking git repo https://github.com/tallbreadstick/stackture-server
[INFO] tweaked toml for git repo https://github.com/tallbreadstick/stackture-server written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tallbreadstick/stackture-server on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tallbreadstick/stackture-server 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_derive v1.0.218
[INFO] [stderr]   Downloaded tungstenite v0.26.2
[INFO] [stderr]   Downloaded headers-core v0.3.0
[INFO] [stderr]   Downloaded tokio-tungstenite v0.26.2
[INFO] [stderr]   Downloaded sqlx-macros v0.8.3
[INFO] [stderr]   Downloaded rand_core v0.9.2
[INFO] [stderr]   Downloaded color-print-proc-macro v0.3.7
[INFO] [stderr]   Downloaded argon2 v0.5.3
[INFO] [stderr]   Downloaded unicode-ident v1.0.17
[INFO] [stderr]   Downloaded headers v0.4.0
[INFO] [stderr]   Downloaded rsa v0.9.7
[INFO] [stderr]   Downloaded sqlx v0.8.3
[INFO] [stderr]   Downloaded axum v0.8.1
[INFO] [stderr]   Downloaded sqlx-postgres v0.8.3
[INFO] [stderr]   Downloaded serde_json v1.0.139
[INFO] [stderr]   Downloaded h2 v0.4.8
[INFO] [stderr]   Downloaded zerocopy v0.8.20
[INFO] [stderr]   Downloaded cc v1.2.15
[INFO] [stderr]   Downloaded sqlx-core v0.8.3
[INFO] [stderr]   Downloaded sqlx-mysql v0.8.3
[INFO] [stderr]   Downloaded sqlx-sqlite v0.8.3
[INFO] [stderr]   Downloaded axum-extra v0.10.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.20
[INFO] [stderr]   Downloaded serde v1.0.218
[INFO] [stderr]   Downloaded axum-macros v0.5.0
[INFO] [stderr]   Downloaded axum-core v0.5.0
[INFO] [stderr]   Downloaded sqlx-macros-core v0.8.3
[INFO] [stderr]   Downloaded rustls v0.23.23
[INFO] [stderr]   Downloaded either v1.14.0
[INFO] [stderr]   Downloaded color-print v0.3.7
[INFO] [stderr]   Downloaded ring v0.17.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ea1ef85b024d9a3ada996fa51675df4bc3cd97a1dc501a43fe1825c56c32c8b6
[INFO] running `Command { std: "docker" "start" "-a" "ea1ef85b024d9a3ada996fa51675df4bc3cd97a1dc501a43fe1825c56c32c8b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ea1ef85b024d9a3ada996fa51675df4bc3cd97a1dc501a43fe1825c56c32c8b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea1ef85b024d9a3ada996fa51675df4bc3cd97a1dc501a43fe1825c56c32c8b6", kill_on_drop: false }`
[INFO] [stdout] ea1ef85b024d9a3ada996fa51675df4bc3cd97a1dc501a43fe1825c56c32c8b6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1d4bda52d6f2006be6ba9562400208f251beecf6267a2178734ce056c8a2b549
[INFO] running `Command { std: "docker" "start" "-a" "1d4bda52d6f2006be6ba9562400208f251beecf6267a2178734ce056c8a2b549", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.17
[INFO] [stderr]    Compiling serde v1.0.218
[INFO] [stderr]    Compiling bytes v1.10.0
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling once_cell v1.20.3
[INFO] [stderr]    Compiling log v0.4.26
[INFO] [stderr]    Compiling cc v1.2.15
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling foldhash v0.1.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling thiserror v2.0.11
[INFO] [stderr]    Compiling openssl v0.10.71
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling serde_json v1.0.139
[INFO] [stderr]    Compiling ryu v1.0.19
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling httparse v1.10.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling http v1.2.0
[INFO] [stderr]    Compiling indexmap v2.7.1
[INFO] [stderr]    Compiling zerocopy v0.8.20
[INFO] [stderr]    Compiling bitflags v2.8.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling tinyvec v1.8.1
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling event-listener v5.4.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling rustversion v1.0.19
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling whoami v1.5.2
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling openssl-sys v0.9.106
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling data-encoding v2.8.0
[INFO] [stderr]    Compiling time-macros v0.2.19
[INFO] [stderr]    Compiling ring v0.17.11
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling rand_core v0.9.2
[INFO] [stderr]    Compiling http-body-util v0.1.2
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling headers-core v0.3.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling rustls-pki-types v1.11.0
[INFO] [stderr]    Compiling base64ct v1.6.0
[INFO] [stderr]    Compiling headers v0.4.0
[INFO] [stderr]    Compiling blake2 v0.10.6
[INFO] [stderr]    Compiling password-hash v0.5.0
[INFO] [stderr]    Compiling pem v3.0.5
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling time v0.3.37
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling argon2 v0.5.3
[INFO] [stderr]    Compiling tower-http v0.6.2
[INFO] [stderr]    Compiling tempfile v3.17.1
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling tokio-stream v0.1.16
[INFO] [stderr]    Compiling serde_derive v1.0.218
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.11
[INFO] [stderr]    Compiling axum-macros v0.5.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling color-print-proc-macro v0.3.7
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling color-print v0.3.7
[INFO] [stderr]    Compiling simple_asn1 v0.6.3
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling axum-core v0.5.0
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand v0.9.0
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling tungstenite v0.26.2
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling either v1.14.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.16
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling jsonwebtoken v9.3.1
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling sqlx-core v0.8.3
[INFO] [stderr]    Compiling sqlx-postgres v0.8.3
[INFO] [stderr]    Compiling tokio-util v0.7.13
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.26.2
[INFO] [stderr]    Compiling h2 v0.4.8
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.3
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling sqlx-macros v0.8.3
[INFO] [stderr]    Compiling hyper-util v0.1.10
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling axum v0.8.1
[INFO] [stderr]    Compiling sqlx v0.8.3
[INFO] [stderr]    Compiling reqwest v0.12.12
[INFO] [stderr]    Compiling axum-extra v0.10.0
[INFO] [stderr]    Compiling stackture-server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/auth/login.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 24 | |         "SELECT id, password FROM users WHERE username = $1",
[INFO] [stdout] 25 | |         payload.username
[INFO] [stdout] 26 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/auth/register.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 28 | |         "SELECT id, username, email FROM users WHERE username = $1 OR email = $2",
[INFO] [stdout] 29 | |         payload.username,
[INFO] [stdout] 30 | |         payload.email
[INFO] [stdout] 31 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/auth/register.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 |       let user_id = sqlx::query!(
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 45 | |         "INSERT INTO users (username, email, password) VALUES ($1, $2, $3) RETURNING id",
[INFO] [stdout] 46 | |         payload.username,
[INFO] [stdout] 47 | |         payload.email,
[INFO] [stdout] 48 | |         hash
[INFO] [stdout] 49 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/auth/register.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 28 | |         "SELECT id, username, email FROM users WHERE username = $1 OR email = $2",
[INFO] [stdout] 29 | |         payload.username,
[INFO] [stdout] 30 | |         payload.email
[INFO] [stdout] 31 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/auth/register.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 |       let user_id = sqlx::query!(
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 45 | |         "INSERT INTO users (username, email, password) VALUES ($1, $2, $3) RETURNING id",
[INFO] [stdout] 46 | |         payload.username,
[INFO] [stdout] 47 | |         payload.email,
[INFO] [stdout] 48 | |         hash
[INFO] [stdout] 49 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/auth/register.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 28 | |         "SELECT id, username, email FROM users WHERE username = $1 OR email = $2",
[INFO] [stdout] 29 | |         payload.username,
[INFO] [stdout] 30 | |         payload.email
[INFO] [stdout] 31 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/auth/register.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 |       let user_id = sqlx::query!(
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 45 | |         "INSERT INTO users (username, email, password) VALUES ($1, $2, $3) RETURNING id",
[INFO] [stdout] 46 | |         payload.username,
[INFO] [stdout] 47 | |         payload.email,
[INFO] [stdout] 48 | |         hash
[INFO] [stdout] 49 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/api/workspace.rs:60:24
[INFO] [stdout]    |
[INFO] [stdout] 60 |       let workspace_id = sqlx::query!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 61 | |         "INSERT INTO workspaces (user_id, title, description) VALUES ($1, $2, $3) RETURNING id",
[INFO] [stdout] 62 | |         token_data.user_id,
[INFO] [stdout] 63 | |         payload.title,
[INFO] [stdout] 64 | |         payload.description
[INFO] [stdout] 65 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/api/workspace.rs:82:40
[INFO] [stdout]    |
[INFO] [stdout] 82 |       let workspace_owner: Option<i32> = sqlx::query_scalar!(
[INFO] [stdout]    |  ________________________________________^
[INFO] [stdout] 83 | |         "SELECT user_id FROM workspaces WHERE id = $1",
[INFO] [stdout] 84 | |         workspace_id
[INFO] [stdout] 85 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/api/workspace.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |       let nodes = sqlx::query!(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 97 | |         "SELECT id, name, summary, optional, resolved, icon FROM nodes WHERE workspace_id = $1",
[INFO] [stdout] 98 | |         workspace_id
[INFO] [stdout] 99 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/api/workspace.rs:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |       let relationships = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 106 | |         "SELECT node_id, parent_id FROM node_parents WHERE node_id IN (SELECT id FROM nodes WHERE workspace_id = $1)",
[INFO] [stdout] 107 | |         workspace_id
[INFO] [stdout] 108 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/api/workspace.rs:148:22
[INFO] [stdout]     |
[INFO] [stdout] 148 |       let workspaces = sqlx::query_as!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 149 | |         Workspace,
[INFO] [stdout] 150 | |         "SELECT id, title, description, root_id FROM workspaces WHERE user_id = $1",
[INFO] [stdout] 151 | |         token_data.user_id
[INFO] [stdout] 152 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/api/workspace.rs:166:18
[INFO] [stdout]     |
[INFO] [stdout] 166 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 167 | |         "DELETE FROM workspaces WHERE id = $1 AND user_id = $2",
[INFO] [stdout] 168 | |         id,
[INFO] [stdout] 169 | |         token_data.user_id
[INFO] [stdout] 170 | |     )
[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: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/chat/db.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     query_scalar!(
[INFO] [stdout] 22 | |             "SELECT EXISTS (SELECT 1 FROM workspaces WHERE id = $1 AND user_id = $2)",
[INFO] [stdout] 23 | |             workspace_id,
[INFO] [stdout] 24 | |             user_id
[INFO] [stdout] 25 | |         )
[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 `query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/chat/db.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | /         query_scalar!(
[INFO] [stdout] 34 | |             "SELECT id FROM chats WHERE workspace_id = $1;",
[INFO] [stdout] 35 | |             workspace_id
[INFO] [stdout] 36 | |         )
[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 `query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/chat/db.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | /         query_scalar!(
[INFO] [stdout] 42 | |             "SELECT id FROM chats WHERE workspace_id = $1 AND node_id = $2;",
[INFO] [stdout] 43 | |             workspace_id,
[INFO] [stdout] 44 | |             node_id
[INFO] [stdout] 45 | |         )
[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 `query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/chat/db.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | /         query_scalar!(
[INFO] [stdout] 55 | |             "INSERT INTO chats (workspace_id, node_id) VALUES ($1, $2) RETURNING id;",
[INFO] [stdout] 56 | |             workspace_id,
[INFO] [stdout] 57 | |             if node_id == 0 { None } else { Some(node_id) }
[INFO] [stdout] 58 | |         )
[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 `query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/chat/db.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | /     query_as!(
[INFO] [stdout] 69 | |         DBNode,
[INFO] [stdout] 70 | |         "SELECT 
[INFO] [stdout] 71 | |             id,
[INFO] [stdout] ...  |
[INFO] [stdout] 80 | |         workspace_id
[INFO] [stdout] 81 | |     )
[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 `query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/chat/db.rs:106:33
[INFO] [stdout]     |
[INFO] [stdout] 106 |       let messages: Vec<String> = query_scalar!(
[INFO] [stdout]     |  _________________________________^
[INFO] [stdout] 107 | |         "SELECT message FROM (SELECT message, sent_at FROM messages WHERE chat_id = $1 ORDER BY sent_at DESC LIMIT 6) sub ORDER B...
[INFO] [stdout] 108 | |         chat_id
[INFO] [stdout] 109 | |     )
[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 `query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/chat/db.rs:133:18
[INFO] [stdout]     |
[INFO] [stdout] 133 |       let exists = query_scalar!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 134 | |         "SELECT root_id IS NOT NULL FROM workspaces WHERE id = $1;",
[INFO] [stdout] 135 | |         workspace_id
[INFO] [stdout] 136 | |     )
[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 `query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/chat/db.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |               let _ = query_scalar!(
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 147 | |                 "INSERT INTO messages (message, chat_id, is_user) VALUES ($1, $2, $3);",
[INFO] [stdout] 148 | |                 message_data,
[INFO] [stdout] 149 | |                 chat_id,
[INFO] [stdout] 150 | |                 message.role == String::from("user")
[INFO] [stdout] 151 | |             ).fetch_optional(db).await;
[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 `query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/chat/db.rs:199:21
[INFO] [stdout]     |
[INFO] [stdout] 199 |     if let Err(_) = query_scalar!("DELETE FROM nodes WHERE workspace_id = $1;", workspace_id).fetch_optional(db).await {
[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 `query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/chat/db.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |   ...   match query_scalar!(
[INFO] [stdout]     |  _____________^
[INFO] [stdout] 211 | | ...       "INSERT INTO nodes (workspace_id, name, summary, optional, resolved, icon) VALUES ($1, $2, $3, $4, $5, $6) RETURNING id;",
[INFO] [stdout] 212 | | ...       workspace_id,
[INFO] [stdout] 213 | | ...       i.name,
[INFO] [stdout] ...   |
[INFO] [stdout] 217 | | ...       i.icon
[INFO] [stdout] 218 | | ...   ).fetch_one(db).await {
[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 `query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/chat/db.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 |   ...   if let Err(_) = query_scalar!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 233 | | ...       "INSERT INTO node_parents (node_id, parent_id) VALUES ($1, $2);",
[INFO] [stdout] 234 | | ...       keys.get(&i.id).unwrap(),    // :D value should be expected from above... unless some bit in the system is being a good...
[INFO] [stdout] 235 | | ...       keys.get(parent).unwrap()
[INFO] [stdout] 236 | | ...   ).fetch_optional(db).await {
[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 `query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> src/chat/db.rs:1:45
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::{HashMap, VecDeque}, hash::Hash};
[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/auth/login.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 24 | |         "SELECT id, password FROM users WHERE username = $1",
[INFO] [stdout] 25 | |         payload.username
[INFO] [stdout] ...  |
[INFO] [stdout] 28 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/auth/register.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 28 | |         "SELECT id, username, email FROM users WHERE username = $1 OR email = $2",
[INFO] [stdout] 29 | |         payload.username,
[INFO] [stdout] 30 | |         payload.email
[INFO] [stdout] 31 | |     )
[INFO] [stdout] 32 | |     .fetch_optional(&db)
[INFO] [stdout] 33 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/auth/register.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 |       let user_id = sqlx::query!(
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 45 | |         "INSERT INTO users (username, email, password) VALUES ($1, $2, $3) RETURNING id",
[INFO] [stdout] 46 | |         payload.username,
[INFO] [stdout] 47 | |         payload.email,
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     .fetch_one(&db)
[INFO] [stdout] 51 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/api/workspace.rs:60:24
[INFO] [stdout]    |
[INFO] [stdout] 60 |       let workspace_id = sqlx::query!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 61 | |         "INSERT INTO workspaces (user_id, title, description) VALUES ($1, $2, $3) RETURNING id",
[INFO] [stdout] 62 | |         token_data.user_id,
[INFO] [stdout] 63 | |         payload.title,
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |     .fetch_one(&db)
[INFO] [stdout] 67 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/api/workspace.rs:82:40
[INFO] [stdout]    |
[INFO] [stdout] 82 |       let workspace_owner: Option<i32> = sqlx::query_scalar!(
[INFO] [stdout]    |  ________________________________________^
[INFO] [stdout] 83 | |         "SELECT user_id FROM workspaces WHERE id = $1",
[INFO] [stdout] 84 | |         workspace_id
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/api/workspace.rs:96:17
[INFO] [stdout]     |
[INFO] [stdout]  96 |       let nodes = sqlx::query!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout]  97 | |         "SELECT id, name, summary, optional, resolved, icon FROM nodes WHERE workspace_id = $1",
[INFO] [stdout]  98 | |         workspace_id
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/api/workspace.rs:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |       let relationships = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 106 | |         "SELECT node_id, parent_id FROM node_parents WHERE node_id IN (SELECT id FROM nodes WHERE workspace_id = $1)",
[INFO] [stdout] 107 | |         workspace_id
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/api/workspace.rs:148:22
[INFO] [stdout]     |
[INFO] [stdout] 148 |       let workspaces = sqlx::query_as!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 149 | |         Workspace,
[INFO] [stdout] 150 | |         "SELECT id, title, description, root_id FROM workspaces WHERE user_id = $1",
[INFO] [stdout] 151 | |         token_data.user_id
[INFO] [stdout] 152 | |     )
[INFO] [stdout] 153 | |     .fetch_all(&db)
[INFO] [stdout] 154 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/api/workspace.rs:166:18
[INFO] [stdout]     |
[INFO] [stdout] 166 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 167 | |         "DELETE FROM workspaces WHERE id = $1 AND user_id = $2",
[INFO] [stdout] 168 | |         id,
[INFO] [stdout] 169 | |         token_data.user_id
[INFO] [stdout] 170 | |     )
[INFO] [stdout] 171 | |     .execute(&db)
[INFO] [stdout] 172 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/chat/db.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | /     query_scalar!(
[INFO] [stdout] 22 | |             "SELECT EXISTS (SELECT 1 FROM workspaces WHERE id = $1 AND user_id = $2)",
[INFO] [stdout] 23 | |             workspace_id,
[INFO] [stdout] 24 | |             user_id
[INFO] [stdout] 25 | |         )
[INFO] [stdout] 26 | |         .fetch_one(&db)
[INFO] [stdout] 27 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/chat/db.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | /         query_scalar!(
[INFO] [stdout] 34 | |             "SELECT id FROM chats WHERE workspace_id = $1;",
[INFO] [stdout] 35 | |             workspace_id
[INFO] [stdout] ...  |
[INFO] [stdout] 38 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/chat/db.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | /         query_scalar!(
[INFO] [stdout] 42 | |             "SELECT id FROM chats WHERE workspace_id = $1 AND node_id = $2;",
[INFO] [stdout] 43 | |             workspace_id,
[INFO] [stdout] 44 | |             node_id
[INFO] [stdout] 45 | |         )
[INFO] [stdout] 46 | |         .fetch_optional(&db)
[INFO] [stdout] 47 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/chat/db.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | /         query_scalar!(
[INFO] [stdout] 55 | |             "INSERT INTO chats (workspace_id, node_id) VALUES ($1, $2) RETURNING id;",
[INFO] [stdout] 56 | |             workspace_id,
[INFO] [stdout] 57 | |             if node_id == 0 { None } else { Some(node_id) }
[INFO] [stdout] 58 | |         )
[INFO] [stdout] 59 | |         .fetch_one(&db) // fetch_one ensures a value is returned
[INFO] [stdout] 60 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/chat/db.rs:106:33
[INFO] [stdout]     |
[INFO] [stdout] 106 |       let messages: Vec<String> = query_scalar!(
[INFO] [stdout]     |  _________________________________^
[INFO] [stdout] 107 | |         "SELECT message FROM (SELECT message, sent_at FROM messages WHERE chat_id = $1 ORDER BY sent_at DESC LIMIT 6) sub ORDER B...
[INFO] [stdout] 108 | |         chat_id
[INFO] [stdout] ...   |
[INFO] [stdout] 111 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/chat/db.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |     .filter(|s| s.is_some())
[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] 114 |     .filter(|s: /* Type */| s.is_some())
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/chat/db.rs:115:11
[INFO] [stdout]     |
[INFO] [stdout] 115 |     .map(|s| s.clone().unwrap_or_default())
[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] 115 |     .map(|s: /* Type */| s.clone().unwrap_or_default())
[INFO] [stdout]     |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `str` cannot be known at compilation time
[INFO] [stdout]    --> src/chat/db.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |     for i in messages {
[INFO] [stdout]     |         ^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `str`
[INFO] [stdout]     = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `str` cannot be known at compilation time
[INFO] [stdout]    --> src/chat/db.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     for i in messages {
[INFO] [stdout] 121 | |         match serde_json::from_str(&i) {
[INFO] [stdout] 122 | |             Ok(message_raw) => {
[INFO] [stdout] 123 | |                 messages_data.push(message_raw);
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | |     }
[INFO] [stdout]     | |_____^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `str`
[INFO] [stdout] note: required by an implicit `Sized` bound in `std::option::Option`
[INFO] [stdout]    --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/option.rs:599:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `str` cannot be known at compilation time
[INFO] [stdout]    --> src/chat/db.rs:120:14
[INFO] [stdout]     |
[INFO] [stdout] 120 |     for i in messages {
[INFO] [stdout]     |              ^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sized` is not implemented for `str`
[INFO] [stdout] note: required by an implicit `Sized` bound in `std::option::Option`
[INFO] [stdout]    --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/option.rs:599:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/chat/db.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | /     query_as!(
[INFO] [stdout] 69 | |         DBNode,
[INFO] [stdout] 70 | |         "SELECT 
[INFO] [stdout] 71 | |             id,
[INFO] [stdout] ...  |
[INFO] [stdout] 82 | |     .fetch_all(db)
[INFO] [stdout] 83 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/chat/db.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let exists = query_scalar!(
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     exists.unwrap_or(Some(false)).unwrap_or(false)
[INFO] [stdout]     |     ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `exists` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let exists: /* Type */ = query_scalar!(
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stackture-server` (bin "stackture-server") due to 45 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "1d4bda52d6f2006be6ba9562400208f251beecf6267a2178734ce056c8a2b549", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1d4bda52d6f2006be6ba9562400208f251beecf6267a2178734ce056c8a2b549", kill_on_drop: false }`
[INFO] [stdout] 1d4bda52d6f2006be6ba9562400208f251beecf6267a2178734ce056c8a2b549
