[INFO] cloning repository https://github.com/Arturr-H/twitter2
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Arturr-H/twitter2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArturr-H%2Ftwitter2", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArturr-H%2Ftwitter2'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2a723029067457962370e74e3044b0b5ab2aaae5
[INFO] checking Arturr-H/twitter2 against try#863511eff87e66198b396935f3b5c8a543022f53 for pr-139493-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArturr-H%2Ftwitter2" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Arturr-H/twitter2
[INFO] finished tweaking git repo https://github.com/Arturr-H/twitter2
[INFO] tweaked toml for git repo https://github.com/Arturr-H/twitter2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Arturr-H/twitter2 on toolchain 863511eff87e66198b396935f3b5c8a543022f53
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+863511eff87e66198b396935f3b5c8a543022f53" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Arturr-H/twitter2 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" "+863511eff87e66198b396935f3b5c8a543022f53" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+863511eff87e66198b396935f3b5c8a543022f53" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5af6f8b1bc40c86d2c683c52579260de38a85987f025cee74d5d2f73a6c48c1e
[INFO] running `Command { std: "docker" "start" "-a" "5af6f8b1bc40c86d2c683c52579260de38a85987f025cee74d5d2f73a6c48c1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5af6f8b1bc40c86d2c683c52579260de38a85987f025cee74d5d2f73a6c48c1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5af6f8b1bc40c86d2c683c52579260de38a85987f025cee74d5d2f73a6c48c1e", kill_on_drop: false }`
[INFO] [stdout] 5af6f8b1bc40c86d2c683c52579260de38a85987f025cee74d5d2f73a6c48c1e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+863511eff87e66198b396935f3b5c8a543022f53" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c5f94e7fd82914cfd4222f9340d2882347a3158bbc57164338ebb13cd2905b4d
[INFO] running `Command { std: "docker" "start" "-a" "c5f94e7fd82914cfd4222f9340d2882347a3158bbc57164338ebb13cd2905b4d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking bytes v1.7.2
[INFO] [stderr]    Compiling thiserror v1.0.64
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]    Compiling syn v2.0.79
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling rustls v0.23.13
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]    Compiling cc v1.1.28
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking hashbrown v0.15.0
[INFO] [stderr]     Checking cpufeatures v0.2.14
[INFO] [stderr]     Checking unicode-bidi v0.3.17
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]    Compiling tinyvec v1.8.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking indexmap v2.6.0
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]    Compiling rustls-pki-types v1.7.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]     Checking flate2 v1.0.34
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]     Checking local-waker v0.1.4
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking regex v1.11.0
[INFO] [stderr]     Checking url v2.5.2
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling allocator-api2 v0.2.18
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling tokio v1.40.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]    Compiling thiserror-impl v1.0.64
[INFO] [stderr]    Compiling rustls-webpki v0.102.8
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling bytestring v1.3.1
[INFO] [stderr]     Checking actix-service v2.0.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling anyhow v1.0.91
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling regex-lite v0.1.6
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.61
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling rustls-pemfile v2.1.3
[INFO] [stderr]    Compiling sqlformat v0.2.6
[INFO] [stderr]    Compiling chrono v0.4.38
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]    Compiling tokio-stream v0.1.16
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling event-listener v5.3.1
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]     Checking brotli v6.0.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]    Compiling crossbeam-queue v0.3.11
[INFO] [stderr]    Compiling webpki-roots v0.26.3
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking encoding_rs v0.8.34
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]    Compiling built v0.7.5
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling zstd-safe v7.2.1
[INFO] [stderr]     Checking zstd v0.13.2
[INFO] [stderr]    Compiling sqlx-core v0.8.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tokio-util v0.7.12
[INFO] [stderr]     Checking actix-rt v2.10.0
[INFO] [stderr]     Checking actix-server v2.5.0
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling profiling-procmacros v1.0.16
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]     Checking impl-more v0.1.6
[INFO] [stderr]    Compiling whoami v1.5.2
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling fastrand v2.1.1
[INFO] [stderr]    Compiling tempfile v3.13.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling sqlx-postgres v0.8.2
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking bitstream-io v2.5.3
[INFO] [stderr]     Checking imgref v1.11.0
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]    Compiling v_htmlescape v0.15.8
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking actix-http v3.9.0
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]     Checking avif-serialize v0.8.2
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.5
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking rgb v0.8.50
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking anstyle v1.0.9
[INFO] [stderr]     Checking bytemuck v1.19.0
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling parse-size v1.1.0
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]    Compiling actix-multipart-derive v0.7.0
[INFO] [stderr]     Checking anstream v0.6.17
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking png v0.17.14
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking zune-jpeg v0.4.13
[INFO] [stderr]     Checking actix-web v4.9.0
[INFO] [stderr]     Checking image-webp v0.2.0
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking serde_plain v1.0.2
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.2
[INFO] [stderr]     Checking simple_asn1 v0.6.2
[INFO] [stderr]     Checking env_filter v0.1.2
[INFO] [stderr]     Checking pem v3.0.4
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking http-range v0.1.5
[INFO] [stderr]     Checking jsonwebtoken v9.3.0
[INFO] [stderr]     Checking env_logger v0.11.5
[INFO] [stderr]     Checking ravif v0.11.11
[INFO] [stderr]    Compiling sqlx-macros v0.8.2
[INFO] [stderr]     Checking actix-files v0.6.6
[INFO] [stderr]     Checking actix-cors v0.7.0
[INFO] [stderr]     Checking actix-multipart v0.7.2
[INFO] [stderr]     Checking image v0.25.4
[INFO] [stderr]     Checking sqlx v0.8.2
[INFO] [stderr]     Checking twitter2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/models/opinion.rs:99:9
[INFO] [stdout]     |
[INFO] [stdout]  99 | /         sqlx::query_as!(Opinion, r#"
[INFO] [stdout] 100 | |             SELECT
[INFO] [stdout] 101 | |                 post_opinions.id as opinion_id, post_opinions.opinion,
[INFO] [stdout] 102 | |                 is_not_null(post_opinion_votes.user_id) AS "voted!: bool",
[INFO] [stdout] ...   |
[INFO] [stdout] 113 | |                 post_opinions.votes DESC;
[INFO] [stdout] 114 | |         "#, post_id)
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/models/opinion.rs:99:9
[INFO] [stdout]     |
[INFO] [stdout]  99 | /         sqlx::query_as!(Opinion, r#"
[INFO] [stdout] 100 | |             SELECT
[INFO] [stdout] 101 | |                 post_opinions.id as opinion_id, post_opinions.opinion,
[INFO] [stdout] 102 | |                 is_not_null(post_opinion_votes.user_id) AS "voted!: bool",
[INFO] [stdout] ...   |
[INFO] [stdout] 113 | |                 post_opinions.votes DESC;
[INFO] [stdout] 114 | |         "#, post_id)
[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: environment variable `PEPPER` not defined at compile time
[INFO] [stdout]   --> src/models/user.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 | const PEPPER: &'static str = env!("PEPPER");
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("PEPPER")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: environment variable `JWT_TOKEN_MAXAGE` not defined at compile time
[INFO] [stdout]   --> src/middleware/auth.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 |     static ref JWT_TOKEN_MAXAGE: u64 = env!("JWT_TOKEN_MAXAGE").parse::<u64>().unwrap();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("JWT_TOKEN_MAXAGE")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: environment variable `JWT_TOKEN_KEY` not defined at compile time
[INFO] [stdout]   --> src/middleware/auth.rs:11:46
[INFO] [stdout]    |
[INFO] [stdout] 11 |     static ref JWT_TOKEN_KEY: &'static str = env!("JWT_TOKEN_KEY");
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("JWT_TOKEN_KEY")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: environment variable `DEBUG_LOG` not defined at compile time
[INFO] [stdout]   --> src/utils/logger.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 |     static ref DEBUG: bool = env!("DEBUG_LOG").parse::<bool>().unwrap();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("DEBUG_LOG")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: environment variable `PEPPER` not defined at compile time
[INFO] [stdout]   --> src/models/user.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 | const PEPPER: &'static str = env!("PEPPER");
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("PEPPER")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/handlers/post.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | /     sqlx::query!(r#"
[INFO] [stdout] 45 | |         DELETE FROM posts WHERE id = $1 AND poster_id = $2;
[INFO] [stdout] 46 | |     "#, body.post_id, user.id())
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/handlers/user.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | /     sqlx::query_as!(UserInfo, r#"
[INFO] [stdout] 27 | |         SELECT 
[INFO] [stdout] 28 | |             users.id as user_id,
[INFO] [stdout] 29 | |             users.displayname,
[INFO] [stdout] ...  |
[INFO] [stdout] 40 | |         FROM users WHERE users.id = $1;
[INFO] [stdout] 41 | |     "#, id, user_id)
[INFO] [stdout]    | |____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/handlers/user.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | /     sqlx::query_as!(UserInfo, r#"
[INFO] [stdout] 60 | |         SELECT 
[INFO] [stdout] 61 | |             users.id as user_id,
[INFO] [stdout] 62 | |             users.displayname,
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |         FROM users WHERE users.handle = $1;
[INFO] [stdout] 74 | |     "#, handle, user_id)
[INFO] [stdout]    | |________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/handlers/user.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | /     sqlx::query_scalar!(r#"
[INFO] [stdout] 110 | |         SELECT handle FROM users
[INFO] [stdout] 111 | |     "#)
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: environment variable `JWT_TOKEN_MAXAGE` not defined at compile time
[INFO] [stdout]   --> src/middleware/auth.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 |     static ref JWT_TOKEN_MAXAGE: u64 = env!("JWT_TOKEN_MAXAGE").parse::<u64>().unwrap();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("JWT_TOKEN_MAXAGE")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: environment variable `JWT_TOKEN_KEY` not defined at compile time
[INFO] [stdout]   --> src/middleware/auth.rs:11:46
[INFO] [stdout]    |
[INFO] [stdout] 11 |     static ref JWT_TOKEN_KEY: &'static str = env!("JWT_TOKEN_KEY");
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("JWT_TOKEN_KEY")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/handlers/user.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | /     sqlx::query_as!(UserInfo, r#"
[INFO] [stdout] 149 | |         SELECT 
[INFO] [stdout] 150 | |             users.id as user_id,
[INFO] [stdout] 151 | |             users.displayname,
[INFO] [stdout] ...   |
[INFO] [stdout] 164 | |         LIMIT 5;
[INFO] [stdout] 165 | |     "#, user_id.0)
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/handlers/feed.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout] 12 | |         SELECT * FROM get_posts_default($1)
[INFO] [stdout] 13 | |             WHERE (replies_to IS NULL
[INFO] [stdout] 14 | |                 OR citation IS NOT NULL)
[INFO] [stdout] 15 | |             ORDER BY created_at DESC;
[INFO] [stdout] 16 | |     "#, user_id.0)
[INFO] [stdout]    | |__________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/handlers/feed.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | /     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout] 29 | |         SELECT * FROM get_posts_default($1)
[INFO] [stdout] 30 | |             WHERE (replies_to IS NULL
[INFO] [stdout] 31 | |                 OR citation IS NOT NULL)
[INFO] [stdout] 32 | |                 AND created_at > now() - interval '7 days'
[INFO] [stdout] 33 | |             ORDER BY total_likes DESC;
[INFO] [stdout] 34 | |     "#, user_id.0)
[INFO] [stdout]    | |__________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/handlers/feed.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout] 50 | |         SELECT * FROM get_posts_default($1) posts
[INFO] [stdout] 51 | |             WHERE posts.poster_id IN (
[INFO] [stdout] 52 | |                 SELECT follows.followee_id FROM follows
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |             ORDER BY posts.created_at DESC;
[INFO] [stdout] 66 | |     "#, user_id.0)
[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: environment variable `DEBUG_LOG` not defined at compile time
[INFO] [stdout]   --> src/utils/logger.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 |     static ref DEBUG: bool = env!("DEBUG_LOG").parse::<bool>().unwrap();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("DEBUG_LOG")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: environment variable `DATABASE_URL` not defined at compile time
[INFO] [stdout]   --> src/main.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 | const DATABASE_URL: &'static str = env!("DATABASE_URL");
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("DATABASE_URL")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: environment variable `FRONTEND_URL` not defined at compile time
[INFO] [stdout]   --> src/main.rs:22:36
[INFO] [stdout]    |
[INFO] [stdout] 22 | const FRONTEND_URL: &'static str = env!("FRONTEND_URL");
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("FRONTEND_URL")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: environment variable `DEBUG_LOG_ACTIX` not defined at compile time
[INFO] [stdout]   --> src/main.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 |     if env!("DEBUG_LOG_ACTIX").parse::<bool>().unwrap() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("DEBUG_LOG_ACTIX")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/handlers/post.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | /     sqlx::query!(r#"
[INFO] [stdout] 45 | |         DELETE FROM posts WHERE id = $1 AND poster_id = $2;
[INFO] [stdout] 46 | |     "#, body.post_id, user.id())
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/handlers/user.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | /     sqlx::query_as!(UserInfo, r#"
[INFO] [stdout] 27 | |         SELECT 
[INFO] [stdout] 28 | |             users.id as user_id,
[INFO] [stdout] 29 | |             users.displayname,
[INFO] [stdout] ...  |
[INFO] [stdout] 40 | |         FROM users WHERE users.id = $1;
[INFO] [stdout] 41 | |     "#, id, user_id)
[INFO] [stdout]    | |____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/handlers/user.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | /     sqlx::query_as!(UserInfo, r#"
[INFO] [stdout] 60 | |         SELECT 
[INFO] [stdout] 61 | |             users.id as user_id,
[INFO] [stdout] 62 | |             users.displayname,
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |         FROM users WHERE users.handle = $1;
[INFO] [stdout] 74 | |     "#, handle, user_id)
[INFO] [stdout]    | |________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/handlers/user.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | /     sqlx::query_scalar!(r#"
[INFO] [stdout] 110 | |         SELECT handle FROM users
[INFO] [stdout] 111 | |     "#)
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/handlers/user.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | /     sqlx::query_as!(UserInfo, r#"
[INFO] [stdout] 149 | |         SELECT 
[INFO] [stdout] 150 | |             users.id as user_id,
[INFO] [stdout] 151 | |             users.displayname,
[INFO] [stdout] ...   |
[INFO] [stdout] 164 | |         LIMIT 5;
[INFO] [stdout] 165 | |     "#, user_id.0)
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/handlers/feed.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout] 12 | |         SELECT * FROM get_posts_default($1)
[INFO] [stdout] 13 | |             WHERE (replies_to IS NULL
[INFO] [stdout] 14 | |                 OR citation IS NOT NULL)
[INFO] [stdout] 15 | |             ORDER BY created_at DESC;
[INFO] [stdout] 16 | |     "#, user_id.0)
[INFO] [stdout]    | |__________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/handlers/feed.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | /     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout] 29 | |         SELECT * FROM get_posts_default($1)
[INFO] [stdout] 30 | |             WHERE (replies_to IS NULL
[INFO] [stdout] 31 | |                 OR citation IS NOT NULL)
[INFO] [stdout] 32 | |                 AND created_at > now() - interval '7 days'
[INFO] [stdout] 33 | |             ORDER BY total_likes DESC;
[INFO] [stdout] 34 | |     "#, user_id.0)
[INFO] [stdout]    | |__________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/handlers/feed.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout] 50 | |         SELECT * FROM get_posts_default($1) posts
[INFO] [stdout] 51 | |             WHERE posts.poster_id IN (
[INFO] [stdout] 52 | |                 SELECT follows.followee_id FROM follows
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |             ORDER BY posts.created_at DESC;
[INFO] [stdout] 66 | |     "#, user_id.0)
[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: environment variable `DATABASE_URL` not defined at compile time
[INFO] [stdout]   --> src/main.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 | const DATABASE_URL: &'static str = env!("DATABASE_URL");
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("DATABASE_URL")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: environment variable `FRONTEND_URL` not defined at compile time
[INFO] [stdout]   --> src/main.rs:22:36
[INFO] [stdout]    |
[INFO] [stdout] 22 | const FRONTEND_URL: &'static str = env!("FRONTEND_URL");
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("FRONTEND_URL")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: environment variable `DEBUG_LOG_ACTIX` not defined at compile time
[INFO] [stdout]   --> src/main.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 |     if env!("DEBUG_LOG_ACTIX").parse::<bool>().unwrap() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `std::env::var("DEBUG_LOG_ACTIX")` to read the variable at run time
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/models/opinion.rs:99:9
[INFO] [stdout]     |
[INFO] [stdout]  99 | /         sqlx::query_as!(Opinion, r#"
[INFO] [stdout] 100 | |             SELECT
[INFO] [stdout] 101 | |                 post_opinions.id as opinion_id, post_opinions.opinion,
[INFO] [stdout] 102 | |                 is_not_null(post_opinion_votes.user_id) AS "voted!: bool",
[INFO] [stdout] ...   |
[INFO] [stdout] 114 | |         "#, post_id)
[INFO] [stdout] 115 | |         .fetch_all(pool).await
[INFO] [stdout]     | |______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/models/opinion.rs:99:9
[INFO] [stdout]     |
[INFO] [stdout]  99 | /         sqlx::query_as!(Opinion, r#"
[INFO] [stdout] 100 | |             SELECT
[INFO] [stdout] 101 | |                 post_opinions.id as opinion_id, post_opinions.opinion,
[INFO] [stdout] 102 | |                 is_not_null(post_opinion_votes.user_id) AS "voted!: bool",
[INFO] [stdout] ...   |
[INFO] [stdout] 114 | |         "#, post_id)
[INFO] [stdout] 115 | |         .fetch_all(pool).await
[INFO] [stdout]     | |______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `following` in initializer of `User`
[INFO] [stdout]    --> src/models/user.rs:125:25
[INFO] [stdout]     |
[INFO] [stdout] 125 |         sqlx::query_as!(User, "SELECT * FROM users WHERE users.id = $1", id)
[INFO] [stdout]     |                         ^^^^ missing `following`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `following` in initializer of `User`
[INFO] [stdout]    --> src/models/user.rs:166:42
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let user = match sqlx::query_as!(Self,
[INFO] [stdout]     |                                          ^^^^ missing `following`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `following` in initializer of `User`
[INFO] [stdout]    --> src/models/user.rs:125:25
[INFO] [stdout]     |
[INFO] [stdout] 125 |         sqlx::query_as!(User, "SELECT * FROM users WHERE users.id = $1", id)
[INFO] [stdout]     |                         ^^^^ missing `following`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `following` in initializer of `User`
[INFO] [stdout]    --> src/models/user.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |         sqlx::query_as!(Self,
[INFO] [stdout]     |                         ^^^^ missing `following`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `following` in initializer of `User`
[INFO] [stdout]    --> src/models/user.rs:166:42
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let user = match sqlx::query_as!(Self,
[INFO] [stdout]     |                                          ^^^^ missing `following`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `following` in initializer of `User`
[INFO] [stdout]    --> src/models/user.rs:270:25
[INFO] [stdout]     |
[INFO] [stdout] 270 |         sqlx::query_as!(Self,
[INFO] [stdout]     |                         ^^^^ missing `following`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/post.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | /     sqlx::query!(r#"
[INFO] [stdout] 45 | |         DELETE FROM posts WHERE id = $1 AND poster_id = $2;
[INFO] [stdout] 46 | |     "#, body.post_id, user.id())
[INFO] [stdout] 47 | |         .execute(&data.db)
[INFO] [stdout] 48 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/post.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | /     sqlx::query!(r#"
[INFO] [stdout] 45 | |         DELETE FROM posts WHERE id = $1 AND poster_id = $2;
[INFO] [stdout] 46 | |     "#, body.post_id, user.id())
[INFO] [stdout] 47 | |         .execute(&data.db)
[INFO] [stdout] 48 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_followed` and `top_opinions` in initializer of `PostWithUser`
[INFO] [stdout]   --> src/handlers/post.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout]    |                     ^^^^^^^^^^^^ missing `is_followed` and `top_opinions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_followed` and `top_opinions` in initializer of `PostWithUser`
[INFO] [stdout]   --> src/handlers/post.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout]    |                     ^^^^^^^^^^^^ missing `is_followed` and `top_opinions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_followed` and `top_opinions` in initializer of `PostWithUser`
[INFO] [stdout]   --> src/handlers/hashtag.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout]    |                     ^^^^^^^^^^^^ missing `is_followed` and `top_opinions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_followed` and `top_opinions` in initializer of `PostWithUser`
[INFO] [stdout]   --> src/handlers/hashtag.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout]    |                     ^^^^^^^^^^^^ missing `is_followed` and `top_opinions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_followed` and `top_opinions` in initializer of `PostWithUser`
[INFO] [stdout]   --> src/handlers/bookmarks.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 |     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout]    |                     ^^^^^^^^^^^^ missing `is_followed` and `top_opinions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_followed` and `top_opinions` in initializer of `PostWithUser`
[INFO] [stdout]   --> src/handlers/bookmarks.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 |     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout]    |                     ^^^^^^^^^^^^ missing `is_followed` and `top_opinions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/user.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | /     sqlx::query_as!(UserInfo, r#"
[INFO] [stdout] 27 | |         SELECT 
[INFO] [stdout] 28 | |             users.id as user_id,
[INFO] [stdout] 29 | |             users.displayname,
[INFO] [stdout] ...  |
[INFO] [stdout] 41 | |     "#, id, user_id)
[INFO] [stdout] 42 | |     .fetch_optional(&data.db).await
[INFO] [stdout]    | |___________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/user.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 |     .and_then(|e| 
[INFO] [stdout]    |                ^
[INFO] [stdout] 45 |         e.ok_or(Error::new("No user found"))
[INFO] [stdout]    |         - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 44 |     .and_then(|e: /* Type */| 
[INFO] [stdout]    |                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/user.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | /     sqlx::query_as!(UserInfo, r#"
[INFO] [stdout] 60 | |         SELECT 
[INFO] [stdout] 61 | |             users.id as user_id,
[INFO] [stdout] 62 | |             users.displayname,
[INFO] [stdout] ...  |
[INFO] [stdout] 74 | |     "#, handle, user_id)
[INFO] [stdout] 75 | |     .fetch_optional(&data.db).await
[INFO] [stdout]    | |___________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/user.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |     .and_then(|e| 
[INFO] [stdout]    |                ^
[INFO] [stdout] 78 |         e.ok_or(Error::new("No user found"))
[INFO] [stdout]    |         - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 77 |     .and_then(|e: /* Type */| 
[INFO] [stdout]    |                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/user.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | /     sqlx::query_as!(UserInfo, r#"
[INFO] [stdout] 27 | |         SELECT 
[INFO] [stdout] 28 | |             users.id as user_id,
[INFO] [stdout] 29 | |             users.displayname,
[INFO] [stdout] ...  |
[INFO] [stdout] 41 | |     "#, id, user_id)
[INFO] [stdout] 42 | |     .fetch_optional(&data.db).await
[INFO] [stdout]    | |___________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/user.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 44 |     .and_then(|e| 
[INFO] [stdout]    |                ^
[INFO] [stdout] 45 |         e.ok_or(Error::new("No user found"))
[INFO] [stdout]    |         - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 44 |     .and_then(|e: /* Type */| 
[INFO] [stdout]    |                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/user.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | /     sqlx::query_as!(UserInfo, r#"
[INFO] [stdout] 60 | |         SELECT 
[INFO] [stdout] 61 | |             users.id as user_id,
[INFO] [stdout] 62 | |             users.displayname,
[INFO] [stdout] ...  |
[INFO] [stdout] 74 | |     "#, handle, user_id)
[INFO] [stdout] 75 | |     .fetch_optional(&data.db).await
[INFO] [stdout]    | |___________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/user.rs:77:16
[INFO] [stdout]    |
[INFO] [stdout] 77 |     .and_then(|e| 
[INFO] [stdout]    |                ^
[INFO] [stdout] 78 |         e.ok_or(Error::new("No user found"))
[INFO] [stdout]    |         - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 77 |     .and_then(|e: /* Type */| 
[INFO] [stdout]    |                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/handlers/user.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | /     sqlx::query_scalar!(r#"
[INFO] [stdout] 110 | |         SELECT handle FROM users
[INFO] [stdout] 111 | |     "#)
[INFO] [stdout] 112 | |     .fetch_all(&data.db)
[INFO] [stdout] 113 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/handlers/user.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | /     sqlx::query_scalar!(r#"
[INFO] [stdout] 110 | |         SELECT handle FROM users
[INFO] [stdout] 111 | |     "#)
[INFO] [stdout] 112 | |     .fetch_all(&data.db)
[INFO] [stdout] 113 | |     .await
[INFO] [stdout]     | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_followed` and `top_opinions` in initializer of `PostWithUser`
[INFO] [stdout]    --> src/handlers/user.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout]     |                     ^^^^^^^^^^^^ missing `is_followed` and `top_opinions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/handlers/user.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | /     sqlx::query_as!(UserInfo, r#"
[INFO] [stdout] 149 | |         SELECT 
[INFO] [stdout] 150 | |             users.id as user_id,
[INFO] [stdout] 151 | |             users.displayname,
[INFO] [stdout] ...   |
[INFO] [stdout] 165 | |     "#, user_id.0)
[INFO] [stdout] 166 | |     .fetch_all(&data.db).await
[INFO] [stdout]     | |______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_followed` and `top_opinions` in initializer of `PostWithUser`
[INFO] [stdout]    --> src/handlers/user.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout]     |                     ^^^^^^^^^^^^ missing `is_followed` and `top_opinions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/feed.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout] 12 | |         SELECT * FROM get_posts_default($1)
[INFO] [stdout] 13 | |             WHERE (replies_to IS NULL
[INFO] [stdout] 14 | |                 OR citation IS NOT NULL)
[INFO] [stdout] 15 | |             ORDER BY created_at DESC;
[INFO] [stdout] 16 | |     "#, user_id.0)
[INFO] [stdout] 17 | |         .fetch_all(&data.db).await
[INFO] [stdout]    | |__________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/feed.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | /     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout] 29 | |         SELECT * FROM get_posts_default($1)
[INFO] [stdout] 30 | |             WHERE (replies_to IS NULL
[INFO] [stdout] 31 | |                 OR citation IS NOT NULL)
[INFO] [stdout] ...  |
[INFO] [stdout] 34 | |     "#, user_id.0)
[INFO] [stdout] 35 | |         .fetch_all(&data.db).await
[INFO] [stdout]    | |__________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/feed.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout] 50 | |         SELECT * FROM get_posts_default($1) posts
[INFO] [stdout] 51 | |             WHERE posts.poster_id IN (
[INFO] [stdout] 52 | |                 SELECT follows.followee_id FROM follows
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |     "#, user_id.0)
[INFO] [stdout] 67 | |         .fetch_all(&data.db).await
[INFO] [stdout]    | |__________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/handlers/user.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | /     sqlx::query_as!(UserInfo, r#"
[INFO] [stdout] 149 | |         SELECT 
[INFO] [stdout] 150 | |             users.id as user_id,
[INFO] [stdout] 151 | |             users.displayname,
[INFO] [stdout] ...   |
[INFO] [stdout] 165 | |     "#, user_id.0)
[INFO] [stdout] 166 | |     .fetch_all(&data.db).await
[INFO] [stdout]     | |______________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/feed.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout] 12 | |         SELECT * FROM get_posts_default($1)
[INFO] [stdout] 13 | |             WHERE (replies_to IS NULL
[INFO] [stdout] 14 | |                 OR citation IS NOT NULL)
[INFO] [stdout] 15 | |             ORDER BY created_at DESC;
[INFO] [stdout] 16 | |     "#, user_id.0)
[INFO] [stdout] 17 | |         .fetch_all(&data.db).await
[INFO] [stdout]    | |__________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/feed.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | /     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout] 29 | |         SELECT * FROM get_posts_default($1)
[INFO] [stdout] 30 | |             WHERE (replies_to IS NULL
[INFO] [stdout] 31 | |                 OR citation IS NOT NULL)
[INFO] [stdout] ...  |
[INFO] [stdout] 34 | |     "#, user_id.0)
[INFO] [stdout] 35 | |         .fetch_all(&data.db).await
[INFO] [stdout]    | |__________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_followed` and `top_opinions` in initializer of `PostWithUser`
[INFO] [stdout]   --> src/handlers/feed.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout]    |                     ^^^^^^^^^^^^ missing `is_followed` and `top_opinions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/handlers/feed.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout] 50 | |         SELECT * FROM get_posts_default($1) posts
[INFO] [stdout] 51 | |             WHERE posts.poster_id IN (
[INFO] [stdout] 52 | |                 SELECT follows.followee_id FROM follows
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |     "#, user_id.0)
[INFO] [stdout] 67 | |         .fetch_all(&data.db).await
[INFO] [stdout]    | |__________________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_followed` and `top_opinions` in initializer of `PostWithUser`
[INFO] [stdout]   --> src/handlers/feed.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout]    |                     ^^^^^^^^^^^^ missing `is_followed` and `top_opinions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_followed` and `top_opinions` in initializer of `PostWithUser`
[INFO] [stdout]    --> src/handlers/feed.rs:103:21
[INFO] [stdout]     |
[INFO] [stdout] 103 |     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout]     |                     ^^^^^^^^^^^^ missing `is_followed` and `top_opinions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `is_followed` and `top_opinions` in initializer of `PostWithUser`
[INFO] [stdout]    --> src/handlers/feed.rs:103:21
[INFO] [stdout]     |
[INFO] [stdout] 103 |     sqlx::query_as!(PostWithUser, r#"
[INFO] [stdout]     |                     ^^^^^^^^^^^^ missing `is_followed` and `top_opinions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0282.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `twitter2` (bin "twitter2") due to 36 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0063, E0282.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `twitter2` (bin "twitter2" test) due to 36 previous errors
[INFO] running `Command { std: "docker" "inspect" "c5f94e7fd82914cfd4222f9340d2882347a3158bbc57164338ebb13cd2905b4d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c5f94e7fd82914cfd4222f9340d2882347a3158bbc57164338ebb13cd2905b4d", kill_on_drop: false }`
[INFO] [stdout] c5f94e7fd82914cfd4222f9340d2882347a3158bbc57164338ebb13cd2905b4d
