[INFO] cloning repository https://github.com/ssreeni1/paygate [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ssreeni1/paygate" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fssreeni1%2Fpaygate", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fssreeni1%2Fpaygate'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1b3949f857cba62865b41dddfef0acfcfe52a7ff [INFO] testing ssreeni1/paygate against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fssreeni1%2Fpaygate" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ssreeni1/paygate [INFO] finished tweaking git repo https://github.com/ssreeni1/paygate [INFO] tweaked toml for git repo https://github.com/ssreeni1/paygate written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ssreeni1/paygate on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ssreeni1/paygate 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9307cd205cbc40d2de746b664d3e0b9e1b3053eb5ae8b1c4bc356a1969bb8c95 [INFO] running `Command { std: "docker" "start" "-a" "9307cd205cbc40d2de746b664d3e0b9e1b3053eb5ae8b1c4bc356a1969bb8c95", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9307cd205cbc40d2de746b664d3e0b9e1b3053eb5ae8b1c4bc356a1969bb8c95", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9307cd205cbc40d2de746b664d3e0b9e1b3053eb5ae8b1c4bc356a1969bb8c95", kill_on_drop: false }` [INFO] [stdout] 9307cd205cbc40d2de746b664d3e0b9e1b3053eb5ae8b1c4bc356a1969bb8c95 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 93d9bc7756e43831ac01eca9bbcf8e8e3e8dac395ffad90a176f492dd933fa80 [INFO] running `Command { std: "docker" "start" "-a" "93d9bc7756e43831ac01eca9bbcf8e8e3e8dac395ffad90a176f492dd933fa80", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling generic-array v0.14.9 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling zerocopy v0.8.47 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling keccak v0.1.6 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling aws-lc-rs v1.16.1 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling const-hex v1.18.1 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling ruint-macro v1.2.1 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling raw-cpuid v11.6.0 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling hdrhistogram v7.5.4 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling ff v0.13.1 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling sec1 v0.7.3 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling group v0.13.0 [INFO] [stderr] Compiling crypto-bigint v0.5.5 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling rfc6979 v0.4.0 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling ruint v1.17.2 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling quanta v0.12.6 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling rand_xoshiro v0.7.0 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling sketches-ddsketch v0.3.1 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Compiling aws-lc-sys v0.38.0 [INFO] [stderr] Compiling libsqlite3-sys v0.31.0 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling elliptic-curve v0.13.8 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling metrics v0.24.3 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Compiling ecdsa v0.16.9 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling spinning_top v0.3.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling web-time v1.1.0 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling no-std-compat v0.4.1 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling nonzero_ext v0.3.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling k256 v0.13.4 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling arc-swap v1.8.2 [INFO] [stderr] Compiling metrics-util v0.19.1 [INFO] [stderr] Compiling governor v0.8.1 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling macro-string v0.1.4 [INFO] [stderr] Compiling syn-solidity v1.5.7 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [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 tokio-macros v2.6.1 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling alloy-sol-macro-input v1.5.7 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling alloy-sol-macro-expander v1.5.7 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling alloy-primitives v1.5.7 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling alloy-sol-macro v1.5.7 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling alloy-sol-types v1.5.7 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling paygate-common v0.1.0 (/opt/rustwide/workdir/crates/paygate-common) [INFO] [stdout] warning: unused import: `U256` [INFO] [stdout] --> crates/paygate-common/src/types.rs:1:39 [INFO] [stdout] | [INFO] [stdout] 1 | use alloy_primitives::{Address, B256, U256}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rusqlite v0.33.0 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling metrics-exporter-prometheus v0.16.2 [INFO] [stderr] Compiling paygate-client v0.1.0 (/opt/rustwide/workdir/crates/paygate-client) [INFO] [stderr] Compiling paygate-gateway v0.1.0 (/opt/rustwide/workdir/crates/paygate-gateway) [INFO] [stdout] warning: unused imports: `TOKEN_DECIMALS`, `format_amount`, and `format_usd` [INFO] [stdout] --> crates/paygate-gateway/src/admin.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | use paygate_common::types::{format_amount, format_usd, TOKEN_DECIMALS}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> crates/paygate-gateway/src/payout.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::body::Body` [INFO] [stdout] --> crates/paygate-gateway/src/tip.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use axum::body::Body; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Request` [INFO] [stdout] --> crates/paygate-gateway/src/tip.rs:3:29 [INFO] [stdout] | [INFO] [stdout] 3 | use axum::http::{HeaderMap, Request, StatusCode}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_name` [INFO] [stdout] --> crates/paygate-gateway/src/sessions.rs:480:5 [INFO] [stdout] | [INFO] [stdout] 480 | agent_name: &str, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `github_token_env` and `internal_api_secret_env` are never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct TipsConfig { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 48 | pub github_token_env: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 49 | #[serde(default = "default_internal_api_secret_env")] [INFO] [stdout] 50 | pub internal_api_secret_env: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TipsConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `failover_timeout_ms` is never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct TempoConfig { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 80 | pub failover_timeout_ms: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TempoConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `description` is never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 94 | pub struct ProviderConfig { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 99 | pub description: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProviderConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `enabled`, `discount_percent`, and `auto_refund` are never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct SessionsConfig { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 116 | #[serde(default = "default_true")] [INFO] [stdout] 117 | pub enabled: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 118 | #[serde(default = "default_discount")] [INFO] [stdout] 119 | pub discount_percent: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub auto_refund: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionsConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tiers` is never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 144 | pub struct PricingConfig { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 154 | pub tiers: HashMap, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PricingConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `formula` is never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 173 | pub struct DynamicPricingConfig { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 177 | pub formula: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DynamicPricingConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `min_payment_interval_ms` is never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 201 | pub struct RateLimitConfig { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 207 | pub min_payment_interval_ms: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RateLimitConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `require_payment_before_forward` and `replay_protection` are never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 221 | pub struct SecurityConfig { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 222 | #[serde(default = "default_true")] [INFO] [stdout] 223 | pub require_payment_before_forward: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub replay_protection: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SecurityConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rate_per_request` is never read [INFO] [stdout] --> crates/paygate-gateway/src/db.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct SessionRecord { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | pub rate_per_request: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nonce` and `created_at` are never read [INFO] [stdout] --> crates/paygate-gateway/src/db.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct NonceRecord { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 50 | pub nonce: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 51 | pub payer_address: String, [INFO] [stdout] 52 | pub created_at: i64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NonceRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `daily_spend_for_agent` is never used [INFO] [stdout] --> crates/paygate-gateway/src/db.rs:471:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl DbReader { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 471 | pub fn daily_spend_for_agent(&self, agent_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `queue_depth` is never used [INFO] [stdout] --> crates/paygate-gateway/src/db.rs:662:12 [INFO] [stdout] | [INFO] [stdout] 509 | impl DbWriter { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 662 | pub fn queue_depth(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_active_sessions` is never used [INFO] [stdout] --> crates/paygate-gateway/src/metrics.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn set_active_sessions(count: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_writer_queue_depth` is never used [INFO] [stdout] --> crates/paygate-gateway/src/metrics.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn set_writer_queue_depth(depth: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_sponsor_budget_remaining` is never used [INFO] [stdout] --> crates/paygate-gateway/src/metrics.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn set_sponsor_budget_remaining(amount: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_sponsor_wallet_balance` is never used [INFO] [stdout] --> crates/paygate-gateway/src/metrics.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn set_sponsor_wallet_balance(amount: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cached` is never read [INFO] [stdout] --> crates/paygate-gateway/src/npm_resolver.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct NpmResolution { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | pub cached: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NpmResolution` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DbError` is never constructed [INFO] [stdout] --> crates/paygate-gateway/src/npm_resolver.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum ResolveError { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 28 | DbError(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ResolveError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `started_at` is never read [INFO] [stdout] --> crates/paygate-gateway/src/server.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct AppState { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | pub started_at: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `remaining_balance` is never read [INFO] [stdout] --> crates/paygate-gateway/src/sessions.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct SessionDeduction { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | pub remaining_balance: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpendLimitInfo` is never constructed [INFO] [stdout] --> crates/paygate-gateway/src/sessions.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct SpendLimitInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lookup_wallet` is never used [INFO] [stdout] --> crates/paygate-gateway/src/tip.rs:224:4 [INFO] [stdout] | [INFO] [stdout] 224 | fn lookup_wallet(db_reader: &DbReader, github_username: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type [INFO] [stdout] --> crates/paygate-gateway/src/cli.rs:185:37 [INFO] [stdout] | [INFO] [stdout] 185 | endpoints.sort_by_key(|(k, _)| k.clone()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type [INFO] [stdout] --> crates/paygate-gateway/src/helpers.rs:109:37 [INFO] [stdout] | [INFO] [stdout] 109 | endpoints.sort_by_key(|(k, _)| k.clone()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 53s [INFO] running `Command { std: "docker" "inspect" "93d9bc7756e43831ac01eca9bbcf8e8e3e8dac395ffad90a176f492dd933fa80", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "93d9bc7756e43831ac01eca9bbcf8e8e3e8dac395ffad90a176f492dd933fa80", kill_on_drop: false }` [INFO] [stdout] 93d9bc7756e43831ac01eca9bbcf8e8e3e8dac395ffad90a176f492dd933fa80 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b6e16923f9dbb81b5a5ab16fe2f397befa124853af8197db1e94e6687b994147 [INFO] running `Command { std: "docker" "start" "-a" "b6e16923f9dbb81b5a5ab16fe2f397befa124853af8197db1e94e6687b994147", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `U256` [INFO] [stdout] --> crates/paygate-common/src/types.rs:1:39 [INFO] [stdout] | [INFO] [stdout] 1 | use alloy_primitives::{Address, B256, U256}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling paygate-client v0.1.0 (/opt/rustwide/workdir/crates/paygate-client) [INFO] [stderr] Compiling paygate-common v0.1.0 (/opt/rustwide/workdir/crates/paygate-common) [INFO] [stderr] Compiling paygate-gateway v0.1.0 (/opt/rustwide/workdir/crates/paygate-gateway) [INFO] [stdout] warning: unused import: `U256` [INFO] [stdout] --> crates/paygate-common/src/types.rs:1:39 [INFO] [stdout] | [INFO] [stdout] 1 | use alloy_primitives::{Address, B256, U256}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TOKEN_DECIMALS`, `format_amount`, and `format_usd` [INFO] [stdout] --> crates/paygate-gateway/src/admin.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | use paygate_common::types::{format_amount, format_usd, TOKEN_DECIMALS}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:485:9 [INFO] [stdout] | [INFO] [stdout] 485 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> crates/paygate-gateway/src/payout.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> crates/paygate-gateway/src/proxy.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::body::Body` [INFO] [stdout] --> crates/paygate-gateway/src/tip.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use axum::body::Body; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Request` [INFO] [stdout] --> crates/paygate-gateway/src/tip.rs:3:29 [INFO] [stdout] | [INFO] [stdout] 3 | use axum::http::{HeaderMap, Request, StatusCode}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `agent_name` [INFO] [stdout] --> crates/paygate-gateway/src/sessions.rs:480:5 [INFO] [stdout] | [INFO] [stdout] 480 | agent_name: &str, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/paygate-gateway/src/serve.rs:883:13 [INFO] [stdout] | [INFO] [stdout] 883 | let mut state = test_state_with_upstream(upstream_addr, None).await; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/paygate-gateway/src/serve.rs:1174:13 [INFO] [stdout] | [INFO] [stdout] 1174 | let mut state = test_state_with_upstream(upstream_addr, None).await; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `github_token_env` and `internal_api_secret_env` are never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct TipsConfig { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 48 | pub github_token_env: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 49 | #[serde(default = "default_internal_api_secret_env")] [INFO] [stdout] 50 | pub internal_api_secret_env: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TipsConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `failover_timeout_ms` is never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct TempoConfig { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 80 | pub failover_timeout_ms: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TempoConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `description` is never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 94 | pub struct ProviderConfig { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 99 | pub description: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProviderConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `enabled`, `discount_percent`, and `auto_refund` are never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct SessionsConfig { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 116 | #[serde(default = "default_true")] [INFO] [stdout] 117 | pub enabled: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 118 | #[serde(default = "default_discount")] [INFO] [stdout] 119 | pub discount_percent: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub auto_refund: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionsConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tiers` is never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 144 | pub struct PricingConfig { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 154 | pub tiers: HashMap, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PricingConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `formula` is never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 173 | pub struct DynamicPricingConfig { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 177 | pub formula: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DynamicPricingConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `min_payment_interval_ms` is never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 201 | pub struct RateLimitConfig { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 207 | pub min_payment_interval_ms: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RateLimitConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `require_payment_before_forward` and `replay_protection` are never read [INFO] [stdout] --> crates/paygate-gateway/src/config.rs:223:9 [INFO] [stdout] | [INFO] [stdout] 221 | pub struct SecurityConfig { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 222 | #[serde(default = "default_true")] [INFO] [stdout] 223 | pub require_payment_before_forward: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub replay_protection: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SecurityConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rate_per_request` is never read [INFO] [stdout] --> crates/paygate-gateway/src/db.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct SessionRecord { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | pub rate_per_request: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SessionRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nonce` and `created_at` are never read [INFO] [stdout] --> crates/paygate-gateway/src/db.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct NonceRecord { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 50 | pub nonce: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 51 | pub payer_address: String, [INFO] [stdout] 52 | pub created_at: i64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NonceRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `queue_depth` is never used [INFO] [stdout] --> crates/paygate-gateway/src/db.rs:662:12 [INFO] [stdout] | [INFO] [stdout] 509 | impl DbWriter { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 662 | pub fn queue_depth(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_active_sessions` is never used [INFO] [stdout] --> crates/paygate-gateway/src/metrics.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn set_active_sessions(count: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_writer_queue_depth` is never used [INFO] [stdout] --> crates/paygate-gateway/src/metrics.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn set_writer_queue_depth(depth: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_sponsor_budget_remaining` is never used [INFO] [stdout] --> crates/paygate-gateway/src/metrics.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn set_sponsor_budget_remaining(amount: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_sponsor_wallet_balance` is never used [INFO] [stdout] --> crates/paygate-gateway/src/metrics.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn set_sponsor_wallet_balance(amount: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cached` is never read [INFO] [stdout] --> crates/paygate-gateway/src/npm_resolver.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct NpmResolution { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | pub cached: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NpmResolution` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DbError` is never constructed [INFO] [stdout] --> crates/paygate-gateway/src/npm_resolver.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum ResolveError { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 28 | DbError(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ResolveError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `started_at` is never read [INFO] [stdout] --> crates/paygate-gateway/src/server.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct AppState { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | pub started_at: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `remaining_balance` is never read [INFO] [stdout] --> crates/paygate-gateway/src/sessions.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct SessionDeduction { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | pub remaining_balance: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpendLimitInfo` is never constructed [INFO] [stdout] --> crates/paygate-gateway/src/sessions.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct SpendLimitInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lookup_wallet` is never used [INFO] [stdout] --> crates/paygate-gateway/src/tip.rs:224:4 [INFO] [stdout] | [INFO] [stdout] 224 | fn lookup_wallet(db_reader: &DbReader, github_username: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type [INFO] [stdout] --> crates/paygate-gateway/src/cli.rs:185:37 [INFO] [stdout] | [INFO] [stdout] 185 | endpoints.sort_by_key(|(k, _)| k.clone()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type [INFO] [stdout] --> crates/paygate-gateway/src/helpers.rs:109:37 [INFO] [stdout] | [INFO] [stdout] 109 | endpoints.sort_by_key(|(k, _)| k.clone()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 14.88s [INFO] running `Command { std: "docker" "inspect" "b6e16923f9dbb81b5a5ab16fe2f397befa124853af8197db1e94e6687b994147", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b6e16923f9dbb81b5a5ab16fe2f397befa124853af8197db1e94e6687b994147", kill_on_drop: false }` [INFO] [stdout] b6e16923f9dbb81b5a5ab16fe2f397befa124853af8197db1e94e6687b994147 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f3e0ebd7b456b5f1205d20e7491305d6eb44d9b242acbaa4bf720369be83a9ed [INFO] running `Command { std: "docker" "start" "-a" "f3e0ebd7b456b5f1205d20e7491305d6eb44d9b242acbaa4bf720369be83a9ed", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `U256` [INFO] [stderr] --> crates/paygate-common/src/types.rs:1:39 [INFO] [stderr] | [INFO] [stderr] 1 | use alloy_primitives::{Address, B256, U256}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `paygate-common` (lib) generated 1 warning (run `cargo fix --lib -p paygate-common` to apply 1 suggestion) [INFO] [stderr] warning: `paygate-common` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] warning: unused imports: `TOKEN_DECIMALS`, `format_amount`, and `format_usd` [INFO] [stderr] --> crates/paygate-gateway/src/admin.rs:12:29 [INFO] [stderr] | [INFO] [stderr] 12 | use paygate_common::types::{format_amount, format_usd, TOKEN_DECIMALS}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Write` [INFO] [stderr] --> crates/paygate-gateway/src/config.rs:485:9 [INFO] [stderr] | [INFO] [stderr] 485 | use std::io::Write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `error` and `warn` [INFO] [stderr] --> crates/paygate-gateway/src/payout.rs:6:15 [INFO] [stderr] | [INFO] [stderr] 6 | use tracing::{error, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> crates/paygate-gateway/src/proxy.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `axum::body::Body` [INFO] [stderr] --> crates/paygate-gateway/src/tip.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use axum::body::Body; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Request` [INFO] [stderr] --> crates/paygate-gateway/src/tip.rs:3:29 [INFO] [stderr] | [INFO] [stderr] 3 | use axum::http::{HeaderMap, Request, StatusCode}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `agent_name` [INFO] [stderr] --> crates/paygate-gateway/src/sessions.rs:480:5 [INFO] [stderr] | [INFO] [stderr] 480 | agent_name: &str, [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> crates/paygate-gateway/src/serve.rs:883:13 [INFO] [stderr] | [INFO] [stderr] 883 | let mut state = test_state_with_upstream(upstream_addr, None).await; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> crates/paygate-gateway/src/serve.rs:1174:13 [INFO] [stderr] | [INFO] [stderr] 1174 | let mut state = test_state_with_upstream(upstream_addr, None).await; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: fields `github_token_env` and `internal_api_secret_env` are never read [INFO] [stderr] --> crates/paygate-gateway/src/config.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 44 | pub struct TipsConfig { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 48 | pub github_token_env: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 49 | #[serde(default = "default_internal_api_secret_env")] [INFO] [stderr] 50 | pub internal_api_secret_env: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TipsConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `failover_timeout_ms` is never read [INFO] [stderr] --> crates/paygate-gateway/src/config.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 75 | pub struct TempoConfig { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 80 | pub failover_timeout_ms: u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TempoConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `description` is never read [INFO] [stderr] --> crates/paygate-gateway/src/config.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 94 | pub struct ProviderConfig { [INFO] [stderr] | -------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 99 | pub description: String, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ProviderConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `enabled`, `discount_percent`, and `auto_refund` are never read [INFO] [stderr] --> crates/paygate-gateway/src/config.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 115 | pub struct SessionsConfig { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 116 | #[serde(default = "default_true")] [INFO] [stderr] 117 | pub enabled: bool, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 118 | #[serde(default = "default_discount")] [INFO] [stderr] 119 | pub discount_percent: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 125 | pub auto_refund: bool, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SessionsConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `tiers` is never read [INFO] [stderr] --> crates/paygate-gateway/src/config.rs:154:9 [INFO] [stderr] | [INFO] [stderr] 144 | pub struct PricingConfig { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 154 | pub tiers: HashMap, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PricingConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `formula` is never read [INFO] [stderr] --> crates/paygate-gateway/src/config.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 173 | pub struct DynamicPricingConfig { [INFO] [stderr] | -------------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 177 | pub formula: String, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DynamicPricingConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `min_payment_interval_ms` is never read [INFO] [stderr] --> crates/paygate-gateway/src/config.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 201 | pub struct RateLimitConfig { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 207 | pub min_payment_interval_ms: u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RateLimitConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `require_payment_before_forward` and `replay_protection` are never read [INFO] [stderr] --> crates/paygate-gateway/src/config.rs:223:9 [INFO] [stderr] | [INFO] [stderr] 221 | pub struct SecurityConfig { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 222 | #[serde(default = "default_true")] [INFO] [stderr] 223 | pub require_payment_before_forward: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 229 | pub replay_protection: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SecurityConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `rate_per_request` is never read [INFO] [stderr] --> crates/paygate-gateway/src/db.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 20 | pub struct SessionRecord { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 24 | pub rate_per_request: u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SessionRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `nonce` and `created_at` are never read [INFO] [stderr] --> crates/paygate-gateway/src/db.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 49 | pub struct NonceRecord { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 50 | pub nonce: String, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 51 | pub payer_address: String, [INFO] [stderr] 52 | pub created_at: i64, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `NonceRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `queue_depth` is never used [INFO] [stderr] --> crates/paygate-gateway/src/db.rs:662:12 [INFO] [stderr] | [INFO] [stderr] 509 | impl DbWriter { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 662 | pub fn queue_depth(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `set_active_sessions` is never used [INFO] [stderr] --> crates/paygate-gateway/src/metrics.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn set_active_sessions(count: u64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `set_writer_queue_depth` is never used [INFO] [stderr] --> crates/paygate-gateway/src/metrics.rs:43:8 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn set_writer_queue_depth(depth: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `set_sponsor_budget_remaining` is never used [INFO] [stderr] --> crates/paygate-gateway/src/metrics.rs:80:8 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn set_sponsor_budget_remaining(amount: u64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `set_sponsor_wallet_balance` is never used [INFO] [stderr] --> crates/paygate-gateway/src/metrics.rs:84:8 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn set_sponsor_wallet_balance(amount: u64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `cached` is never read [INFO] [stderr] --> crates/paygate-gateway/src/npm_resolver.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct NpmResolution { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 12 | pub cached: bool, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `NpmResolution` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `DbError` is never constructed [INFO] [stderr] --> crates/paygate-gateway/src/npm_resolver.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 16 | pub enum ResolveError { [INFO] [stderr] | ------------ variant in this enum [INFO] [stderr] ... [INFO] [stderr] 28 | DbError(String), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ResolveError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `started_at` is never read [INFO] [stderr] --> crates/paygate-gateway/src/server.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct AppState { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 20 | pub started_at: std::time::Instant, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `remaining_balance` is never read [INFO] [stderr] --> crates/paygate-gateway/src/sessions.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 24 | pub struct SessionDeduction { [INFO] [stderr] | ---------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 28 | pub remaining_balance: u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SpendLimitInfo` is never constructed [INFO] [stderr] --> crates/paygate-gateway/src/sessions.rs:130:12 [INFO] [stderr] | [INFO] [stderr] 130 | pub struct SpendLimitInfo { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `lookup_wallet` is never used [INFO] [stderr] --> crates/paygate-gateway/src/tip.rs:224:4 [INFO] [stderr] | [INFO] [stderr] 224 | fn lookup_wallet(db_reader: &DbReader, github_username: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type [INFO] [stderr] --> crates/paygate-gateway/src/cli.rs:185:37 [INFO] [stderr] | [INFO] [stderr] 185 | endpoints.sort_by_key(|(k, _)| k.clone()); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stderr] [INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type [INFO] [stderr] --> crates/paygate-gateway/src/helpers.rs:109:37 [INFO] [stderr] | [INFO] [stderr] 109 | endpoints.sort_by_key(|(k, _)| k.clone()); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `paygate-gateway` (bin "paygate" test) generated 32 warnings (run `cargo fix --bin "paygate" -p paygate-gateway --tests` to apply 9 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.58s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/paygate_client-80b7f12336b9c225) [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/paygate_common-4e814151feca363a) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test hash::tests::test_payment_memo_different_quotes ... ok [INFO] [stdout] test hash::tests::test_payment_memo_deterministic ... ok [INFO] [stdout] test hash::tests::test_cross_language_hash_vectors ... ok [INFO] [stdout] test hash::tests::test_request_hash_post ... ok [INFO] [stdout] test hash::tests::test_request_hash_different_methods ... ok [INFO] [stdout] test hash::tests::test_request_hash_get_empty_body ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/paygate-44b979d5ccdfdc70) [INFO] [stdout] [INFO] [stdout] running 98 tests [INFO] [stdout] test cli::tests::test_register_service_abi_encoding ... ok [INFO] [stdout] test cli::tests::test_service_registered_event_signature ... ok [INFO] [stdout] test config::tests::test_invalid_address ... ok [INFO] [stdout] test config::tests::test_governance_defaults ... ok [INFO] [stdout] test config::tests::test_governance_enabled_limits ... ok [INFO] [stdout] test config::tests::test_price_parsing ... ok [INFO] [stdout] test config::tests::test_private_webhook_url_rejected ... ok [INFO] [stdout] test config::tests::test_valid_webhook_url ... ok [INFO] [stdout] test config::tests::test_minimal_config ... ok [INFO] [stdout] test config::tests::test_endpoint_pricing ... ok [INFO] [stdout] test db::tests::test_daily_spend_for_agent ... ok [INFO] [stdout] test db::tests::test_revenue_summary_filters_by_time ... ok [INFO] [stdout] test db::tests::test_recent_transactions_empty_db ... ok [INFO] [stdout] test db::tests::test_daily_spend_for_payer ... ok [INFO] [stdout] test db::tests::test_monthly_spend_for_payer ... ok [INFO] [stdout] test npm_resolver::tests::test_parse_github_url_git_plus_prefix ... ok [INFO] [stdout] test npm_resolver::tests::test_parse_github_url_git_suffix ... ok [INFO] [stdout] test npm_resolver::tests::test_parse_github_url_https ... ok [INFO] [stdout] test npm_resolver::tests::test_parse_github_url_not_github ... ok [INFO] [stdout] test npm_resolver::tests::test_parse_github_url_shorthand ... ok [INFO] [stdout] test npm_resolver::tests::test_parse_github_url_ssh ... ok [INFO] [stdout] test npm_resolver::tests::test_parse_github_url_empty ... ok [INFO] [stdout] test db::tests::test_utc_timestamp_helpers ... ok [INFO] [stdout] test db::tests::test_recent_transactions_respects_limit ... ok [INFO] [stdout] test db::tests::test_recent_transactions_ordered ... ok [INFO] [stdout] test db::tests::test_insert_and_retrieve_payment ... ok [INFO] [stdout] test rate_limit::tests::test_per_payer_rate_limit ... ok [INFO] [stdout] test db::tests::test_is_tx_consumed ... ok [INFO] [stdout] test rate_limit::tests::test_rate_limiter_rejects_at_threshold ... ok [INFO] [stdout] test db::tests::test_transaction_stats_correct ... ok [INFO] [stdout] test admin::tests::test_transactions_limit_parameter ... ok [INFO] [stdout] test admin::tests::test_transactions_returns_json_array ... ok [INFO] [stdout] test admin::tests::test_health_returns_json_structure ... ok [INFO] [stdout] test proxy::tests::test_header_sanitization ... ok [INFO] [stdout] test proxy::tests::test_upstream_5xx_returns_response_with_receipt ... ok [INFO] [stdout] test admin::tests::test_transactions_empty_db ... ok [INFO] [stdout] test admin::tests::test_receipt_404_for_unknown_tx ... ok [INFO] [stdout] test serve::tests::test_recent_transactions_empty_db ... ok [INFO] [stdout] test admin::tests::test_health_degraded_when_rpc_down ... ok [INFO] [stdout] test serve::tests::test_recent_transactions_ordered ... ok [INFO] [stdout] test serve::tests::test_transaction_stats_correct ... ok [INFO] [stdout] test admin::tests::test_metrics_returns_text_plain ... ok [INFO] [stdout] test serve::tests::test_free_endpoint_bypasses_payment ... ok [INFO] [stdout] test mpp::tests::test_402_response_format ... ok [INFO] [stdout] test proxy::tests::test_upstream_response_too_large ... ok [INFO] [stdout] test sessions::tests::test_compute_cost ... ok [INFO] [stdout] test sessions::tests::test_compute_cost_invalid_config ... ok [INFO] [stdout] test proxy::tests::test_x_payment_cost_header_correct_amount ... ok [INFO] [stdout] test proxy::tests::test_no_receipt_headers_for_free_endpoint ... ok [INFO] [stdout] test serve::tests::test_health_endpoint_healthy ... ok [INFO] [stdout] test serve::tests::test_receipt_endpoint_not_found ... ok [INFO] [stdout] test serve::tests::test_health_endpoint_degraded ... ok [INFO] [stdout] test serve::tests::test_metrics_endpoint_prometheus_format ... ok [INFO] [stdout] test sessions::tests::test_no_charge_on_5xx_config ... ok [INFO] [stdout] test serve::tests::test_transactions_endpoint_json ... ok [INFO] [stdout] test serve::tests::test_transactions_limit_param ... ok [INFO] [stdout] test sessions::tests::test_list_sessions_for_payer ... ok [INFO] [stdout] test sponsor::tests::test_budget_daily_limit ... ok [INFO] [stdout] test sponsor::tests::test_budget_per_tx_limit ... ok [INFO] [stdout] test sponsor::tests::test_budget_reset_at_midnight ... ok [INFO] [stdout] test sponsor::tests::test_invalid_json_rpc_request ... ok [INFO] [stdout] test sponsor::tests::test_sponsorship_disabled_no_route ... ok [INFO] [stdout] test tip::tests::test_generate_tip_id_format ... ok [INFO] [stdout] test tip::tests::test_is_valid_wallet_address ... ok [INFO] [stdout] test tip::tests::test_sanitize_for_markdown ... ok [INFO] [stdout] test serve::tests::test_receipt_endpoint_found ... ok [INFO] [stdout] test tip::tests::test_sanitize_text_truncates_safely ... ok [INFO] [stdout] test tip::tests::test_sanitize_text_utf8_safe ... ok [INFO] [stdout] test tip::tests::test_usdc_base_units ... ok [INFO] [stdout] test tip::tests::test_sanitize_text_strips_html ... ok [INFO] [stdout] test verifier::tests::test_ambiguous_transfer_detection ... ok [INFO] [stdout] test verifier::tests::test_insufficient_amount_detection ... ok [INFO] [stdout] test verifier::tests::test_memo_mismatch_detection ... ok [INFO] [stdout] test serve::tests::test_transactions_cors_headers ... ok [INFO] [stdout] test verifier::tests::test_payer_mismatch_detection ... ok [INFO] [stdout] test serve::tests::test_webhook_failure_does_not_block ... ok [INFO] [stdout] test serve::tests::test_402_flood_rate_limiter ... ok [INFO] [stdout] test sessions::tests::test_deduct_additional ... ok [INFO] [stdout] test sessions::tests::test_max_concurrent_exceeded ... ok [INFO] [stdout] test serve::tests::test_wrong_recipient_returns_error ... ok [INFO] [stdout] test sessions::tests::test_invalid_hmac ... ok [INFO] [stdout] test sessions::tests::test_hmac_verification_happy_path ... ok [INFO] [stdout] test serve::tests::test_webhook_delivery ... ok [INFO] [stdout] test sessions::tests::test_insufficient_balance ... ok [INFO] [stdout] test sessions::tests::test_create_session_invalid_nonce ... ok [INFO] [stdout] test sessions::tests::test_session_expired ... ok [INFO] [stdout] test sessions::tests::test_nonce_happy_path ... ok [INFO] [stdout] test verifier::tests::test_replay_rejection ... ok [INFO] [stdout] test sessions::tests::test_stale_timestamp ... ok [INFO] [stdout] test verifier::tests::test_null_receipt_tx_not_found ... ok [INFO] [stdout] test verifier::tests::test_quote_expired_fallback ... ok [INFO] [stdout] test verifier::tests::test_expired_transaction_detection ... ok [INFO] [stdout] test webhook::tests::test_webhook_failure_is_nonblocking ... ok [INFO] [stdout] test verifier::tests::test_quote_honored_within_ttl ... ok [INFO] [stdout] test verifier::tests::test_rpc_error_handling ... ok [INFO] [stdout] test verifier::tests::test_valid_payment_verification ... ok [INFO] [stdout] test webhook::tests::test_webhook_sends_post_on_payment ... ok [INFO] [stderr] Doc-tests paygate_client [INFO] [stdout] test webhook::tests::test_webhook_respects_timeout ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 98 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.12s [INFO] [stdout] [INFO] [stderr] Doc-tests paygate_common [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f3e0ebd7b456b5f1205d20e7491305d6eb44d9b242acbaa4bf720369be83a9ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f3e0ebd7b456b5f1205d20e7491305d6eb44d9b242acbaa4bf720369be83a9ed", kill_on_drop: false }` [INFO] [stdout] f3e0ebd7b456b5f1205d20e7491305d6eb44d9b242acbaa4bf720369be83a9ed