[INFO] cloning repository https://github.com/BadPirate/tRustMail
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BadPirate/tRustMail" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBadPirate%2FtRustMail", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBadPirate%2FtRustMail'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a35f92654d6a6529c31a0157ea52103dfe6a5f01
[INFO] checking BadPirate/tRustMail against master#c8a31b780d5415358566a20b94912620a3f27067 for pr-139493-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBadPirate%2FtRustMail" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  33% (3186/9434)
Updating files:  34% (3208/9434)
Updating files:  35% (3302/9434)
Updating files:  36% (3397/9434)
Updating files:  37% (3491/9434)
Updating files:  38% (3585/9434)
Updating files:  38% (3631/9434)
Updating files:  39% (3680/9434)
Updating files:  39% (3772/9434)
Updating files:  40% (3774/9434)
Updating files:  41% (3868/9434)
Updating files:  41% (3941/9434)
Updating files:  42% (3963/9434)
Updating files:  43% (4057/9434)
Updating files:  43% (4064/9434)
Updating files:  44% (4151/9434)
Updating files:  44% (4165/9434)
Updating files:  44% (4178/9434)
Updating files:  44% (4225/9434)
Updating files:  45% (4246/9434)
Updating files:  45% (4294/9434)
Updating files:  46% (4340/9434)
Updating files:  47% (4434/9434)
Updating files:  48% (4529/9434)
Updating files:  49% (4623/9434)
Updating files:  49% (4700/9434)
Updating files:  49% (4703/9434)
Updating files:  50% (4717/9434)
Updating files:  51% (4812/9434)
Updating files:  52% (4906/9434)
Updating files:  53% (5001/9434)
Updating files:  54% (5095/9434)
Updating files:  55% (5189/9434)
Updating files:  56% (5284/9434)
Updating files:  57% (5378/9434)
Updating files:  58% (5472/9434)
Updating files:  58% (5555/9434)
Updating files:  59% (5567/9434)
Updating files:  60% (5661/9434)
Updating files:  61% (5755/9434)
Updating files:  62% (5850/9434)
Updating files:  63% (5944/9434)
Updating files:  64% (6038/9434)
Updating files:  64% (6107/9434)
Updating files:  65% (6133/9434)
Updating files:  65% (6141/9434)
Updating files:  66% (6227/9434)
Updating files:  67% (6321/9434)
Updating files:  68% (6416/9434)
Updating files:  69% (6510/9434)
Updating files:  70% (6604/9434)
Updating files:  71% (6699/9434)
Updating files:  72% (6793/9434)
Updating files:  73% (6887/9434)
Updating files:  74% (6982/9434)
Updating files:  75% (7076/9434)
Updating files:  76% (7170/9434)
Updating files:  77% (7265/9434)
Updating files:  78% (7359/9434)
Updating files:  79% (7453/9434)
Updating files:  80% (7548/9434)
Updating files:  81% (7642/9434)
Updating files:  82% (7736/9434)
Updating files:  83% (7831/9434)
Updating files:  84% (7925/9434)
Updating files:  85% (8019/9434)
Updating files:  86% (8114/9434)
Updating files:  87% (8208/9434)
Updating files:  88% (8302/9434)
Updating files:  89% (8397/9434)
Updating files:  90% (8491/9434)
Updating files:  91% (8585/9434)
Updating files:  92% (8680/9434)
Updating files:  93% (8774/9434)
Updating files:  94% (8868/9434)
Updating files:  95% (8963/9434)
Updating files:  96% (9057/9434)
Updating files:  97% (9151/9434)
Updating files:  98% (9246/9434)
Updating files:  99% (9340/9434)
Updating files:  99% (9348/9434)
Updating files: 100% (9434/9434)
Updating files: 100% (9434/9434), done.
[INFO] removed /workspace/builds/worker-0-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/BadPirate/tRustMail
[INFO] finished tweaking git repo https://github.com/BadPirate/tRustMail
[INFO] tweaked toml for git repo https://github.com/BadPirate/tRustMail written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BadPirate/tRustMail on toolchain c8a31b780d5415358566a20b94912620a3f27067
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c8a31b780d5415358566a20b94912620a3f27067" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BadPirate/tRustMail 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" "+c8a31b780d5415358566a20b94912620a3f27067" "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 mailin v0.6.5
[INFO] [stderr]   Downloaded quoted_printable v0.4.8
[INFO] [stderr]   Downloaded base64-compat v1.0.0
[INFO] [stderr]   Downloaded ternop v1.0.1
[INFO] [stderr]   Downloaded email-encoding v0.2.1
[INFO] [stderr]   Downloaded rustls-webpki v0.100.3
[INFO] [stderr]   Downloaded lettre v0.10.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c8a31b780d5415358566a20b94912620a3f27067" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7571173e4ee80c59940d8b536a23875f3fcd83bde9477742a540ab26ae562edd
[INFO] running `Command { std: "docker" "start" "-a" "7571173e4ee80c59940d8b536a23875f3fcd83bde9477742a540ab26ae562edd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7571173e4ee80c59940d8b536a23875f3fcd83bde9477742a540ab26ae562edd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7571173e4ee80c59940d8b536a23875f3fcd83bde9477742a540ab26ae562edd", kill_on_drop: false }`
[INFO] [stdout] 7571173e4ee80c59940d8b536a23875f3fcd83bde9477742a540ab26ae562edd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c8a31b780d5415358566a20b94912620a3f27067" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 49b00fb0ca9439d978b4f15de6f0eeaab36ca3d578218892c4d7b70d1aa6d43d
[INFO] running `Command { std: "docker" "start" "-a" "49b00fb0ca9439d978b4f15de6f0eeaab36ca3d578218892c4d7b70d1aa6d43d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling rustls v0.20.9
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking tokio v1.45.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling icu_properties_data v2.0.0
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling tinyvec v1.9.0
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling socket2 v0.5.9
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling dirs-sys v0.3.7
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling dirs v4.0.0
[INFO] [stderr]    Compiling futures-intrusive v0.4.2
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling sqlformat v0.2.6
[INFO] [stderr]    Compiling atoi v1.0.0
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]     Checking unicode_categories v0.1.1
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling uuid v1.16.0
[INFO] [stderr]    Compiling whoami v1.6.0
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking rustls-webpki v0.100.3
[INFO] [stderr]     Checking zeroize v1.3.0
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking webpki v0.22.4
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking webpki-roots v0.22.6
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]     Checking signature v1.6.4
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking ed25519 v1.5.3
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking email-encoding v0.2.1
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking webpki-roots v0.23.1
[INFO] [stderr]     Checking curve25519-dalek v3.2.1
[INFO] [stderr]     Checking axum-core v0.3.4
[INFO] [stderr]     Checking serde_path_to_error v0.1.17
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking idna v0.3.0
[INFO] [stderr]     Checking base64-compat v1.0.0
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking ternop v1.0.1
[INFO] [stderr]     Checking email_address v0.2.9
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking quoted_printable v0.4.8
[INFO] [stderr]     Checking mailin v0.6.5
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking lettre v0.10.4
[INFO] [stderr]     Checking tokio-rustls v0.23.4
[INFO] [stderr]    Compiling sqlx-rt v0.6.3
[INFO] [stderr]    Compiling sqlx-core v0.6.3
[INFO] [stderr]    Compiling sqlx-macros v0.6.3
[INFO] [stderr]     Checking sqlx v0.6.3
[INFO] [stderr]     Checking mailsender v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/api.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |       let email = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 150 | |         db::EmailRecord,
[INFO] [stdout] 151 | |         r#"
[INFO] [stdout] 152 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 169 | |         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_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]   --> src/db.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |       let result = sqlx::query!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 72 | |         r#"
[INFO] [stdout] 73 | |         INSERT INTO emails (
[INFO] [stdout] 74 | |             id, from_email, to_email, subject, body_text, body_html,
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |         now
[INFO] [stdout] 88 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/db.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | /     sqlx::query!(
[INFO] [stdout] 110 | |         r#"
[INFO] [stdout] 111 | |         UPDATE emails
[INFO] [stdout] 112 | |         SET status = $1, updated_at = $2, sent_at = $3, error_message = $4
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |         email_id
[INFO] [stdout] 120 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/db.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |       let records = sqlx::query_as!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 132 | |         EmailRecord,
[INFO] [stdout] 133 | |         r#"
[INFO] [stdout] 134 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 144 | |         limit
[INFO] [stdout] 145 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/db.rs:161:18
[INFO] [stdout]     |
[INFO] [stdout] 161 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 162 | |         r#"
[INFO] [stdout] 163 | |         UPDATE emails
[INFO] [stdout] 164 | |         SET retry_count = retry_count + 1,
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         email_id
[INFO] [stdout] 175 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/db.rs:192:18
[INFO] [stdout]     |
[INFO] [stdout] 192 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 193 | |         r#"
[INFO] [stdout] 194 | |         INSERT INTO domain_keys (id, domain, selector, private_key, public_key, created_at)
[INFO] [stdout] 195 | |         VALUES ($1, $2, $3, $4, $5, $6)
[INFO] [stdout] ...   |
[INFO] [stdout] 203 | |         now
[INFO] [stdout] 204 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/db.rs:212:18
[INFO] [stdout]     |
[INFO] [stdout] 212 |       let record = sqlx::query_as!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 213 | |         DomainKey,
[INFO] [stdout] 214 | |         r#"
[INFO] [stdout] 215 | |         SELECT id, domain, selector, private_key, public_key, created_at
[INFO] [stdout] ...   |
[INFO] [stdout] 220 | |         selector
[INFO] [stdout] 221 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/db.rs:237:18
[INFO] [stdout]     |
[INFO] [stdout] 237 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 238 | |         r#"
[INFO] [stdout] 239 | |         SELECT COUNT(*) as count
[INFO] [stdout] 240 | |         FROM emails
[INFO] [stdout] ...   |
[INFO] [stdout] 246 | |         period_start
[INFO] [stdout] 247 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/api.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |       let email = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 150 | |         db::EmailRecord,
[INFO] [stdout] 151 | |         r#"
[INFO] [stdout] 152 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 169 | |         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_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]   --> src/db.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |       let result = sqlx::query!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 72 | |         r#"
[INFO] [stdout] 73 | |         INSERT INTO emails (
[INFO] [stdout] 74 | |             id, from_email, to_email, subject, body_text, body_html,
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |         now
[INFO] [stdout] 88 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/db.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | /     sqlx::query!(
[INFO] [stdout] 110 | |         r#"
[INFO] [stdout] 111 | |         UPDATE emails
[INFO] [stdout] 112 | |         SET status = $1, updated_at = $2, sent_at = $3, error_message = $4
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |         email_id
[INFO] [stdout] 120 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/db.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |       let records = sqlx::query_as!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 132 | |         EmailRecord,
[INFO] [stdout] 133 | |         r#"
[INFO] [stdout] 134 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 144 | |         limit
[INFO] [stdout] 145 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/db.rs:161:18
[INFO] [stdout]     |
[INFO] [stdout] 161 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 162 | |         r#"
[INFO] [stdout] 163 | |         UPDATE emails
[INFO] [stdout] 164 | |         SET retry_count = retry_count + 1,
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |         email_id
[INFO] [stdout] 175 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/db.rs:192:18
[INFO] [stdout]     |
[INFO] [stdout] 192 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 193 | |         r#"
[INFO] [stdout] 194 | |         INSERT INTO domain_keys (id, domain, selector, private_key, public_key, created_at)
[INFO] [stdout] 195 | |         VALUES ($1, $2, $3, $4, $5, $6)
[INFO] [stdout] ...   |
[INFO] [stdout] 203 | |         now
[INFO] [stdout] 204 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/db.rs:212:18
[INFO] [stdout]     |
[INFO] [stdout] 212 |       let record = sqlx::query_as!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 213 | |         DomainKey,
[INFO] [stdout] 214 | |         r#"
[INFO] [stdout] 215 | |         SELECT id, domain, selector, private_key, public_key, created_at
[INFO] [stdout] ...   |
[INFO] [stdout] 220 | |         selector
[INFO] [stdout] 221 | |     )
[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: `DATABASE_URL` must be set, or `cargo sqlx prepare` must have been run and sqlx-data.json must exist, to use query macros
[INFO] [stdout]    --> src/db.rs:237:18
[INFO] [stdout]     |
[INFO] [stdout] 237 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 238 | |         r#"
[INFO] [stdout] 239 | |         SELECT COUNT(*) as count
[INFO] [stdout] 240 | |         FROM emails
[INFO] [stdout] ...   |
[INFO] [stdout] 246 | |         period_start
[INFO] [stdout] 247 | |     )
[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: `crate::db`
[INFO] [stdout]  --> src/api.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::db;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/smtp_listener.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{error, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::db`
[INFO] [stdout]  --> src/api.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::db;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/smtp_listener.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{error, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/api.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |       let email = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 150 | |         db::EmailRecord,
[INFO] [stdout] 151 | |         r#"
[INFO] [stdout] 152 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | |     .fetch_optional(&state.pool)
[INFO] [stdout] 172 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/api.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |       let email = sqlx::query_as!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 150 | |         db::EmailRecord,
[INFO] [stdout] 151 | |         r#"
[INFO] [stdout] 152 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | |     .fetch_optional(&state.pool)
[INFO] [stdout] 172 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `email_processor`
[INFO] [stdout]   --> src/smtp_listener.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let email_processor: JoinHandle<()> = tokio::spawn(async move {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_email_processor`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_handle`
[INFO] [stdout]   --> src/smtp_listener.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let server_handle = tokio::spawn(async move {
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket`
[INFO] [stdout]    --> src/smtp_listener.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     socket: tokio::net::TcpStream,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handler`
[INFO] [stdout]    --> src/smtp_listener.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 269 |     handler: &mut MailinSmtpHandler,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `email_processor`
[INFO] [stdout]   --> src/smtp_listener.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let email_processor: JoinHandle<()> = tokio::spawn(async move {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_email_processor`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_handle`
[INFO] [stdout]   --> src/smtp_listener.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let server_handle = tokio::spawn(async move {
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket`
[INFO] [stdout]    --> src/smtp_listener.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     socket: tokio::net::TcpStream,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handler`
[INFO] [stdout]    --> src/smtp_listener.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 269 |     handler: &mut MailinSmtpHandler,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mailsender` (bin "mailsender") due to 9 previous errors; 6 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mailsender` (bin "mailsender" test) due to 9 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "49b00fb0ca9439d978b4f15de6f0eeaab36ca3d578218892c4d7b70d1aa6d43d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49b00fb0ca9439d978b4f15de6f0eeaab36ca3d578218892c4d7b70d1aa6d43d", kill_on_drop: false }`
[INFO] [stdout] 49b00fb0ca9439d978b4f15de6f0eeaab36ca3d578218892c4d7b70d1aa6d43d
