[INFO] fetching crate brylix 0.2.9... [INFO] testing brylix-0.2.9 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739 [INFO] extracting crate brylix 0.2.9 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate brylix 0.2.9 [INFO] finished tweaking crates.io crate brylix 0.2.9 [INFO] tweaked toml for crates.io crate brylix 0.2.9 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate brylix 0.2.9 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate brylix 0.2.9 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded zmij v1.0.17 [INFO] [stderr] Downloaded sea-orm-migration v1.1.19 [INFO] [stderr] Downloaded zerocopy-derive v0.8.35 [INFO] [stderr] Downloaded bigdecimal v0.4.10 [INFO] [stderr] Downloaded sea-schema-derive v0.3.0 [INFO] [stderr] Downloaded sea-query-binder v0.7.0 [INFO] [stderr] Downloaded sea-query-derive v0.4.3 [INFO] [stderr] Downloaded inherent v1.0.13 [INFO] [stderr] Downloaded sea-orm-cli v1.1.19 [INFO] [stderr] Downloaded quoted_printable v0.5.1 [INFO] [stderr] Downloaded sea-bae v0.2.1 [INFO] [stderr] Downloaded ouroboros v0.18.5 [INFO] [stderr] Downloaded aliasable v0.1.3 [INFO] [stderr] Downloaded ouroboros_macro v0.18.5 [INFO] [stderr] Downloaded hostname v0.4.2 [INFO] [stderr] Downloaded lambda_runtime_api_client v1.0.3 [INFO] [stderr] Downloaded pgvector v0.4.1 [INFO] [stderr] Downloaded http-serde v2.1.1 [INFO] [stderr] Downloaded query_map v0.7.0 [INFO] [stderr] Downloaded stacker v0.1.22 [INFO] [stderr] Downloaded psm v0.1.29 [INFO] [stderr] Downloaded zerocopy v0.8.35 [INFO] [stderr] Downloaded sea-orm-macros v1.1.19 [INFO] [stderr] Downloaded email-encoding v0.4.1 [INFO] [stderr] Downloaded lambda_http v1.1.2 [INFO] [stderr] Downloaded lambda_runtime v1.1.2 [INFO] [stderr] Downloaded chumsky v0.9.3 [INFO] [stderr] Downloaded aws_lambda_events v1.1.2 [INFO] [stderr] Downloaded lettre v0.11.19 [INFO] [stderr] Downloaded sea-query v0.32.7 [INFO] [stderr] Downloaded aws-smithy-checksums v0.64.6 [INFO] [stderr] Downloaded aws-sdk-s3 v1.127.0 [INFO] [stderr] Downloaded sea-schema v0.16.2 [INFO] [stderr] Downloaded sea-orm v1.1.19 [INFO] [stderr] Downloaded openssl-src v300.5.5+3.5.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8982c1ee6fdf633ac1f91f000a2f5e5093f6d7aa4c7663592ec3545ca860d342 [INFO] running `Command { std: "docker" "start" "-a" "8982c1ee6fdf633ac1f91f000a2f5e5093f6d7aa4c7663592ec3545ca860d342", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8982c1ee6fdf633ac1f91f000a2f5e5093f6d7aa4c7663592ec3545ca860d342", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8982c1ee6fdf633ac1f91f000a2f5e5093f6d7aa4c7663592ec3545ca860d342", kill_on_drop: false }` [INFO] [stdout] 8982c1ee6fdf633ac1f91f000a2f5e5093f6d7aa4c7663592ec3545ca860d342 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c62b9b40bb9ca5b61a234c908dd83cbfd1d85b8d08aa14d618b926e42a0b1a8f [INFO] running `Command { std: "docker" "start" "-a" "c62b9b40bb9ca5b61a234c908dd83cbfd1d85b8d08aa14d618b926e42a0b1a8f", kill_on_drop: false }` [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling const-oid v0.9.6 [INFO] [stderr] Compiling generic-array v0.14.9 [INFO] [stderr] Compiling zmij v1.0.17 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling base64ct v1.8.3 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling find-msvc-tools v0.1.8 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling zerocopy v0.8.35 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling time-macros v0.2.26 [INFO] [stderr] Compiling deranged v0.5.5 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling cc v1.2.54 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling bigdecimal v0.4.10 [INFO] [stderr] Compiling num-bigint-dig v0.8.6 [INFO] [stderr] Compiling rust_decimal v1.40.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling tinyvec v1.10.0 [INFO] [stderr] Compiling webpki-roots v1.0.5 [INFO] [stderr] Compiling uuid v1.20.0 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling unicode-normalization v0.1.25 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling ff v0.13.1 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling unicode-properties v0.1.4 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling unicode-bidi v0.3.18 [INFO] [stderr] Compiling base16ct v0.2.0 [INFO] [stderr] Compiling time v0.3.46 [INFO] [stderr] Compiling group v0.13.0 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling crypto-bigint v0.5.5 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling pkcs1 v0.7.5 [INFO] [stderr] Compiling stringprep v0.1.5 [INFO] [stderr] Compiling sec1 v0.7.3 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling whoami v1.6.1 [INFO] [stderr] Compiling openssl-src v300.5.5+3.5.5 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling ordered-float v4.6.0 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling pest v2.8.5 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling rfc6979 v0.4.0 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling aliasable v0.1.3 [INFO] [stderr] Compiling elliptic-curve v0.13.8 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling ecdsa v0.16.9 [INFO] [stderr] Compiling primeorder v0.13.6 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling futures-lite v2.6.1 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling p256 v0.13.2 [INFO] [stderr] Compiling p384 v0.13.1 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling pem v3.0.6 [INFO] [stderr] Compiling asynk-strim v0.1.5 [INFO] [stderr] Compiling argon2 v0.5.3 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [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 futures-macro v0.3.32 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling rsa v0.9.10 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling inherent v1.0.13 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling ouroboros_macro v0.18.5 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling sea-bae v0.2.1 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling sea-query-derive v0.4.3 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling sea-orm-macros v1.1.19 [INFO] [stderr] Compiling polling v3.11.0 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling sea-schema-derive v0.3.0 [INFO] [stderr] Compiling async-io v2.6.0 [INFO] [stderr] Compiling simple_asn1 v0.6.3 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling http-serde v2.1.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling async-graphql-value v7.2.1 [INFO] [stderr] Compiling ouroboros v0.18.5 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling query_map v0.7.0 [INFO] [stderr] Compiling tracing-futures v0.2.5 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Compiling async-graphql-parser v7.2.1 [INFO] [stderr] Compiling aws_lambda_events v1.1.2 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling sea-query v0.32.7 [INFO] [stderr] Compiling jsonwebtoken v10.3.0 [INFO] [stderr] Compiling async-graphql-derive v7.2.1 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling sea-orm-cli v1.1.19 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling lambda_runtime_api_client v1.0.3 [INFO] [stderr] Compiling lambda_runtime v1.1.2 [INFO] [stderr] Compiling sqlx-mysql v0.8.6 [INFO] [stderr] Compiling lambda_http v1.1.2 [INFO] [stderr] Compiling sqlx v0.8.6 [INFO] [stderr] Compiling sea-query-binder v0.7.0 [INFO] [stderr] Compiling sea-orm v1.1.19 [INFO] [stderr] Compiling sea-schema v0.16.2 [INFO] [stderr] Compiling async-graphql v7.2.1 [INFO] [stderr] Compiling sea-orm-migration v1.1.19 [INFO] [stderr] Compiling brylix v0.2.9 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `extract_bearer_token` is never used [INFO] [stdout] --> src/auth/middleware.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn extract_bearer_token(request: &Request) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_authenticated` is never used [INFO] [stdout] --> src/graphql/guards.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn is_authenticated(ctx: &Context<'_>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user_id` is never used [INFO] [stdout] --> src/graphql/guards.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn get_user_id(ctx: &Context<'_>) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_preflight` is never used [INFO] [stdout] --> src/handler/cors.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn is_preflight(method: &http::Method, path: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UploadedFile` is never constructed [INFO] [stdout] --> src/handler/multipart.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct UploadedFile { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_api_path` is never used [INFO] [stdout] --> src/handler/router.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn is_api_path(path: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_playground_path` is never used [INFO] [stdout] --> src/handler/router.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn is_playground_path(path: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `playground_api_endpoint` is never used [INFO] [stdout] --> src/handler/router.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn playground_api_endpoint(path: &str, multi_tenant: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub host: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub user: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub password: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub port: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | pub secret: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub exp_days: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | pub database: DatabaseConfig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub jwt: JwtConfig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub multi_tenant: MultiTenantConfig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | pub log_level: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub min_connections: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub max_connections: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | pub idle_timeout: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub max_lifetime: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub sqlx_logging: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | InvalidCredentials, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Unauthorized, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | Forbidden(String), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | InvalidTokenUserId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | UserNotFound, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | UserNotFoundById(i64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | NotFound(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | ConfigNotInitialized, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | ProviderNotConfigured, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | InvalidInput(String), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | DuplicateEntry(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | DatabaseError(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | ExternalService(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | TokenIssueFailed(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | Internal(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | TenantInvalid(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | TenantNotFound(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | TenantMismatch, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | UpgradeRequired { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/errors/domain.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | current_version: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/errors/domain.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | required_version: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/errors/domain.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | feature: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | Disconnect(#[from] serde_json::Error), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | Response(#[from] http::Error), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Query(#[from] async_graphql::ParseRequestError), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | Json(#[from] serde_json::Error), [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | InvalidBinaryBody(#[from] std::str::Utf8Error), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | MethodNotAllowed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 53s [INFO] running `Command { std: "docker" "inspect" "c62b9b40bb9ca5b61a234c908dd83cbfd1d85b8d08aa14d618b926e42a0b1a8f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c62b9b40bb9ca5b61a234c908dd83cbfd1d85b8d08aa14d618b926e42a0b1a8f", kill_on_drop: false }` [INFO] [stdout] c62b9b40bb9ca5b61a234c908dd83cbfd1d85b8d08aa14d618b926e42a0b1a8f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0b93de4033079162842420714f70f4938cd509453db3d8e140f15beb1cca7736 [INFO] running `Command { std: "docker" "start" "-a" "0b93de4033079162842420714f70f4938cd509453db3d8e140f15beb1cca7736", kill_on_drop: false }` [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling sea-orm-cli v1.1.19 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling lambda_runtime_api_client v1.0.3 [INFO] [stderr] Compiling sqlx-mysql v0.8.6 [INFO] [stderr] Compiling lambda_runtime v1.1.2 [INFO] [stderr] Compiling lambda_http v1.1.2 [INFO] [stderr] Compiling sqlx v0.8.6 [INFO] [stderr] Compiling sea-query-binder v0.7.0 [INFO] [stderr] Compiling sea-orm v1.1.19 [INFO] [stderr] Compiling sea-schema v0.16.2 [INFO] [stderr] Compiling sea-orm-migration v1.1.19 [INFO] [stderr] Compiling brylix v0.2.9 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `extract_bearer_token` is never used [INFO] [stdout] --> src/auth/middleware.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn extract_bearer_token(request: &Request) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_authenticated` is never used [INFO] [stdout] --> src/graphql/guards.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn is_authenticated(ctx: &Context<'_>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user_id` is never used [INFO] [stdout] --> src/graphql/guards.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn get_user_id(ctx: &Context<'_>) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_preflight` is never used [INFO] [stdout] --> src/handler/cors.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn is_preflight(method: &http::Method, path: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UploadedFile` is never constructed [INFO] [stdout] --> src/handler/multipart.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct UploadedFile { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_api_path` is never used [INFO] [stdout] --> src/handler/router.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn is_api_path(path: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_playground_path` is never used [INFO] [stdout] --> src/handler/router.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn is_playground_path(path: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `playground_api_endpoint` is never used [INFO] [stdout] --> src/handler/router.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn playground_api_endpoint(path: &str, multi_tenant: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub host: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub user: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub password: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub port: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | pub secret: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub exp_days: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | pub database: DatabaseConfig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub jwt: JwtConfig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub multi_tenant: MultiTenantConfig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | pub log_level: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub min_connections: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub max_connections: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | pub idle_timeout: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub max_lifetime: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub sqlx_logging: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | InvalidCredentials, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Unauthorized, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | Forbidden(String), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | InvalidTokenUserId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | UserNotFound, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | UserNotFoundById(i64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | NotFound(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | ConfigNotInitialized, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | ProviderNotConfigured, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | InvalidInput(String), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | DuplicateEntry(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | DatabaseError(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | ExternalService(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | TokenIssueFailed(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | Internal(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | TenantInvalid(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | TenantNotFound(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | TenantMismatch, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | UpgradeRequired { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/errors/domain.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | current_version: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/errors/domain.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | required_version: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/errors/domain.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | feature: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | Disconnect(#[from] serde_json::Error), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | Response(#[from] http::Error), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Query(#[from] async_graphql::ParseRequestError), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | Json(#[from] serde_json::Error), [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | InvalidBinaryBody(#[from] std::str::Utf8Error), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | MethodNotAllowed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_bearer_token` is never used [INFO] [stdout] --> src/auth/middleware.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn extract_bearer_token(request: &Request) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_authenticated` is never used [INFO] [stdout] --> src/graphql/guards.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn is_authenticated(ctx: &Context<'_>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user_id` is never used [INFO] [stdout] --> src/graphql/guards.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn get_user_id(ctx: &Context<'_>) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_preflight` is never used [INFO] [stdout] --> src/handler/cors.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn is_preflight(method: &http::Method, path: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UploadedFile` is never constructed [INFO] [stdout] --> src/handler/multipart.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct UploadedFile { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_playground_path` is never used [INFO] [stdout] --> src/handler/router.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn is_playground_path(path: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub host: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub user: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub password: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub port: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | pub secret: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub exp_days: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | pub database: DatabaseConfig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub jwt: JwtConfig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub multi_tenant: MultiTenantConfig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/config/mod.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | pub log_level: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub min_connections: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub max_connections: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | pub idle_timeout: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub max_lifetime: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub sqlx_logging: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | InvalidCredentials, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Unauthorized, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | Forbidden(String), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | InvalidTokenUserId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | UserNotFound, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | UserNotFoundById(i64), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | NotFound(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | ConfigNotInitialized, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | ProviderNotConfigured, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | InvalidInput(String), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | DuplicateEntry(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | DatabaseError(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | ExternalService(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | TokenIssueFailed(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | Internal(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | TenantInvalid(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | TenantNotFound(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | TenantMismatch, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/domain.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | UpgradeRequired { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/errors/domain.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | current_version: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/errors/domain.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | required_version: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/errors/domain.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | feature: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | Disconnect(#[from] serde_json::Error), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | Response(#[from] http::Error), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Query(#[from] async_graphql::ParseRequestError), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | Json(#[from] serde_json::Error), [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | InvalidBinaryBody(#[from] std::str::Utf8Error), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/errors/http.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | MethodNotAllowed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 22.84s [INFO] running `Command { std: "docker" "inspect" "0b93de4033079162842420714f70f4938cd509453db3d8e140f15beb1cca7736", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b93de4033079162842420714f70f4938cd509453db3d8e140f15beb1cca7736", kill_on_drop: false }` [INFO] [stdout] 0b93de4033079162842420714f70f4938cd509453db3d8e140f15beb1cca7736 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4e3228554185807a8b8827eb8efddd5247b4eecff136686d18912fa59d4bc983 [INFO] running `Command { std: "docker" "start" "-a" "4e3228554185807a8b8827eb8efddd5247b4eecff136686d18912fa59d4bc983", kill_on_drop: false }` [INFO] [stderr] warning: function `extract_bearer_token` is never used [INFO] [stderr] --> src/auth/middleware.rs:61:8 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn extract_bearer_token(request: &Request) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `is_authenticated` is never used [INFO] [stderr] --> src/graphql/guards.rs:83:8 [INFO] [stderr] | [INFO] [stderr] 83 | pub fn is_authenticated(ctx: &Context<'_>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_user_id` is never used [INFO] [stderr] --> src/graphql/guards.rs:97:8 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn get_user_id(ctx: &Context<'_>) -> Option { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_preflight` is never used [INFO] [stderr] --> src/handler/cors.rs:34:8 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn is_preflight(method: &http::Method, path: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `UploadedFile` is never constructed [INFO] [stderr] --> src/handler/multipart.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | pub struct UploadedFile { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_api_path` is never used [INFO] [stderr] --> src/handler/router.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn is_api_path(path: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_playground_path` is never used [INFO] [stderr] --> src/handler/router.rs:43:8 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn is_playground_path(path: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `playground_api_endpoint` is never used [INFO] [stderr] --> src/handler/router.rs:51:8 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn playground_api_endpoint(path: &str, multi_tenant: bool) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/config/mod.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | pub host: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | #![warn(missing_docs)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/config/mod.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub user: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/config/mod.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | pub password: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/config/mod.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | pub name: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/config/mod.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | pub port: u16, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/config/mod.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | pub secret: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/config/mod.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | pub exp_days: i64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/config/mod.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | pub database: DatabaseConfig, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/config/mod.rs:127:5 [INFO] [stderr] | [INFO] [stderr] 127 | pub jwt: JwtConfig, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/config/mod.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | pub multi_tenant: MultiTenantConfig, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/config/mod.rs:129:5 [INFO] [stderr] | [INFO] [stderr] 129 | pub log_level: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/db/mod.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | pub min_connections: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/db/mod.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | pub max_connections: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/db/mod.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | pub idle_timeout: Duration, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/db/mod.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | pub max_lifetime: Duration, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/db/mod.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | pub sqlx_logging: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | InvalidCredentials, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Unauthorized, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | Forbidden(String), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | InvalidTokenUserId, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | UserNotFound, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | UserNotFoundById(i64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | NotFound(String), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | ConfigNotInitialized, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | ProviderNotConfigured, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | InvalidInput(String), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | DuplicateEntry(String), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | DatabaseError(String), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | ExternalService(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | TokenIssueFailed(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | Internal(String), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | TenantInvalid(String), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | TenantNotFound(String), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | TenantMismatch, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/domain.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | UpgradeRequired { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/errors/domain.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | current_version: i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/errors/domain.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | required_version: i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/errors/domain.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | feature: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/http.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Disconnect(#[from] serde_json::Error), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/http.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Response(#[from] http::Error), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/http.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Query(#[from] async_graphql::ParseRequestError), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/http.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | Json(#[from] serde_json::Error), [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/http.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | InvalidBinaryBody(#[from] std::str::Utf8Error), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/errors/http.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | MethodNotAllowed, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `brylix` (lib) generated 52 warnings [INFO] [stderr] warning: `brylix` (lib test) generated 50 warnings (50 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.65s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/brylix-5901c302cee533d6) [INFO] [stdout] [INFO] [stdout] running 64 tests [INFO] [stdout] test auth::claims::tests::test_jwt_result_empty ... ok [INFO] [stdout] test auth::claims::tests::test_jwt_result_authenticated ... ok [INFO] [stdout] test auth::roles::tests::test_auth_role_admin ... ok [INFO] [stdout] test auth::roles::tests::test_auth_role_user ... ok [INFO] [stdout] test auth::roles::tests::test_multi_role_config_builder ... ok [INFO] [stdout] test auth::password::tests::test_generate_temp_password ... ok [INFO] [stdout] test config::builder::tests::test_builder ... ok [INFO] [stdout] test auth::roles::tests::test_multi_role_config_default ... ok [INFO] [stdout] test config::builder::tests::test_database_url_parsing ... ok [INFO] [stdout] test auth::roles::tests::test_auth_role_custom ... ok [INFO] [stdout] test config::builder::tests::test_missing_jwt_secret ... ok [INFO] [stdout] test config::tests::test_database_url ... ok [INFO] [stdout] test config::tests::test_postgres_url ... ok [INFO] [stdout] test db::tests::test_pool_config_default ... ok [INFO] [stdout] test db::tests::test_pool_config_custom ... ok [INFO] [stdout] test errors::domain::tests::test_error_codes ... ok [INFO] [stdout] test errors::domain::tests::test_is_not_found ... ok [INFO] [stdout] test errors::graphql::tests::test_classify_message_code ... ok [INFO] [stdout] test errors::graphql::tests::test_gql_from_domain ... ok [INFO] [stdout] test errors::graphql::tests::test_gql_error ... ok [INFO] [stdout] test graphql::context::tests::test_tenant_info ... ok [INFO] [stdout] test graphql::pagination::tests::test_connection_new ... ok [INFO] [stdout] test graphql::pagination::tests::test_into_connection ... ok [INFO] [stdout] test graphql::pagination::tests::test_page_info_empty ... ok [INFO] [stdout] test graphql::pagination::tests::test_page_info_last_page ... ok [INFO] [stdout] test graphql::pagination::tests::test_page_info_middle_page ... ok [INFO] [stdout] test errors::domain::tests::test_is_auth_error ... ok [INFO] [stdout] test graphql::pagination::tests::test_page_info_zero_per_page ... ok [INFO] [stdout] test handler::router::tests::test_extract_playground_tenant ... ok [INFO] [stdout] test graphql::helpers::tests::test_parse_gql_id_field_invalid ... ok [INFO] [stdout] test graphql::helpers::tests::test_parse_gql_id_field_valid ... ok [INFO] [stdout] test graphql::helpers::tests::test_parse_gql_id_invalid ... ok [INFO] [stdout] test handler::router::tests::test_extract_tenant ... ok [INFO] [stdout] test handler::router::tests::test_is_api_path ... ok [INFO] [stdout] test graphql::pagination::tests::test_page_info_single_page ... ok [INFO] [stdout] test graphql::helpers::tests::test_parse_gql_id_valid ... ok [INFO] [stdout] test graphql::pagination::tests::test_page_info_first_page ... ok [INFO] [stdout] test helpers::json::tests::test_parse_as_option_value_invalid ... ok [INFO] [stdout] test helpers::json::tests::test_parse_as_option_value_none ... ok [INFO] [stdout] test graphql::pagination::tests::test_page_info_partial_last_page ... ok [INFO] [stdout] test helpers::json::tests::test_parse_as_option_value_some ... ok [INFO] [stdout] test helpers::json::tests::test_parse_as_value ... ok [INFO] [stdout] test helpers::json::tests::test_parse_or_default_option_value ... ok [INFO] [stdout] test helpers::json::tests::test_parse_or_default_option_value_none ... ok [INFO] [stdout] test helpers::json::tests::test_parse_or_default_value_invalid ... ok [INFO] [stdout] test helpers::soft_delete::tests::test_mark_deleted ... ok [INFO] [stdout] test helpers::soft_delete::tests::test_status_constants ... ok [INFO] [stdout] test helpers::time::tests::test_utc_now ... ok [INFO] [stdout] test provider::tests::test_health_metrics_default ... ok [INFO] [stdout] test helpers::json::tests::test_parse_or_default_value ... ok [INFO] [stdout] test helpers::time::tests::test_set_updated_at_only ... ok [INFO] [stdout] test handler::router::tests::test_playground_api_endpoint ... ok [INFO] [stdout] test helpers::time::tests::test_set_timestamps ... ok [INFO] [stdout] test validation::tests::test_validate_hostname_invalid ... ok [INFO] [stdout] test validation::tests::test_validate_tenant_name_valid ... ok [INFO] [stdout] test validation::tests::test_validate_hostname_valid ... ok [INFO] [stdout] test helpers::time::tests::test_set_created_at_only ... ok [INFO] [stdout] test validation::tests::test_validate_email_invalid ... ok [INFO] [stdout] test validation::tests::test_validate_email_valid ... ok [INFO] [stdout] test validation::tests::test_validate_password_invalid ... ok [INFO] [stdout] test provider::tests::test_resource_info ... ok [INFO] [stdout] test validation::tests::test_validate_tenant_name_invalid ... ok [INFO] [stdout] test validation::tests::test_validate_password_valid ... ok [INFO] [stdout] test auth::password::tests::test_hash_and_verify ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.07s [INFO] [stdout] [INFO] [stderr] Doc-tests brylix [INFO] [stdout] [INFO] [stdout] running 36 tests [INFO] [stdout] test src/auth/mod.rs - auth::roles (line 32) ... ignored [INFO] [stdout] test src/auth/roles.rs - auth::roles::MultiRoleJwtConfig (line 83) ... ignored [INFO] [stdout] test src/auth/roles.rs - auth::roles::get_auth_role (line 195) ... ignored [INFO] [stdout] test src/auth/roles.rs - auth::roles::require_admin (line 157) ... ignored [INFO] [stdout] test src/graphql/helpers.rs - graphql::helpers::gql_id (line 80) ... ignored [INFO] [stdout] test src/graphql/helpers.rs - graphql::helpers::parse_gql_id (line 37) ... ignored [INFO] [stdout] test src/graphql/helpers.rs - graphql::helpers::parse_gql_id_field (line 65) ... ignored [INFO] [stdout] test src/graphql/pagination.rs - graphql::pagination::Connection (line 70) ... ignored [INFO] [stdout] test src/graphql/pagination.rs - graphql::pagination::IntoConnection (line 107) ... ignored [INFO] [stdout] test src/auth/mod.rs - auth (line 7) ... FAILED [INFO] [stdout] test src/helpers/soft_delete.rs - helpers::soft_delete (line 8) ... ignored [INFO] [stdout] test src/config/builder.rs - config::builder::ConfigBuilder (line 12) ... FAILED [INFO] [stdout] test src/db/mod.rs - db (line 7) ... FAILED [INFO] [stdout] test src/helpers/time.rs - helpers::time::Timestamped (line 37) ... ignored [INFO] [stdout] test src/graphql/context.rs - graphql::context::ContextData (line 42) ... FAILED [INFO] [stdout] test src/lib.rs - (line 16) ... ignored [INFO] [stdout] test src/graphql/guards.rs - graphql::guards::require_auth (line 24) ... FAILED [INFO] [stdout] test src/graphql/guards.rs - graphql::guards::require_auth_user_id (line 60) ... FAILED [INFO] [stdout] test src/provider/mod.rs - provider (line 39) ... ignored [INFO] [stdout] test src/provider/mod.rs - provider (line 51) ... ignored [INFO] [stdout] test src/handler/mod.rs - handler (line 8) ... FAILED [INFO] [stdout] test src/config/mod.rs - config (line 8) ... FAILED [INFO] [stdout] test src/provider/mod.rs - provider (line 12) ... FAILED [INFO] [stdout] test src/errors/mod.rs - errors (line 7) ... FAILED [INFO] [stdout] test src/validation/mod.rs - validation (line 8) ... FAILED [INFO] [stdout] test src/graphql/mod.rs - graphql::helpers (line 34) ... ok [INFO] [stdout] test src/graphql/mod.rs - graphql (line 7) ... FAILED [INFO] [stdout] test src/prelude.rs - prelude (line 5) ... ok [INFO] [stdout] test src/helpers/json.rs - helpers::json (line 9) ... ok [INFO] [stdout] test src/helpers/soft_delete.rs - helpers::soft_delete::status (line 40) ... ok [INFO] [stdout] test src/helpers/time.rs - helpers::time (line 8) ... ok [INFO] [stdout] test src/helpers/time.rs - helpers::time::utc_now (line 21) ... ok [INFO] [stdout] test src/handler/router.rs - handler::router::extract_playground_tenant (line 25) ... ok [INFO] [stdout] test src/handler/router.rs - handler::router::extract_tenant (line 7) ... ok [INFO] [stdout] test src/graphql/pagination.rs - graphql::pagination::page_info (line 42) ... ok [INFO] [stdout] test src/graphql/mod.rs - graphql::pagination (line 38) ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/auth/mod.rs - auth (line 7) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `request` in this scope [INFO] [stdout] --> src/auth/mod.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | let result = jwt_middleware(&request).await?; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] [stdout] --> src/auth/mod.rs:15:39 [INFO] [stdout] | [INFO] [stdout] 8 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_auth_mod_rs_7_0() { [INFO] [stdout] | -------------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 15 | let result = jwt_middleware(&request).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/auth/mod.rs:12:55 [INFO] [stdout] | [INFO] [stdout] 8 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_auth_mod_rs_7_0() { [INFO] [stdout] | -------------------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 12 | let token = issue_jwt("user_123", Some("tenant_name"))?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] help: consider adding return type [INFO] [stdout] | [INFO] [stdout] 8 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_auth_mod_rs_7_0() -> Result<(), Box> { [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0425, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/config/builder.rs - config::builder::ConfigBuilder (line 12) stdout ---- [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/config/builder.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 13 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_config_builder_rs_12_0() { [INFO] [stdout] | --------------------------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 25 | .build()?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] help: consider adding return type [INFO] [stdout] | [INFO] [stdout] 13 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_config_builder_rs_12_0() -> Result<(), Box> { [INFO] [stdout] 14 | use brylix::config::ConfigBuilder; [INFO] [stdout] ... [INFO] [stdout] 25 | .build()?; [INFO] [stdout] 26 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/db/mod.rs - db (line 7) stdout ---- [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/db/mod.rs:13:56 [INFO] [stdout] | [INFO] [stdout] 8 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_db_mod_rs_7_0() { [INFO] [stdout] | ------------------------------------ this is not `async` [INFO] [stdout] ... [INFO] [stdout] 13 | let db = init_db::("mysql://...").await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error[E0433]: cannot find module or crate `migration` in this scope [INFO] [stdout] --> src/db/mod.rs:13:20 [INFO] [stdout] | [INFO] [stdout] 13 | let db = init_db::("mysql://...").await?; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `migration` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `migration`, use `cargo add migration` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0433, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0433`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/graphql/context.rs - graphql::context::ContextData (line 42) stdout ---- [INFO] [stdout] error[E0425]: cannot find type `User` in this scope [INFO] [stdout] --> src/graphql/context.rs:47:51 [INFO] [stdout] | [INFO] [stdout] 47 | async fn my_resolver(ctx: &Context<'_>) -> Result { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: there is an enum variant `brylix::prelude::AuthRole::User`; try using the variant's enum [INFO] [stdout] | [INFO] [stdout] 47 - async fn my_resolver(ctx: &Context<'_>) -> Result { [INFO] [stdout] 47 + async fn my_resolver(ctx: &Context<'_>) -> Result { [INFO] [stdout] | [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 47 | async fn my_resolver(ctx: &Context<'_>) -> Result { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> src/graphql/context.rs:47:44 [INFO] [stdout] | [INFO] [stdout] 47 | async fn my_resolver(ctx: &Context<'_>) -> Result { [INFO] [stdout] | ^^^^^^ ---- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 47 | async fn my_resolver(ctx: &Context<'_>) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0107, E0425. [INFO] [stdout] For more information about an error, try `rustc --explain E0107`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/graphql/guards.rs - graphql::guards::require_auth (line 24) stdout ---- [INFO] [stdout] error[E0425]: cannot find type `Context` in this scope [INFO] [stdout] --> src/graphql/guards.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | async fn protected_resolver(ctx: &Context<'_>) -> Result { [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 23 + use std::task::Context; [INFO] [stdout] | [INFO] [stdout] 23 + use anyhow::Context; [INFO] [stdout] | [INFO] [stdout] 23 + use async_graphql::Context; [INFO] [stdout] | [INFO] [stdout] 23 + use brylix::prelude::Context; [INFO] [stdout] | [INFO] [stdout] = and 3 other candidates [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> src/graphql/guards.rs:28:51 [INFO] [stdout] | [INFO] [stdout] 28 | async fn protected_resolver(ctx: &Context<'_>) -> Result { [INFO] [stdout] | ^^^^^^ ------ supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 28 | async fn protected_resolver(ctx: &Context<'_>) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0107, E0425. [INFO] [stdout] For more information about an error, try `rustc --explain E0107`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/graphql/guards.rs - graphql::guards::require_auth_user_id (line 60) stdout ---- [INFO] [stdout] error[E0425]: cannot find type `Context` in this scope [INFO] [stdout] --> src/graphql/guards.rs:64:31 [INFO] [stdout] | [INFO] [stdout] 64 | async fn get_my_profile(ctx: &Context<'_>) -> Result { [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 59 + use std::task::Context; [INFO] [stdout] | [INFO] [stdout] 59 + use anyhow::Context; [INFO] [stdout] | [INFO] [stdout] 59 + use async_graphql::Context; [INFO] [stdout] | [INFO] [stdout] 59 + use brylix::prelude::Context; [INFO] [stdout] | [INFO] [stdout] = and 3 other candidates [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `User` in this scope [INFO] [stdout] --> src/graphql/guards.rs:64:54 [INFO] [stdout] | [INFO] [stdout] 64 | async fn get_my_profile(ctx: &Context<'_>) -> Result { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: there is an enum variant `brylix::prelude::AuthRole::User`; try using the variant's enum [INFO] [stdout] | [INFO] [stdout] 64 - async fn get_my_profile(ctx: &Context<'_>) -> Result { [INFO] [stdout] 64 + async fn get_my_profile(ctx: &Context<'_>) -> Result { [INFO] [stdout] | [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 64 | async fn get_my_profile(ctx: &Context<'_>) -> Result { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `db` in this scope [INFO] [stdout] --> src/graphql/guards.rs:66:28 [INFO] [stdout] | [INFO] [stdout] 66 | UserService::get_by_id(db, user_id).await [INFO] [stdout] | ^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> src/graphql/guards.rs:64:47 [INFO] [stdout] | [INFO] [stdout] 64 | async fn get_my_profile(ctx: &Context<'_>) -> Result { [INFO] [stdout] | ^^^^^^ ---- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 64 | async fn get_my_profile(ctx: &Context<'_>) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] error[E0433]: cannot find type `UserService` in this scope [INFO] [stdout] --> src/graphql/guards.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | UserService::get_by_id(db, user_id).await [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `UserService` [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0107, E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0107`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/handler/mod.rs - handler (line 8) stdout ---- [INFO] [stdout] error[E0432]: unresolved import `brylix::handler::handle_request` [INFO] [stdout] --> src/handler/mod.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use brylix::handler::{handle_request, graphql_error}; [INFO] [stdout] | ^^^^^^^^^^^^^^ no `handle_request` in `handler` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/config/mod.rs - config (line 8) stdout ---- [INFO] [stdout] error[E0433]: cannot find type `ConfigBuilder` in this scope [INFO] [stdout] --> src/config/mod.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | let config = ConfigBuilder::new() [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared type `ConfigBuilder` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 7 + use brylix::prelude::ConfigBuilder; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/config/mod.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 9 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_config_mod_rs_8_0() { [INFO] [stdout] | ---------------------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 13 | let config = Config::init()?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] help: consider adding return type [INFO] [stdout] | [INFO] [stdout] 9 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_config_mod_rs_8_0() -> Result<(), Box> { [INFO] [stdout] 10 | use brylix::config::Config; [INFO] [stdout] ... [INFO] [stdout] 23 | .build()?; [INFO] [stdout] 24 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/provider/mod.rs - provider (line 12) stdout ---- [INFO] [stdout] error[E0437]: type `Resource` is not a member of trait `Provider` [INFO] [stdout] --> src/provider/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | type Resource = MyResource; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a member of trait `Provider` [INFO] [stdout] [INFO] [stdout] error[E0437]: type `Health` is not a member of trait `Provider` [INFO] [stdout] --> src/provider/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | type Health = MyHealth; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ not a member of trait `Provider` [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `MyResource` in this scope [INFO] [stdout] --> src/provider/mod.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | type Resource = MyResource; [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `MyHealth` in this scope [INFO] [stdout] --> src/provider/mod.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 24 | type Health = MyHealth; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `DatabaseConnection` in this scope [INFO] [stdout] --> src/provider/mod.rs:26:31 [INFO] [stdout] | [INFO] [stdout] 26 | async fn sync(&self, db: &DatabaseConnection) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these enums [INFO] [stdout] | [INFO] [stdout] 11 + use brylix::prelude::DatabaseConnection; [INFO] [stdout] | [INFO] [stdout] 11 + use sea_orm::DatabaseConnection; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> src/provider/mod.rs:26:54 [INFO] [stdout] | [INFO] [stdout] 26 | async fn sync(&self, db: &DatabaseConnection) -> Result> { [INFO] [stdout] | ^^^^^^ ------------------- supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 26 | async fn sync(&self, db: &DatabaseConnection) -> Result, E> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Resource` not found for `Self` [INFO] [stdout] --> src/provider/mod.rs:26:71 [INFO] [stdout] | [INFO] [stdout] 26 | async fn sync(&self, db: &DatabaseConnection) -> Result> { [INFO] [stdout] | ^^^^^^^^ associated type `Resource` not found [INFO] [stdout] [INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> src/provider/mod.rs:30:55 [INFO] [stdout] | [INFO] [stdout] 30 | async fn fetch_health(&self, resource_id: i64) -> Result { [INFO] [stdout] | ^^^^^^ ------------ supplied 1 generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 generic arguments [INFO] [stdout] | [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 30 | async fn fetch_health(&self, resource_id: i64) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Health` not found for `Self` [INFO] [stdout] --> src/provider/mod.rs:30:68 [INFO] [stdout] | [INFO] [stdout] 30 | async fn fetch_health(&self, resource_id: i64) -> Result { [INFO] [stdout] | ^^^^^^ associated type `Health` not found [INFO] [stdout] [INFO] [stdout] error: aborting due to 9 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0107, E0220, E0425, E0437. [INFO] [stdout] For more information about an error, try `rustc --explain E0107`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/errors/mod.rs - errors (line 7) stdout ---- [INFO] [stdout] error[E0425]: cannot find type `User` in this scope [INFO] [stdout] --> src/errors/mod.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | fn get_user(id: i64) -> DomainResult { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: there is an enum variant `brylix::prelude::AuthRole::User`; try using the variant's enum [INFO] [stdout] | [INFO] [stdout] 11 - fn get_user(id: i64) -> DomainResult { [INFO] [stdout] 11 + fn get_user(id: i64) -> DomainResult { [INFO] [stdout] | [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 11 | fn get_user(id: i64) -> DomainResult { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `users` in this scope [INFO] [stdout] --> src/errors/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | users.find_by_id(id) [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `id` in this scope [INFO] [stdout] --> src/errors/mod.rs:17:21 [INFO] [stdout] | [INFO] [stdout] 17 | let user = get_user(id).map_err(gql_from_domain)?; [INFO] [stdout] | ^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these functions [INFO] [stdout] | [INFO] [stdout] 6 + use std::process::id; [INFO] [stdout] | [INFO] [stdout] 6 + use tokio::task::id; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/validation/mod.rs - validation (line 8) stdout ---- [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/validation/mod.rs:13:35 [INFO] [stdout] | [INFO] [stdout] 9 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_validation_mod_rs_8_0() { [INFO] [stdout] | -------------------------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 13 | validate_email("user@example.com")?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] help: consider adding return type [INFO] [stdout] | [INFO] [stdout] 9 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_validation_mod_rs_8_0() -> Result<(), Box> { [INFO] [stdout] 10 | use brylix::validation::{validate_email, validate_password, validate_tenant_name}; [INFO] [stdout] ... [INFO] [stdout] 19 | validate_tenant_name("my_tenant")?; [INFO] [stdout] 20 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/validation/mod.rs:16:36 [INFO] [stdout] | [INFO] [stdout] 9 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_validation_mod_rs_8_0() { [INFO] [stdout] | -------------------------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 16 | validate_password("SecurePass123!")?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] help: consider adding return type [INFO] [stdout] | [INFO] [stdout] 9 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_validation_mod_rs_8_0() -> Result<(), Box> { [INFO] [stdout] 10 | use brylix::validation::{validate_email, validate_password, validate_tenant_name}; [INFO] [stdout] ... [INFO] [stdout] 19 | validate_tenant_name("my_tenant")?; [INFO] [stdout] 20 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/validation/mod.rs:19:34 [INFO] [stdout] | [INFO] [stdout] 9 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_validation_mod_rs_8_0() { [INFO] [stdout] | -------------------------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 19 | validate_tenant_name("my_tenant")?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] help: consider adding return type [INFO] [stdout] | [INFO] [stdout] 9 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_validation_mod_rs_8_0() -> Result<(), Box> { [INFO] [stdout] 10 | use brylix::validation::{validate_email, validate_password, validate_tenant_name}; [INFO] [stdout] ... [INFO] [stdout] 19 | validate_tenant_name("my_tenant")?; [INFO] [stdout] 20 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/graphql/mod.rs - graphql (line 7) stdout ---- [INFO] [stdout] error[E0425]: cannot find type `User` in this scope [INFO] [stdout] --> src/graphql/mod.rs:16:53 [INFO] [stdout] | [INFO] [stdout] 16 | async fn me(&self, ctx: &Context<'_>) -> Result { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: there is an enum variant `brylix::prelude::AuthRole::User`; try using the variant's enum [INFO] [stdout] | [INFO] [stdout] 16 - async fn me(&self, ctx: &Context<'_>) -> Result { [INFO] [stdout] 16 + async fn me(&self, ctx: &Context<'_>) -> Result { [INFO] [stdout] | [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 15 | impl Query { [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `User` in this scope [INFO] [stdout] --> src/graphql/mod.rs:16:53 [INFO] [stdout] | [INFO] [stdout] 16 | async fn me(&self, ctx: &Context<'_>) -> Result { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: there is an enum variant `brylix::prelude::AuthRole::User`; try using the variant's enum [INFO] [stdout] | [INFO] [stdout] 16 - async fn me(&self, ctx: &Context<'_>) -> Result { [INFO] [stdout] 16 + async fn me(&self, ctx: &Context<'_>) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: cannot find type `UserService` in this scope [INFO] [stdout] --> src/graphql/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | UserService::get_by_id(&data.db, user_id).await [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `UserService` [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/auth/mod.rs - auth (line 7) [INFO] [stdout] src/config/builder.rs - config::builder::ConfigBuilder (line 12) [INFO] [stdout] src/config/mod.rs - config (line 8) [INFO] [stdout] src/db/mod.rs - db (line 7) [INFO] [stdout] src/errors/mod.rs - errors (line 7) [INFO] [stdout] src/graphql/context.rs - graphql::context::ContextData (line 42) [INFO] [stdout] src/graphql/guards.rs - graphql::guards::require_auth (line 24) [INFO] [stdout] src/graphql/guards.rs - graphql::guards::require_auth_user_id (line 60) [INFO] [stdout] src/graphql/mod.rs - graphql (line 7) [INFO] [stdout] src/handler/mod.rs - handler (line 8) [INFO] [stdout] src/provider/mod.rs - provider (line 12) [INFO] [stdout] src/validation/mod.rs - validation (line 8) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 10 passed; 12 failed; 14 ignored; 0 measured; 0 filtered out; finished in 7.72s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4e3228554185807a8b8827eb8efddd5247b4eecff136686d18912fa59d4bc983", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e3228554185807a8b8827eb8efddd5247b4eecff136686d18912fa59d4bc983", kill_on_drop: false }` [INFO] [stdout] 4e3228554185807a8b8827eb8efddd5247b4eecff136686d18912fa59d4bc983