[INFO] cloning repository https://github.com/Hydrillane/zero2prod
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Hydrillane/zero2prod" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHydrillane%2Fzero2prod", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHydrillane%2Fzero2prod'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 52da0259c2aead7f0bf67d3610f123e92852be59
[INFO] checking Hydrillane/zero2prod/52da0259c2aead7f0bf67d3610f123e92852be59 against master#fcac501a73cdde54de46a0683567f1a890730555 for pr-151102
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHydrillane%2Fzero2prod" "/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/Hydrillane/zero2prod
[INFO] finished tweaking git repo https://github.com/Hydrillane/zero2prod
[INFO] tweaked toml for git repo https://github.com/Hydrillane/zero2prod written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Hydrillane/zero2prod on toolchain fcac501a73cdde54de46a0683567f1a890730555
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fcac501a73cdde54de46a0683567f1a890730555" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Hydrillane/zero2prod 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" "+fcac501a73cdde54de46a0683567f1a890730555" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded deranged v0.5.5
[INFO] [stderr]   Downloaded time-core v0.1.6
[INFO] [stderr]   Downloaded quickcheck_macros v1.1.0
[INFO] [stderr]   Downloaded features v0.10.0
[INFO] [stderr]   Downloaded universal-hash v0.5.1
[INFO] [stderr]   Downloaded validator v0.20.0
[INFO] [stderr]   Downloaded windows-result v0.4.1
[INFO] [stderr]   Downloaded quickcheck v1.0.3
[INFO] [stderr]   Downloaded windows-interface v0.59.3
[INFO] [stderr]   Downloaded deadpool-runtime v0.1.4
[INFO] [stderr]   Downloaded windows-implement v0.60.2
[INFO] [stderr]   Downloaded config v0.11.0
[INFO] [stderr]   Downloaded rust-ini v0.13.0
[INFO] [stderr]   Downloaded actix-utils v3.0.1
[INFO] [stderr]   Downloaded claim v0.5.0
[INFO] [stderr]   Downloaded bytestring v1.5.0
[INFO] [stderr]   Downloaded actix-web-lab-derive v0.24.0
[INFO] [stderr]   Downloaded argon2 v0.5.3
[INFO] [stderr]   Downloaded backon v1.6.0
[INFO] [stderr]   Downloaded password-hash v0.5.0
[INFO] [stderr]   Downloaded blake2 v0.10.6
[INFO] [stderr]   Downloaded arc-swap v1.7.1
[INFO] [stderr]   Downloaded actix-session v0.11.0
[INFO] [stderr]   Downloaded aead v0.5.2
[INFO] [stderr]   Downloaded htmlescape v0.3.1
[INFO] [stderr]   Downloaded actix-web-lab v0.24.3
[INFO] [stderr]   Downloaded itertools v0.14.0
[INFO] [stderr]   Downloaded cipher v0.4.4
[INFO] [stderr]   Downloaded local-waker v0.1.4
[INFO] [stderr]   Downloaded document-features v0.2.12
[INFO] [stderr]   Downloaded derive_builder_macro v0.20.2
[INFO] [stderr]   Downloaded ordered-float v2.10.1
[INFO] [stderr]   Downloaded assert-json-diff v2.0.2
[INFO] [stderr]   Downloaded secrecy v0.10.3
[INFO] [stderr]   Downloaded mutually_exclusive_features v0.1.0
[INFO] [stderr]   Downloaded windows-registry v0.5.3
[INFO] [stderr]   Downloaded lru-slab v0.1.2
[INFO] [stderr]   Downloaded time-macros v0.2.24
[INFO] [stderr]   Downloaded local-channel v0.1.5
[INFO] [stderr]   Downloaded actix-macros v0.2.4
[INFO] [stderr]   Downloaded redis v0.32.7
[INFO] [stderr]   Downloaded polyval v0.6.2
[INFO] [stderr]   Downloaded windows-strings v0.5.1
[INFO] [stderr]   Downloaded tracing-log v0.1.4
[INFO] [stderr]   Downloaded derive_builder_core v0.20.2
[INFO] [stderr]   Downloaded derive_builder v0.20.2
[INFO] [stderr]   Downloaded base64ct v1.8.0
[INFO] [stderr]   Downloaded actix-rt v2.11.0
[INFO] [stderr]   Downloaded actix-service v2.0.3
[INFO] [stderr]   Downloaded actix-web-codegen v4.3.0
[INFO] [stderr]   Downloaded nom v5.1.3
[INFO] [stderr]   Downloaded zstd v0.13.3
[INFO] [stderr]   Downloaded fake v4.4.0
[INFO] [stderr]   Downloaded impl-more v0.1.9
[INFO] [stderr]   Downloaded deadpool v0.12.3
[INFO] [stderr]   Downloaded inout v0.1.4
[INFO] [stderr]   Downloaded ghash v0.5.1
[INFO] [stderr]   Downloaded actix-codec v0.5.2
[INFO] [stderr]   Downloaded value-bag v1.11.1
[INFO] [stderr]   Downloaded quinn-udp v0.5.14
[INFO] [stderr]   Downloaded tokio-rustls v0.26.4
[INFO] [stderr]   Downloaded serde-aux v4.7.0
[INFO] [stderr]   Downloaded tracing-actix-web v0.7.19
[INFO] [stderr]   Downloaded cookie_store v0.21.1
[INFO] [stderr]   Downloaded actix-router v0.5.3
[INFO] [stderr]   Downloaded litrs v1.0.0
[INFO] [stderr]   Downloaded cookie v0.18.1
[INFO] [stderr]   Downloaded windows-core v0.62.2
[INFO] [stderr]   Downloaded ctr v0.9.2
[INFO] [stderr]   Downloaded wiremock v0.6.5
[INFO] [stderr]   Downloaded uuid v1.18.1
[INFO] [stderr]   Downloaded cookie v0.16.2
[INFO] [stderr]   Downloaded rustls-pki-types v1.13.0
[INFO] [stderr]   Downloaded language-tags v0.3.2
[INFO] [stderr]   Downloaded async-io v2.6.0
[INFO] [stderr]   Downloaded icu_properties v2.1.1
[INFO] [stderr]   Downloaded zstd-safe v7.2.4
[INFO] [stderr]   Downloaded actix-server v2.6.0
[INFO] [stderr]   Downloaded hyper-rustls v0.27.7
[INFO] [stderr]   Downloaded derive_more v2.0.1
[INFO] [stderr]   Downloaded polling v3.11.0
[INFO] [stderr]   Downloaded base64 v0.20.0
[INFO] [stderr]   Downloaded cc v1.2.45
[INFO] [stderr]   Downloaded rsa v0.9.8
[INFO] [stderr]   Downloaded derive_more-impl v2.0.1
[INFO] [stderr]   Downloaded publicsuffix v2.3.0
[INFO] [stderr]   Downloaded fancy-regex v0.13.0
[INFO] [stderr]   Downloaded rustls-webpki v0.103.8
[INFO] [stderr]   Downloaded quinn v0.11.9
[INFO] [stderr]   Downloaded regex-lite v0.1.8
[INFO] [stderr]   Downloaded iana-time-zone v0.1.64
[INFO] [stderr]   Downloaded serde-value v0.7.0
[INFO] [stderr]   Downloaded mio v1.1.0
[INFO] [stderr]   Downloaded aes v0.8.4
[INFO] [stderr]   Downloaded hyper-util v0.1.17
[INFO] [stderr]   Downloaded tower-http v0.6.6
[INFO] [stderr]   Downloaded iri-string v0.7.9
[INFO] [stderr]   Downloaded hyper v1.8.0
[INFO] [stderr]   Downloaded reqwest v0.12.24
[INFO] [stderr]   Downloaded brotli-decompressor v5.0.0
[INFO] [stderr]   Downloaded async-std v1.13.2
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.20
[INFO] [stderr]   Downloaded quinn-proto v0.11.13
[INFO] [stderr]   Downloaded webpki-roots v1.0.4
[INFO] [stderr]   Downloaded actix-web v4.11.0
[INFO] [stderr]   Downloaded tracing-bunyan-formatter v0.3.10
[INFO] [stderr]   Downloaded chrono v0.4.42
[INFO] [stderr]   Downloaded syn v2.0.110
[INFO] [stderr]   Downloaded rustls v0.23.35
[INFO] [stderr]   Downloaded h2 v0.4.12
[INFO] [stderr]   Downloaded actix-http v3.11.2
[INFO] [stderr]   Downloaded icu_properties_data v2.1.1
[INFO] [stderr]   Downloaded zxcvbn v3.1.0
[INFO] [stderr]   Downloaded regex v1.12.2
[INFO] [stderr]   Downloaded aes-gcm v0.10.3
[INFO] [stderr]   Downloaded time v0.3.44
[INFO] [stderr]   Downloaded crc v3.3.0
[INFO] [stderr]   Downloaded actix-web-flash-messages v0.5.0
[INFO] [stderr]   Downloaded serde_html_form v0.2.8
[INFO] [stderr]   Downloaded serde v0.8.23
[INFO] [stderr]   Downloaded linkify v0.10.0
[INFO] [stderr]   Downloaded serde-hjson v0.9.1
[INFO] [stderr]   Downloaded brotli v8.0.2
[INFO] [stderr]   Downloaded zstd-sys v2.0.16+zstd.1.5.7
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+fcac501a73cdde54de46a0683567f1a890730555" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ca6ec51d5d645160b48993c0b2416f9eaf34d29b75971fe787ff4ff0482be38d
[INFO] running `Command { std: "docker" "start" "-a" "ca6ec51d5d645160b48993c0b2416f9eaf34d29b75971fe787ff4ff0482be38d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ca6ec51d5d645160b48993c0b2416f9eaf34d29b75971fe787ff4ff0482be38d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca6ec51d5d645160b48993c0b2416f9eaf34d29b75971fe787ff4ff0482be38d", kill_on_drop: false }`
[INFO] [stdout] ca6ec51d5d645160b48993c0b2416f9eaf34d29b75971fe787ff4ff0482be38d
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+fcac501a73cdde54de46a0683567f1a890730555" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 76bca3f813e5af202123d50b771d66fa69fd879a370d671b7e7a92eb092f617a
[INFO] running `Command { std: "docker" "start" "-a" "76bca3f813e5af202123d50b771d66fa69fd879a370d671b7e7a92eb092f617a", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]     Checking value-bag v1.11.1
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling cc v1.2.45
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking indexmap v2.12.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking deranged v0.5.5
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling rustix v0.37.28
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]    Compiling futures-lite v2.6.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]     Checking local-waker v0.1.4
[INFO] [stderr]    Compiling async-task v4.7.1
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking openssl-probe v0.1.6
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]    Compiling piper v0.2.4
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling async-channel v2.5.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling blocking v1.6.2
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]    Compiling polling v3.11.0
[INFO] [stderr]     Checking brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling async-executor v1.13.3
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]    Compiling async-lock v3.4.1
[INFO] [stderr]    Compiling bytestring v1.5.0
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking actix-rt v2.11.0
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]     Checking actix-service v2.0.3
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling linux-raw-sys v0.3.8
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling regex-lite v0.1.8
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]    Compiling async-global-executor v2.4.1
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking brotli v8.0.2
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking rustls-pki-types v1.13.0
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]    Compiling async-lock v2.8.0
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling socket2 v0.4.10
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking base64 v0.20.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling crc v3.3.0
[INFO] [stderr]     Checking actix-server v2.6.0
[INFO] [stderr]    Compiling async-std v1.13.2
[INFO] [stderr]     Checking actix-http v3.11.2
[INFO] [stderr]     Checking hyper v1.8.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling rustls v0.23.35
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]    Compiling unicode-properties v0.1.4
[INFO] [stderr]     Checking impl-more v0.1.9
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]     Checking actix-web v4.11.0
[INFO] [stderr]     Checking hyper-util v0.1.17
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]     Checking rustls-webpki v0.103.8
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling nom v5.1.3
[INFO] [stderr]    Compiling sqlx-postgres v0.8.6
[INFO] [stderr]     Checking arc-swap v1.7.1
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking psl-types v2.0.11
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking publicsuffix v2.3.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking webpki-roots v1.0.4
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking backon v1.6.0
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]    Compiling claim v0.5.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking iri-string v0.7.9
[INFO] [stderr]     Checking serde v0.8.23
[INFO] [stderr]     Checking deadpool-runtime v0.1.4
[INFO] [stderr]     Checking base64ct v1.8.0
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]     Checking deadpool v0.12.3
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking cookie_store v0.21.1
[INFO] [stderr]     Checking serde-hjson v0.9.1
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking fancy-regex v0.13.0
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking assert-json-diff v2.0.2
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]    Compiling actix-web-lab-derive v0.24.0
[INFO] [stderr]     Checking serde_html_form v0.2.8
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking tracing-log v0.1.4
[INFO] [stderr]     Checking gethostname v0.2.3
[INFO] [stderr]     Checking mutually_exclusive_features v0.1.0
[INFO] [stderr]     Checking redis v0.32.7
[INFO] [stderr]     Checking deunicode v1.6.2
[INFO] [stderr]     Checking keccak v0.1.5
[INFO] [stderr]     Checking rust-ini v0.13.0
[INFO] [stderr]     Checking actix-web-lab v0.24.3
[INFO] [stderr]     Checking fake v4.4.0
[INFO] [stderr]     Checking config v0.11.0
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking tracing-bunyan-formatter v0.3.10
[INFO] [stderr]     Checking tracing-actix-web v0.7.19
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking zxcvbn v3.1.0
[INFO] [stderr]     Checking quickcheck v1.0.3
[INFO] [stderr]     Checking wiremock v0.6.5
[INFO] [stderr]     Checking reqwest v0.12.24
[INFO] [stderr]     Checking serde-aux v4.7.0
[INFO] [stderr]     Checking actix-web-flash-messages v0.5.0
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]     Checking validator v0.20.0
[INFO] [stderr]     Checking features v0.10.0
[INFO] [stderr]    Compiling quickcheck_macros v1.1.0
[INFO] [stderr]     Checking linkify v0.10.0
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking htmlescape v0.3.1
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking actix-session v0.11.0
[INFO] [stderr]     Checking zero2production v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tracing_subscriber::fmt::Formatter`
[INFO] [stdout]  --> src/routes/subscriptions_confirm.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing_subscriber::fmt::Formatter;
[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: `IncomingFlashMessages`
[INFO] [stdout]  --> src/routes/logout/post.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | use actix_web_flash_messages::{FlashMessage, IncomingFlashMessages};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]  --> src/routes/logout/post.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Level`
[INFO] [stdout]  --> src/routes/newsletter/post.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | use actix_web_flash_messages::{FlashMessage, Level};
[INFO] [stdout]   |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Form`, `HeaderMap`, and `HttpRequest`
[INFO] [stdout]  --> src/routes/newsletter/post.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use actix_web::{http::{header::{HeaderMap, HeaderValue},  StatusCode}, web::{self, Form}, HttpRequest, HttpResponse, ResponseError};
[INFO] [stdout]   |                                 ^^^^^^^^^                                          ^^^^   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthError`, `Credentials`, and `validate_users_table`
[INFO] [stdout]  --> src/routes/newsletter/post.rs:7:54
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{authentication::{get_username_from_uuid, validate_users_table, AuthError, Credentials}, domain::SubscriberEmail, email_cl...
[INFO] [stdout]   |                                                      ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/routes/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use newsletter::*;
[INFO] [stdout]    |         ------------- but the name `FormData` in the type namespace is also re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 18 | pub use reset::*;
[INFO] [stdout]    |         ^^^^^^^^ the name `FormData` in the type namespace is first re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/startup.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{net::TcpListener, thread};
[INFO] [stdout]   |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::domain::NewSubscriber`
[INFO] [stdout]  --> src/domain/subscriber_name.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::domain::NewSubscriber;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Fake`, `Faker`, `ar_sa::Sentence`, `internet::ar_sa::SafeEmail`, and `zh_cn::Paragraph`
[INFO] [stdout]  --> src/email_client.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use fake::{faker::{internet::ar_sa::SafeEmail, lorem::{ar_sa::Sentence, zh_cn::Paragraph}}, Fake, Faker};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^    ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SecretBox`
[INFO] [stdout]  --> src/email_client.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use secrecy::{ExposeSecret, SecretBox, SecretString};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SecretBox`
[INFO] [stdout]   --> src/email_client.rs:83:19
[INFO] [stdout]    |
[INFO] [stdout] 83 |     use secrecy::{SecretBox, SecretString};
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorHandlerResponse`
[INFO] [stdout]  --> src/middleware/middleware.rs:4:111
[INFO] [stdout]   |
[INFO] [stdout] 4 | use actix_web::{body::MessageBody, dev::{ServiceRequest, ServiceResponse}, error::InternalError, middleware::{ErrorHandlerResponse, N...
[INFO] [stdout]   |                                                                                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/idempotency/persistent.rs:1:40
[INFO] [stdout]   |
[INFO] [stdout] 1 | use actix_web::{body::to_bytes, http::{self, StatusCode}, HttpResponse};
[INFO] [stdout]   |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clone`
[INFO] [stdout]  --> src/issue_delivery_work.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{clone, time::Duration};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PgConnection`
[INFO] [stdout]  --> src/issue_delivery_work.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use sqlx::{PgConnection, PgPool, Postgres, Transaction};
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/issue_delivery_work.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{configuration::{self, Setting}, domain::SubscriberEmail, email_client::EmailClient, startup::get_connection_pool};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_subscriber::fmt::Formatter`
[INFO] [stdout]  --> src/routes/subscriptions_confirm.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing_subscriber::fmt::Formatter;
[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: `IncomingFlashMessages`
[INFO] [stdout]  --> src/routes/logout/post.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | use actix_web_flash_messages::{FlashMessage, IncomingFlashMessages};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]  --> src/routes/logout/post.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Level`
[INFO] [stdout]  --> src/routes/newsletter/post.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | use actix_web_flash_messages::{FlashMessage, Level};
[INFO] [stdout]   |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Form`, `HeaderMap`, and `HttpRequest`
[INFO] [stdout]  --> src/routes/newsletter/post.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use actix_web::{http::{header::{HeaderMap, HeaderValue},  StatusCode}, web::{self, Form}, HttpRequest, HttpResponse, ResponseError};
[INFO] [stdout]   |                                 ^^^^^^^^^                                          ^^^^   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthError`, `Credentials`, and `validate_users_table`
[INFO] [stdout]  --> src/routes/newsletter/post.rs:7:54
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{authentication::{get_username_from_uuid, validate_users_table, AuthError, Credentials}, domain::SubscriberEmail, email_cl...
[INFO] [stdout]   |                                                      ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/routes/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use newsletter::*;
[INFO] [stdout]    |         ------------- but the name `FormData` in the type namespace is also re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 18 | pub use reset::*;
[INFO] [stdout]    |         ^^^^^^^^ the name `FormData` in the type namespace is first re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/startup.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{net::TcpListener, thread};
[INFO] [stdout]   |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::domain::NewSubscriber`
[INFO] [stdout]  --> src/domain/subscriber_name.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::domain::NewSubscriber;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Fake`, `Faker`, `ar_sa::Sentence`, `internet::ar_sa::SafeEmail`, and `zh_cn::Paragraph`
[INFO] [stdout]  --> src/email_client.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use fake::{faker::{internet::ar_sa::SafeEmail, lorem::{ar_sa::Sentence, zh_cn::Paragraph}}, Fake, Faker};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^    ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SecretBox`
[INFO] [stdout]  --> src/email_client.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use secrecy::{ExposeSecret, SecretBox, SecretString};
[INFO] [stdout]   |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorHandlerResponse`
[INFO] [stdout]  --> src/middleware/middleware.rs:4:111
[INFO] [stdout]   |
[INFO] [stdout] 4 | use actix_web::{body::MessageBody, dev::{ServiceRequest, ServiceResponse}, error::InternalError, middleware::{ErrorHandlerResponse, N...
[INFO] [stdout]   |                                                                                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/idempotency/persistent.rs:1:40
[INFO] [stdout]   |
[INFO] [stdout] 1 | use actix_web::{body::to_bytes, http::{self, StatusCode}, HttpResponse};
[INFO] [stdout]   |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clone`
[INFO] [stdout]  --> src/issue_delivery_work.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{clone, time::Duration};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PgConnection`
[INFO] [stdout]  --> src/issue_delivery_work.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use sqlx::{PgConnection, PgPool, Postgres, Transaction};
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/issue_delivery_work.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{configuration::{self, Setting}, domain::SubscriberEmail, email_client::EmailClient, startup::get_connection_pool};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/routes/login/post.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |           let secret = todo!();
[INFO] [stdout]    |                        ------- any code following this expression is unreachable
[INFO] [stdout] 35 | /         let hmac_tag = {
[INFO] [stdout] 36 | |             let mac = Hmac::<sha2::Sha256>::new_from_slice(secret).unwrap();
[INFO] [stdout] 37 | |             mac.update(query_string.as_bytes());
[INFO] [stdout] 38 | |             mac.finalize().into_bytes()
[INFO] [stdout] 39 | |         };
[INFO] [stdout]    | |__________^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Subscriber`
[INFO] [stdout]  --> src/issue_delivery_work.rs:4:45
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{field::{self, display}, Span, Subscriber};
[INFO] [stdout]   |                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/routes/login/post.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |           let secret = todo!();
[INFO] [stdout]    |                        ------- any code following this expression is unreachable
[INFO] [stdout] 35 | /         let hmac_tag = {
[INFO] [stdout] 36 | |             let mac = Hmac::<sha2::Sha256>::new_from_slice(secret).unwrap();
[INFO] [stdout] 37 | |             mac.update(query_string.as_bytes());
[INFO] [stdout] 38 | |             mac.finalize().into_bytes()
[INFO] [stdout] 39 | |         };
[INFO] [stdout]    | |__________^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query_string`
[INFO] [stdout]   --> src/routes/login/post.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let query_string = format!(
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `secret`
[INFO] [stdout]   --> src/routes/login/post.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let secret = todo!();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/routes/reset/post.rs:53:43
[INFO] [stdout]    |
[INFO] [stdout] 53 |             AuthError::InvalidCredentials(e) => {
[INFO] [stdout]    |                                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/routes/reset/post.rs:59:40
[INFO] [stdout]    |
[INFO] [stdout] 59 |             AuthError::UnexpectedError(e) => {
[INFO] [stdout]    |                                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Subscriber`
[INFO] [stdout]  --> src/issue_delivery_work.rs:4:45
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{field::{self, display}, Span, Subscriber};
[INFO] [stdout]   |                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/routes/newsletter/post.rs:43:47
[INFO] [stdout]    |
[INFO] [stdout] 43 |             PublishError::AuthenticationError(e) => {
[INFO] [stdout]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]   --> src/session_crate.rs:50:51
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_request(req: &actix_web::HttpRequest, payload: &mut actix_web::dev::Payload) -> Self::Future {
[INFO] [stdout]    |                                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_len`
[INFO] [stdout]   --> src/idempotency/key.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let max_len = 50;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]    --> src/issue_delivery_work.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let sender = setting.email_client.sender().expect("Failed to get email sender");
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/issue_delivery_work.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let timeout = setting.email_client.timeout();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/routes/subscription.rs:214:28
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub struct StoreTokenError(sqlx::Error);
[INFO] [stdout]     |            --------------- ^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryParameter` is never constructed
[INFO] [stdout]   --> src/routes/login/get.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct QueryParameter {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `verify` is never used
[INFO] [stdout]   --> src/routes/login/get.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl QueryParameter {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 18 |     fn verify(self,secret:
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `succed_message` is never used
[INFO] [stdout]    --> src/routes/newsletter/post.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn succed_message() -> FlashMessage {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/domain/subscriber_email.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn as_email_string(&self) -> Option<std::borrow::Cow<str>> {
[INFO] [stdout]    |                        ^^^^^            ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn as_email_string(&self) -> Option<std::borrow::Cow<'_, str>> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query_string`
[INFO] [stdout]   --> src/routes/login/post.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let query_string = format!(
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `secret`
[INFO] [stdout]   --> src/routes/login/post.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let secret = todo!();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/routes/reset/post.rs:53:43
[INFO] [stdout]    |
[INFO] [stdout] 53 |             AuthError::InvalidCredentials(e) => {
[INFO] [stdout]    |                                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/routes/reset/post.rs:59:40
[INFO] [stdout]    |
[INFO] [stdout] 59 |             AuthError::UnexpectedError(e) => {
[INFO] [stdout]    |                                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/routes/newsletter/post.rs:43:47
[INFO] [stdout]    |
[INFO] [stdout] 43 |             PublishError::AuthenticationError(e) => {
[INFO] [stdout]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]   --> src/session_crate.rs:50:51
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_request(req: &actix_web::HttpRequest, payload: &mut actix_web::dev::Payload) -> Self::Future {
[INFO] [stdout]    |                                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_len`
[INFO] [stdout]   --> src/idempotency/key.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let max_len = 50;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]    --> src/issue_delivery_work.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let sender = setting.email_client.sender().expect("Failed to get email sender");
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/issue_delivery_work.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let timeout = setting.email_client.timeout();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/routes/subscription.rs:214:28
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub struct StoreTokenError(sqlx::Error);
[INFO] [stdout]     |            --------------- ^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryParameter` is never constructed
[INFO] [stdout]   --> src/routes/login/get.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct QueryParameter {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `verify` is never used
[INFO] [stdout]   --> src/routes/login/get.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl QueryParameter {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 18 |     fn verify(self,secret:
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `succed_message` is never used
[INFO] [stdout]    --> src/routes/newsletter/post.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn succed_message() -> FlashMessage {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/domain/subscriber_email.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn as_email_string(&self) -> Option<std::borrow::Cow<str>> {
[INFO] [stdout]    |                        ^^^^^            ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn as_email_string(&self) -> Option<std::borrow::Cow<'_, str>> {
[INFO] [stdout]    |                                                          +++
[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]   --> tests/api/helpers.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | /         sqlx::query!(
[INFO] [stdout] 74 | |             r#"
[INFO] [stdout] 75 | |             INSERT INTO users (user_id,username,hash_password)
[INFO] [stdout] 76 | |             VALUES ($1, $2, $3)
[INFO] [stdout] ...  |
[INFO] [stdout] 80 | |             hash_password
[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 `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]    --> tests/api/helpers.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |           let row = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 256 | |             "SELECT username, hash_password FROM users LIMIT 1",
[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` (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]    --> tests/api/helpers.rs:332:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | /     sqlx::query!(
[INFO] [stdout] 333 | |         r#"INSERT INTO users (user_id, username, hash_password)
[INFO] [stdout] 334 | |         VALUES ($1, $2, $3)
[INFO] [stdout] 335 | |         "#,
[INFO] [stdout] ...   |
[INFO] [stdout] 338 | |         Uuid::new_v4().to_string()
[INFO] [stdout] 339 | |     )
[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]   --> tests/api/subscriptions.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let saved = sqlx::query!("SELECT email, name, status FROM subscriptions",)
[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]    --> tests/api/subscriptions.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | /     sqlx::query!(
[INFO] [stdout] 132 | |         "ALTER TABLE subscriptions
[INFO] [stdout] 133 | |         DROP COLUMN email;"
[INFO] [stdout] 134 | |     )
[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: `workers_loop`
[INFO] [stdout]  --> src/main.rs:7:70
[INFO] [stdout]   |
[INFO] [stdout] 7 | use zero2production::issue_delivery_work::{run_worker_until_stopped, workers_loop};
[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: `self`
[INFO] [stdout]  --> tests/api/helpers.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use reqwest::{redirect::{self, Policy}, Response, Url};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> tests/api/helpers.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |             .expect(("Failed to post to logout"));
[INFO] [stdout]     |                     ^                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 104 -             .expect(("Failed to post to logout"));
[INFO] [stdout] 104 +             .expect("Failed to post to logout");
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::Client`
[INFO] [stdout]  --> tests/api/subscriptions.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use reqwest::Client;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `any`
[INFO] [stdout]  --> tests/api/subscriptions.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wiremock::{matchers::{any, method, path}, Mock, ResponseTemplate};
[INFO] [stdout]   |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> tests/api/login.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> tests/api/helpers.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | /         sqlx::query!(
[INFO] [stdout] 74 | |             r#"
[INFO] [stdout] 75 | |             INSERT INTO users (user_id,username,hash_password)
[INFO] [stdout] 76 | |             VALUES ($1, $2, $3)
[INFO] [stdout] ...  |
[INFO] [stdout] 82 | |             .execute(pool)
[INFO] [stdout] 83 | |             .await
[INFO] [stdout]    | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/api/helpers.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |           let row = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 256 | |             "SELECT username, hash_password FROM users LIMIT 1",
[INFO] [stdout] 257 | |         )
[INFO] [stdout] 258 | |             .fetch_one(&self.db_pool)
[INFO] [stdout] 259 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/api/helpers.rs:332:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | /     sqlx::query!(
[INFO] [stdout] 333 | |         r#"INSERT INTO users (user_id, username, hash_password)
[INFO] [stdout] 334 | |         VALUES ($1, $2, $3)
[INFO] [stdout] 335 | |         "#,
[INFO] [stdout] ...   |
[INFO] [stdout] 340 | |         .execute(pool)
[INFO] [stdout] 341 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `workers_loop`
[INFO] [stdout]  --> src/main.rs:7:70
[INFO] [stdout]   |
[INFO] [stdout] 7 | use zero2production::issue_delivery_work::{run_worker_until_stopped, workers_loop};
[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]   --> tests/api/subscriptions.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |       let saved = sqlx::query!("SELECT email, name, status FROM subscriptions",)
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 36 | |         .fetch_one(&app.db_pool)
[INFO] [stdout] 37 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/api/subscriptions.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | /     sqlx::query!(
[INFO] [stdout] 132 | |         "ALTER TABLE subscriptions
[INFO] [stdout] 133 | |         DROP COLUMN email;"
[INFO] [stdout] ...   |
[INFO] [stdout] 136 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> tests/api/newsletter.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let response = app.post_newsletter(&newsletter_request_body).await;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_html`
[INFO] [stdout]   --> tests/api/reset.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let response_html = app.get_reset_form_html().await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_html`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response_reset`
[INFO] [stdout]   --> tests/api/reset.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let response_reset = app.post_to_reset(reset_body).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response_reset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logout_body`
[INFO] [stdout]    --> tests/api/reset.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let logout_body = app.get_login_form_html().await;
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logout_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `zero2production` (test "api") due to 10 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "76bca3f813e5af202123d50b771d66fa69fd879a370d671b7e7a92eb092f617a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "76bca3f813e5af202123d50b771d66fa69fd879a370d671b7e7a92eb092f617a", kill_on_drop: false }`
[INFO] [stdout] 76bca3f813e5af202123d50b771d66fa69fd879a370d671b7e7a92eb092f617a
