[INFO] cloning repository https://github.com/zainkhwaja/Rust-api-gateway
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zainkhwaja/Rust-api-gateway" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzainkhwaja%2FRust-api-gateway", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzainkhwaja%2FRust-api-gateway'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ca46b47195b969945c0259f4f5e5f99989db34e9
[INFO] checking zainkhwaja/Rust-api-gateway against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzainkhwaja%2FRust-api-gateway" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zainkhwaja/Rust-api-gateway
[INFO] finished tweaking git repo https://github.com/zainkhwaja/Rust-api-gateway
[INFO] tweaked toml for git repo https://github.com/zainkhwaja/Rust-api-gateway written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zainkhwaja/Rust-api-gateway on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zainkhwaja/Rust-api-gateway 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0eb3d22f2528b31dea6c831fc7f8d4265a91abe22d06fc97a72d35f9bacd6728
[INFO] running `Command { std: "docker" "start" "0eb3d22f2528b31dea6c831fc7f8d4265a91abe22d06fc97a72d35f9bacd6728", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0eb3d22f2528b31dea6c831fc7f8d4265a91abe22d06fc97a72d35f9bacd6728", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0eb3d22f2528b31dea6c831fc7f8d4265a91abe22d06fc97a72d35f9bacd6728" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0eb3d22f2528b31dea6c831fc7f8d4265a91abe22d06fc97a72d35f9bacd6728", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0eb3d22f2528b31dea6c831fc7f8d4265a91abe22d06fc97a72d35f9bacd6728" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.55
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking serde_json v1.0.151
[INFO] [stderr]     Checking http-body-util v0.1.4
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking raw-cpuid v10.7.0
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]    Compiling prometheus v0.14.0
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking pem v1.1.1
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking futures-util v0.3.33
[INFO] [stderr]     Checking ordered-float v3.9.2
[INFO] [stderr]     Checking num-bigint v0.4.8
[INFO] [stderr]     Checking filetime v0.2.29
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking tracing-log v0.1.4
[INFO] [stderr]     Checking nonzero_ext v0.3.0
[INFO] [stderr]     Checking futures-timer v3.0.4
[INFO] [stderr]     Checking http-range-header v0.3.1
[INFO] [stderr]     Checking no-std-compat v0.4.1
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking opentelemetry v0.24.0
[INFO] [stderr]     Checking protobuf-support v3.7.2
[INFO] [stderr]     Checking opentelemetry v0.22.0
[INFO] [stderr]     Checking quanta v0.9.3
[INFO] [stderr]     Checking prost v0.13.5
[INFO] [stderr]     Checking protobuf v3.7.2
[INFO] [stderr]     Checking simple_asn1 v0.6.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking jsonwebtoken v8.3.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.7
[INFO] [stderr]     Checking futures-executor v0.3.33
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking opentelemetry_api v0.20.0
[INFO] [stderr]     Checking tower-http v0.4.4
[INFO] [stderr]     Checking futures v0.3.33
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-stream v0.1.19
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking h2 v0.4.15
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking opentelemetry_sdk v0.24.1
[INFO] [stderr]     Checking opentelemetry_sdk v0.20.0
[INFO] [stderr]     Checking governor v0.4.2
[INFO] [stderr]     Checking opentelemetry v0.20.0
[INFO] [stderr]     Checking tracing-opentelemetry v0.20.0
[INFO] [stderr]     Checking hyper v1.11.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking redis v0.24.1
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking hyper-timeout v0.5.2
[INFO] [stderr]     Checking tonic v0.12.3
[INFO] [stderr]     Checking opentelemetry-proto v0.7.0
[INFO] [stderr]     Checking opentelemetry-otlp v0.17.0
[INFO] [stderr]     Checking rust-api-gateway v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `hyper::Client`
[INFO] [stdout]  --> src/gateway.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use hyper::Client;
[INFO] [stdout]   |     ^^^^^^^------
[INFO] [stdout]   |            |
[INFO] [stdout]   |            no `Client` in the root
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module (notice the capitalization)
[INFO] [stdout]   |
[INFO] [stdout] 2 - use hyper::Client;
[INFO] [stdout] 2 + use hyper::client;
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items instead
[INFO] [stdout]   |
[INFO] [stdout] 2 - use hyper::Client;
[INFO] [stdout] 2 + use opentelemetry::trace::SpanKind::Client;
[INFO] [stdout]   |
[INFO] [stdout] 2 - use hyper::Client;
[INFO] [stdout] 2 + use redis::Client;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `hyper::Server`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use hyper::Server;
[INFO] [stdout]    |     ^^^^^^^------
[INFO] [stdout]    |            |
[INFO] [stdout]    |            no `Server` in the root
[INFO] [stdout]    |
[INFO] [stdout] help: a similar name exists in the module (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 13 - use hyper::Server;
[INFO] [stdout] 13 + use hyper::server;
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this variant instead
[INFO] [stdout]    |
[INFO] [stdout] 13 - use hyper::Server;
[INFO] [stdout] 13 + use opentelemetry::trace::SpanKind::Server;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `hyper::Client`
[INFO] [stdout]  --> src/gateway.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use hyper::Client;
[INFO] [stdout]   |     ^^^^^^^------
[INFO] [stdout]   |            |
[INFO] [stdout]   |            no `Client` in the root
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module (notice the capitalization)
[INFO] [stdout]   |
[INFO] [stdout] 2 - use hyper::Client;
[INFO] [stdout] 2 + use hyper::client;
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items instead
[INFO] [stdout]   |
[INFO] [stdout] 2 - use hyper::Client;
[INFO] [stdout] 2 + use opentelemetry::trace::SpanKind::Client;
[INFO] [stdout]   |
[INFO] [stdout] 2 - use hyper::Client;
[INFO] [stdout] 2 + use redis::Client;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `hyper::Server`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use hyper::Server;
[INFO] [stdout]    |     ^^^^^^^------
[INFO] [stdout]    |            |
[INFO] [stdout]    |            no `Server` in the root
[INFO] [stdout]    |
[INFO] [stdout] help: a similar name exists in the module (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 13 - use hyper::Server;
[INFO] [stdout] 13 + use hyper::server;
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this variant instead
[INFO] [stdout]    |
[INFO] [stdout] 13 - use hyper::Server;
[INFO] [stdout] 13 + use opentelemetry::trace::SpanKind::Server;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/metrics.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         [(CONTENT_TYPE, encoder.format_type())],
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `[(HeaderName, &str); 1]`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&str`
[INFO] [stdout]                   found array `[(HeaderName, &str); 1]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/metrics.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |   pub async fn metrics_handler(State(state): State<SharedState>) -> impl IntoResponse {
[INFO] [stdout]    |                                                                     ----------------- expected `(hyper::StatusCode, &str)` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 51 | /     (
[INFO] [stdout] 52 | |         StatusCode::OK,
[INFO] [stdout] 53 | |         [(CONTENT_TYPE, encoder.format_type())],
[INFO] [stdout] 54 | |         String::from_utf8(buffer).unwrap_or_default(),
[INFO] [stdout] 55 | |     )
[INFO] [stdout]    | |_____^ expected a tuple with 2 elements, found one with 3 elements
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected tuple `(hyper::StatusCode, &str)`
[INFO] [stdout]               found tuple `(hyper::StatusCode, &str, std::string::String)`
[INFO] [stdout] note: return type inferred to be `(hyper::StatusCode, &str)` here
[INFO] [stdout]   --> src/metrics.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 |         return (StatusCode::INTERNAL_SERVER_ERROR, "Metrics encoding failed");
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed for `Result<_, RedisError>`
[INFO] [stdout]     --> src/rate_limit.rs:29:13
[INFO] [stdout]      |
[INFO] [stdout]   29 |         let _ = conn.expire(&key, config.rate_limit.window_secs as i64).await;
[INFO] [stdout]      |             ^        ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `FromRedisValue`
[INFO] [stdout]      = help: the following types implement trait `FromRedisValue`:
[INFO] [stdout]                ()
[INFO] [stdout]                (T12,)
[INFO] [stdout]                (T11, T12)
[INFO] [stdout]                (T10, T11, T12)
[INFO] [stdout]                (T9, T10, T11, T12)
[INFO] [stdout]                (T8, T9, T10, T11, T12)
[INFO] [stdout]                (T7, T8, T9, T10, T11, T12)
[INFO] [stdout]                (T6, T7, T8, T9, T10, T11, T12)
[INFO] [stdout]              and 44 others
[INFO] [stdout] note: required by a bound in `redis::AsyncCommands::expire`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-0.24.1/src/commands/macros.rs:167:25
[INFO] [stdout]      |
[INFO] [stdout]  157 |           pub trait AsyncCommands : crate::aio::ConnectionLike + Send + Sized {
[INFO] [stdout] ...
[INFO] [stdout]  167 |                       RV: FromRedisValue,
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^ required by this bound in `AsyncCommands::expire`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-0.24.1/src/commands/mod.rs:41:1
[INFO] [stdout]      |
[INFO] [stdout]   41 | / implement_commands! {
[INFO] [stdout]   42 | |     'a
[INFO] [stdout] ...    |
[INFO] [stdout]  133 | |     fn expire<K: ToRedisArgs>(key: K, seconds: i64) {
[INFO] [stdout] ...    |
[INFO] [stdout] 1873 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider giving this pattern a type, where the type for type parameter `RV` is specified
[INFO] [stdout]      |
[INFO] [stdout]   29 |         let _: Result<RV, _> = conn.expire(&key, config.rate_limit.window_secs as i64).await;
[INFO] [stdout]      |              +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/metrics.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         [(CONTENT_TYPE, encoder.format_type())],
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `[(HeaderName, &str); 1]`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&str`
[INFO] [stdout]                   found array `[(HeaderName, &str); 1]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/metrics.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |   pub async fn metrics_handler(State(state): State<SharedState>) -> impl IntoResponse {
[INFO] [stdout]    |                                                                     ----------------- expected `(hyper::StatusCode, &str)` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 51 | /     (
[INFO] [stdout] 52 | |         StatusCode::OK,
[INFO] [stdout] 53 | |         [(CONTENT_TYPE, encoder.format_type())],
[INFO] [stdout] 54 | |         String::from_utf8(buffer).unwrap_or_default(),
[INFO] [stdout] 55 | |     )
[INFO] [stdout]    | |_____^ expected a tuple with 2 elements, found one with 3 elements
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected tuple `(hyper::StatusCode, &str)`
[INFO] [stdout]               found tuple `(hyper::StatusCode, &str, std::string::String)`
[INFO] [stdout] note: return type inferred to be `(hyper::StatusCode, &str)` here
[INFO] [stdout]   --> src/metrics.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 |         return (StatusCode::INTERNAL_SERVER_ERROR, "Metrics encoding failed");
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed for `Result<_, RedisError>`
[INFO] [stdout]     --> src/rate_limit.rs:29:13
[INFO] [stdout]      |
[INFO] [stdout]   29 |         let _ = conn.expire(&key, config.rate_limit.window_secs as i64).await;
[INFO] [stdout]      |             ^        ------ type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `FromRedisValue`
[INFO] [stdout]      = help: the following types implement trait `FromRedisValue`:
[INFO] [stdout]                ()
[INFO] [stdout]                (T12,)
[INFO] [stdout]                (T11, T12)
[INFO] [stdout]                (T10, T11, T12)
[INFO] [stdout]                (T9, T10, T11, T12)
[INFO] [stdout]                (T8, T9, T10, T11, T12)
[INFO] [stdout]                (T7, T8, T9, T10, T11, T12)
[INFO] [stdout]                (T6, T7, T8, T9, T10, T11, T12)
[INFO] [stdout]              and 44 others
[INFO] [stdout] note: required by a bound in `redis::AsyncCommands::expire`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-0.24.1/src/commands/macros.rs:167:25
[INFO] [stdout]      |
[INFO] [stdout]  157 |           pub trait AsyncCommands : crate::aio::ConnectionLike + Send + Sized {
[INFO] [stdout] ...
[INFO] [stdout]  167 |                       RV: FromRedisValue,
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^ required by this bound in `AsyncCommands::expire`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/redis-0.24.1/src/commands/mod.rs:41:1
[INFO] [stdout]      |
[INFO] [stdout]   41 | / implement_commands! {
[INFO] [stdout]   42 | |     'a
[INFO] [stdout] ...    |
[INFO] [stdout]  133 | |     fn expire<K: ToRedisArgs>(key: K, seconds: i64) {
[INFO] [stdout] ...    |
[INFO] [stdout] 1873 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider giving this pattern a type, where the type for type parameter `RV` is specified
[INFO] [stdout]      |
[INFO] [stdout]   29 |         let _: Result<RV, _> = conn.expire(&key, config.rate_limit.window_secs as i64).await;
[INFO] [stdout]      |              +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Uri as FromStr>::Err == Error`
[INFO] [stdout]   --> src/gateway.rs:37:61
[INFO] [stdout]    |
[INFO] [stdout] 37 |     format!("{}://{}{}", scheme, authority, path_and_query).parse()
[INFO] [stdout]    |                                                             ^^^^^ expected `Error`, found `InvalidUri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<Uri as FromStr>::Err == Error`
[INFO] [stdout]   --> src/gateway.rs:37:61
[INFO] [stdout]    |
[INFO] [stdout] 37 |     format!("{}://{}{}", scheme, authority, path_and_query).parse()
[INFO] [stdout]    |                                                             ^^^^^ expected `Error`, found `InvalidUri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FromFn<_, (), Route, _>: Service<_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:43:24
[INFO] [stdout]     |
[INFO] [stdout]  43 |                 .layer(axum::middleware::from_fn(auth::auth_middleware))
[INFO] [stdout]     |                  ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `FromFn<fn(State<_>, _, Next) -> _ {auth_middleware}, (), Route, _>`
[INFO] [stdout]     = help: the following other types implement trait `tower::Service<Request>`:
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
[INFO] [stdout]             and 8 others
[INFO] [stdout] note: required by a bound in `Router::<S>::layer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs:284:21
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<S> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn layer<L>(self, layer: L) -> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 284 |         L::Service: Service<Request> + Clone + Send + 'static,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ required by this bound in `Router::<S>::layer`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/027de31f68238619/out/rust_api_gateway-027de31f68238619.long-type-12355579846570709797.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FromFn<_, (), Route, _>: Service<_>` is not satisfied
[INFO] [stdout]   --> src/main.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 | /             Router::new()
[INFO] [stdout] 42 | |                 .fallback(any(gateway::proxy_handler))
[INFO] [stdout] 43 | |                 .layer(axum::middleware::from_fn(auth::auth_middleware))
[INFO] [stdout]    | |________________________________________________________________________^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `FromFn<fn(State<_>, _, Next) -> _ {auth_middleware}, (), Route, _>`
[INFO] [stdout]    = help: the following other types implement trait `tower::Service<Request>`:
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
[INFO] [stdout]            and 8 others
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/027de31f68238619/out/rust_api_gateway-027de31f68238619.long-type-12355579846570709797.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FromFn<_, (), Route, _>: Service<_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:43:24
[INFO] [stdout]     |
[INFO] [stdout]  43 |                 .layer(axum::middleware::from_fn(auth::auth_middleware))
[INFO] [stdout]     |                  ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `FromFn<fn(State<_>, _, Next) -> _ {auth_middleware}, (), Route, _>`
[INFO] [stdout]     = help: the following other types implement trait `tower::Service<Request>`:
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
[INFO] [stdout]             and 8 others
[INFO] [stdout] note: required by a bound in `Router::<S>::layer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs:284:21
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<S> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn layer<L>(self, layer: L) -> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 284 |         L::Service: Service<Request> + Clone + Send + 'static,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ required by this bound in `Router::<S>::layer`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/9400bdca918a9d8b/out/rust_api_gateway-9400bdca918a9d8b.long-type-14442631939154511142.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FromFn<_, (), Route, _>: Service<_>` is not satisfied
[INFO] [stdout]   --> src/main.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 | /             Router::new()
[INFO] [stdout] 42 | |                 .fallback(any(gateway::proxy_handler))
[INFO] [stdout] 43 | |                 .layer(axum::middleware::from_fn(auth::auth_middleware))
[INFO] [stdout]    | |________________________________________________________________________^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `FromFn<fn(State<_>, _, Next) -> _ {auth_middleware}, (), Route, _>`
[INFO] [stdout]    = help: the following other types implement trait `tower::Service<Request>`:
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
[INFO] [stdout]            and 8 others
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/9400bdca918a9d8b/out/rust_api_gateway-9400bdca918a9d8b.long-type-14442631939154511142.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FromFn<_, (), Route, _>: Service<_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:44:24
[INFO] [stdout]     |
[INFO] [stdout]  44 |                 .layer(axum::middleware::from_fn(rate_limit::rate_limit_middleware))
[INFO] [stdout]     |                  ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `FromFn<fn(_, _, Next) -> _ {rate_limit_middleware}, (), Route, _>`
[INFO] [stdout]     = help: the following other types implement trait `tower::Service<Request>`:
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
[INFO] [stdout]             and 8 others
[INFO] [stdout] note: required by a bound in `Router::<S>::layer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs:284:21
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<S> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn layer<L>(self, layer: L) -> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 284 |         L::Service: Service<Request> + Clone + Send + 'static,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ required by this bound in `Router::<S>::layer`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/027de31f68238619/out/rust_api_gateway-027de31f68238619.long-type-18026982963647841861.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FromFn<_, (), Route, _>: Service<_>` is not satisfied
[INFO] [stdout]   --> src/main.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 | /             Router::new()
[INFO] [stdout] 42 | |                 .fallback(any(gateway::proxy_handler))
[INFO] [stdout] 43 | |                 .layer(axum::middleware::from_fn(auth::auth_middleware))
[INFO] [stdout] 44 | |                 .layer(axum::middleware::from_fn(rate_limit::rate_limit_middleware))
[INFO] [stdout]    | |____________________________________________________________________________________^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `FromFn<fn(_, _, Next) -> _ {rate_limit_middleware}, (), Route, _>`
[INFO] [stdout]    = help: the following other types implement trait `tower::Service<Request>`:
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
[INFO] [stdout]            and 8 others
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/027de31f68238619/out/rust_api_gateway-027de31f68238619.long-type-18026982963647841861.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FromFn<_, (), Route, _>: Service<_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:44:24
[INFO] [stdout]     |
[INFO] [stdout]  44 |                 .layer(axum::middleware::from_fn(rate_limit::rate_limit_middleware))
[INFO] [stdout]     |                  ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `FromFn<fn(_, _, Next) -> _ {rate_limit_middleware}, (), Route, _>`
[INFO] [stdout]     = help: the following other types implement trait `tower::Service<Request>`:
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
[INFO] [stdout]             and 8 others
[INFO] [stdout] note: required by a bound in `Router::<S>::layer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs:284:21
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<S> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn layer<L>(self, layer: L) -> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 284 |         L::Service: Service<Request> + Clone + Send + 'static,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ required by this bound in `Router::<S>::layer`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/9400bdca918a9d8b/out/rust_api_gateway-9400bdca918a9d8b.long-type-15316390831479751320.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FromFn<_, (), Route, _>: Service<_>` is not satisfied
[INFO] [stdout]   --> src/main.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 | /             Router::new()
[INFO] [stdout] 42 | |                 .fallback(any(gateway::proxy_handler))
[INFO] [stdout] 43 | |                 .layer(axum::middleware::from_fn(auth::auth_middleware))
[INFO] [stdout] 44 | |                 .layer(axum::middleware::from_fn(rate_limit::rate_limit_middleware))
[INFO] [stdout]    | |____________________________________________________________________________________^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `FromFn<fn(_, _, Next) -> _ {rate_limit_middleware}, (), Route, _>`
[INFO] [stdout]    = help: the following other types implement trait `tower::Service<Request>`:
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
[INFO] [stdout]            and 8 others
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/9400bdca918a9d8b/out/rust_api_gateway-9400bdca918a9d8b.long-type-15316390831479751320.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FromFn<_, (), Route, _>: Service<_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:45:24
[INFO] [stdout]     |
[INFO] [stdout]  45 |                 .layer(axum::middleware::from_fn(cache::cache_middleware)),
[INFO] [stdout]     |                  ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `FromFn<fn(State<_>, _, Next) -> _ {cache_middleware}, (), Route, _>`
[INFO] [stdout]     = help: the following other types implement trait `tower::Service<Request>`:
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
[INFO] [stdout]             and 8 others
[INFO] [stdout] note: required by a bound in `Router::<S>::layer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs:284:21
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<S> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn layer<L>(self, layer: L) -> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 284 |         L::Service: Service<Request> + Clone + Send + 'static,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ required by this bound in `Router::<S>::layer`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/027de31f68238619/out/rust_api_gateway-027de31f68238619.long-type-3211387294871482827.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FromFn<_, (), Route, _>: Service<_>` is not satisfied
[INFO] [stdout]   --> src/main.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 | /             Router::new()
[INFO] [stdout] 42 | |                 .fallback(any(gateway::proxy_handler))
[INFO] [stdout] 43 | |                 .layer(axum::middleware::from_fn(auth::auth_middleware))
[INFO] [stdout] 44 | |                 .layer(axum::middleware::from_fn(rate_limit::rate_limit_middleware))
[INFO] [stdout] 45 | |                 .layer(axum::middleware::from_fn(cache::cache_middleware)),
[INFO] [stdout]    | |__________________________________________________________________________^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `FromFn<fn(State<_>, _, Next) -> _ {cache_middleware}, (), Route, _>`
[INFO] [stdout]    = help: the following other types implement trait `tower::Service<Request>`:
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
[INFO] [stdout]            and 8 others
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/027de31f68238619/out/rust_api_gateway-027de31f68238619.long-type-3211387294871482827.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Trace<Route, SharedClassifier<ServerErrorsAsFailures>>: Service<_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:48:16
[INFO] [stdout]     |
[INFO] [stdout]  48 |         .layer(TraceLayer::new_for_http());
[INFO] [stdout]     |          ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `Trace<Route, SharedClassifier<ServerErrorsAsFailures>>`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `tower::Service<http::request::Request<ReqBody>>` is implemented for `Trace<S, M, MakeSpanT, OnRequestT, OnResponseT, OnBodyChunkT, OnEosT, OnFailureT>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tower-http-0.4.4/src/trace/service.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | / impl<
[INFO] [stdout] 264 | |         S,
[INFO] [stdout] 265 | |         ReqBody,
[INFO] [stdout] 266 | |         ResBody,
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     OnEosT: OnEos + Clone,
[INFO] [stdout] 289 | |     OnFailureT: OnFailure<M::FailureClass> + Clone,
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] note: required by a bound in `Router::<S>::layer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs:284:21
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<S> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn layer<L>(self, layer: L) -> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 284 |         L::Service: Service<Request> + Clone + Send + 'static,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ required by this bound in `Router::<S>::layer`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/027de31f68238619/out/rust_api_gateway-027de31f68238619.long-type-3038690463604384119.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Trace<Route, SharedClassifier<ServerErrorsAsFailures>>: Service<_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:37:15
[INFO] [stdout]     |
[INFO] [stdout]  37 |       let app = Router::new()
[INFO] [stdout]     |  _______________^
[INFO] [stdout]  38 | |         .route("/metrics", get(metrics::metrics_handler))
[INFO] [stdout]  39 | |         .merge(admin::router())
[INFO] [stdout]  40 | |         .merge(
[INFO] [stdout] ...   |
[INFO] [stdout]  47 | |         .with_state(state)
[INFO] [stdout]  48 | |         .layer(TraceLayer::new_for_http());
[INFO] [stdout]     | |__________________________________________^ the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `Trace<Route, SharedClassifier<ServerErrorsAsFailures>>`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `tower::Service<http::request::Request<ReqBody>>` is implemented for `Trace<S, M, MakeSpanT, OnRequestT, OnResponseT, OnBodyChunkT, OnEosT, OnFailureT>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tower-http-0.4.4/src/trace/service.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | / impl<
[INFO] [stdout] 264 | |         S,
[INFO] [stdout] 265 | |         ReqBody,
[INFO] [stdout] 266 | |         ResBody,
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     OnEosT: OnEos + Clone,
[INFO] [stdout] 289 | |     OnFailureT: OnFailure<M::FailureClass> + Clone,
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/027de31f68238619/out/rust_api_gateway-027de31f68238619.long-type-3038690463604384119.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FromFn<_, (), Route, _>: Service<_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:45:24
[INFO] [stdout]     |
[INFO] [stdout]  45 |                 .layer(axum::middleware::from_fn(cache::cache_middleware)),
[INFO] [stdout]     |                  ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `FromFn<fn(State<_>, _, Next) -> _ {cache_middleware}, (), Route, _>`
[INFO] [stdout]     = help: the following other types implement trait `tower::Service<Request>`:
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8)>
[INFO] [stdout]               axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
[INFO] [stdout]             and 8 others
[INFO] [stdout] note: required by a bound in `Router::<S>::layer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs:284:21
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<S> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn layer<L>(self, layer: L) -> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 284 |         L::Service: Service<Request> + Clone + Send + 'static,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ required by this bound in `Router::<S>::layer`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/9400bdca918a9d8b/out/rust_api_gateway-9400bdca918a9d8b.long-type-688671133367824651.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FromFn<_, (), Route, _>: Service<_>` is not satisfied
[INFO] [stdout]   --> src/main.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 | /             Router::new()
[INFO] [stdout] 42 | |                 .fallback(any(gateway::proxy_handler))
[INFO] [stdout] 43 | |                 .layer(axum::middleware::from_fn(auth::auth_middleware))
[INFO] [stdout] 44 | |                 .layer(axum::middleware::from_fn(rate_limit::rate_limit_middleware))
[INFO] [stdout] 45 | |                 .layer(axum::middleware::from_fn(cache::cache_middleware)),
[INFO] [stdout]    | |__________________________________________________________________________^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `FromFn<fn(State<_>, _, Next) -> _ {cache_middleware}, (), Route, _>`
[INFO] [stdout]    = help: the following other types implement trait `tower::Service<Request>`:
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8)>
[INFO] [stdout]              axum::middleware::FromFn<F, S, I, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
[INFO] [stdout]            and 8 others
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/9400bdca918a9d8b/out/rust_api_gateway-9400bdca918a9d8b.long-type-688671133367824651.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Trace<Route, SharedClassifier<ServerErrorsAsFailures>>: Service<_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:48:16
[INFO] [stdout]     |
[INFO] [stdout]  48 |         .layer(TraceLayer::new_for_http());
[INFO] [stdout]     |          ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `Trace<Route, SharedClassifier<ServerErrorsAsFailures>>`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `tower::Service<http::request::Request<ReqBody>>` is implemented for `Trace<S, M, MakeSpanT, OnRequestT, OnResponseT, OnBodyChunkT, OnEosT, OnFailureT>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tower-http-0.4.4/src/trace/service.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | / impl<
[INFO] [stdout] 264 | |         S,
[INFO] [stdout] 265 | |         ReqBody,
[INFO] [stdout] 266 | |         ResBody,
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     OnEosT: OnEos + Clone,
[INFO] [stdout] 289 | |     OnFailureT: OnFailure<M::FailureClass> + Clone,
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] note: required by a bound in `Router::<S>::layer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/axum-0.7.9/src/routing/mod.rs:284:21
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<S> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn layer<L>(self, layer: L) -> Router<S>
[INFO] [stdout] ...
[INFO] [stdout] 284 |         L::Service: Service<Request> + Clone + Send + 'static,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ required by this bound in `Router::<S>::layer`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/9400bdca918a9d8b/out/rust_api_gateway-9400bdca918a9d8b.long-type-9091294566987335073.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Trace<Route, SharedClassifier<ServerErrorsAsFailures>>: Service<_>` is not satisfied
[INFO] [stdout]    --> src/main.rs:37:15
[INFO] [stdout]     |
[INFO] [stdout]  37 |       let app = Router::new()
[INFO] [stdout]     |  _______________^
[INFO] [stdout]  38 | |         .route("/metrics", get(metrics::metrics_handler))
[INFO] [stdout]  39 | |         .merge(admin::router())
[INFO] [stdout]  40 | |         .merge(
[INFO] [stdout] ...   |
[INFO] [stdout]  47 | |         .with_state(state)
[INFO] [stdout]  48 | |         .layer(TraceLayer::new_for_http());
[INFO] [stdout]     | |__________________________________________^ the trait `tower::Service<hyper::Request<axum::body::Body>>` is not implemented for `Trace<Route, SharedClassifier<ServerErrorsAsFailures>>`
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `tower::Service<http::request::Request<ReqBody>>` is implemented for `Trace<S, M, MakeSpanT, OnRequestT, OnResponseT, OnBodyChunkT, OnEosT, OnFailureT>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tower-http-0.4.4/src/trace/service.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | / impl<
[INFO] [stdout] 264 | |         S,
[INFO] [stdout] 265 | |         ReqBody,
[INFO] [stdout] 266 | |         ResBody,
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |     OnEosT: OnEos + Clone,
[INFO] [stdout] 289 | |     OnFailureT: OnFailure<M::FailureClass> + Clone,
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/rust-api-gateway/9400bdca918a9d8b/out/rust_api_gateway-9400bdca918a9d8b.long-type-9091294566987335073.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0283, E0308, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0283, E0308, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-api-gateway` (bin "rust-api-gateway") due to 14 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `rust-api-gateway` (bin "rust-api-gateway" test) due to 14 previous errors
[INFO] [stderr] warning: unused dependency `governor`
[INFO] [stderr]   --> Cargo.toml:16:15
[INFO] [stderr]    |
[INFO] [stderr] 16 | [dependencies.governor]
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `governor`
[INFO] [stderr] warning: unused dependency `notify`
[INFO] [stderr]  --> Cargo.toml:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | notify = "6.1"
[INFO] [stderr]   | ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `notify`
[INFO] [stderr] warning: unused dependency `opentelemetry`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | opentelemetry = "0.22"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `opentelemetry`
[INFO] [stderr] warning: unused dependency `opentelemetry-otlp`
[INFO] [stderr]  --> Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | opentelemetry-otlp = "0.17"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `opentelemetry-otlp`
[INFO] [stderr] warning: unused dependency `tracing-opentelemetry`
[INFO] [stderr]   --> Cargo.toml:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | tracing-opentelemetry = "0.20"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tracing-opentelemetry`
[INFO] [stderr] warning: `rust-api-gateway` (manifest) generated 5 warnings
[INFO] running `Command { std: "docker" "inspect" "0eb3d22f2528b31dea6c831fc7f8d4265a91abe22d06fc97a72d35f9bacd6728", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0eb3d22f2528b31dea6c831fc7f8d4265a91abe22d06fc97a72d35f9bacd6728", kill_on_drop: false }`
[INFO] [stdout] 0eb3d22f2528b31dea6c831fc7f8d4265a91abe22d06fc97a72d35f9bacd6728
