[INFO] cloning repository https://github.com/henakmedia/apilb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/henakmedia/apilb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhenakmedia%2Fapilb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhenakmedia%2Fapilb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e3c8a0d0c5f9d5287b16e2b8736e479a384a1433
[INFO] checking henakmedia/apilb against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhenakmedia%2Fapilb" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/henakmedia/apilb
[INFO] finished tweaking git repo https://github.com/henakmedia/apilb
[INFO] tweaked toml for git repo https://github.com/henakmedia/apilb written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/henakmedia/apilb 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/henakmedia/apilb 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-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 8be6847e59812fe64f7e4f774ccfbef6bf8c82227dc71e4b3331d687c2d31077
[INFO] running `Command { std: "docker" "start" "8be6847e59812fe64f7e4f774ccfbef6bf8c82227dc71e4b3331d687c2d31077", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8be6847e59812fe64f7e4f774ccfbef6bf8c82227dc71e4b3331d687c2d31077", 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" "8be6847e59812fe64f7e4f774ccfbef6bf8c82227dc71e4b3331d687c2d31077" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8be6847e59812fe64f7e4f774ccfbef6bf8c82227dc71e4b3331d687c2d31077", 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" "8be6847e59812fe64f7e4f774ccfbef6bf8c82227dc71e4b3331d687c2d31077" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling encoding_rs v0.8.41
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling prometheus-client v0.25.1
[INFO] [stderr]     Checking spin v0.9.9
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]    Compiling axum-macros v0.5.1
[INFO] [stderr]     Checking dtoa v1.0.11
[INFO] [stderr]     Checking toml v1.1.6+spec-1.1.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking tower-http v0.7.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling multiversion-macros v0.9.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling prometheus-client-derive-encode v0.5.1
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking multiversion v0.9.0
[INFO] [stderr]     Checking clap v4.6.6
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]     Checking futures v0.3.34
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking h2 v0.4.15
[INFO] [stderr]     Checking hyper v1.11.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking apilb v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]    --> src/extract.rs:246:72
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn ctx(body: Option<&[u8]>, query: &str, path: &str) -> RequestCtx<'_> {
[INFO] [stdout]     |                  -------------         ----        ----                ^^ expected named lifetime parameter
[INFO] [stdout]     |
[INFO] [stdout]     = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `body`, `query`, or `path`
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]     |
[INFO] [stdout] 246 -     fn ctx(body: Option<&[u8]>, query: &str, path: &str) -> RequestCtx<'_> {
[INFO] [stdout] 246 +     fn ctx<'a>(body: Option<&'a [u8]>, query: &'a str, path: &'a str) -> RequestCtx<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:216:23
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn test_pool(ttl: Duration) -> Arc<Pool> {
[INFO] [stdout]     |                       ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:292:30
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let pool = test_pool(Duration::from_secs(60));
[INFO] [stdout]     |                              ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:293:42
[INFO] [stdout]     |
[INFO] [stdout] 293 |         let bindings = BindingStore::new(Duration::from_secs(60));
[INFO] [stdout]     |                                          ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:309:30
[INFO] [stdout]     |
[INFO] [stdout] 309 |         let pool = test_pool(Duration::from_secs(60));
[INFO] [stdout]     |                              ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:310:42
[INFO] [stdout]     |
[INFO] [stdout] 310 |         let bindings = BindingStore::new(Duration::from_secs(60));
[INFO] [stdout]     |                                          ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `OnFull` in `rule`
[INFO] [stdout]    --> src/affinity.rs:314:35
[INFO] [stdout]     |
[INFO] [stdout] 314 |             on_full: crate::rule::OnFull::Deny,
[INFO] [stdout]     |                                   ^^^^^^ could not find `OnFull` in `rule`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use crate::config::OnFull;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `OnFull`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 314 -             on_full: crate::rule::OnFull::Deny,
[INFO] [stdout] 314 +             on_full: OnFull::Deny,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:320:68
[INFO] [stdout]     |
[INFO] [stdout] 320 |         bindings.bind("comfy", "job-1", "gpu-1", BindingKind::Job, Duration::from_secs(60));
[INFO] [stdout]     |                                                                    ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:324:68
[INFO] [stdout]     |
[INFO] [stdout] 324 |         bindings.bind("comfy", "job-2", "gpu-3", BindingKind::Job, Duration::from_secs(60));
[INFO] [stdout]     |                                                                    ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:331:30
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let pool = test_pool(Duration::from_secs(60));
[INFO] [stdout]     |                              ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:332:42
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let bindings = BindingStore::new(Duration::from_secs(60));
[INFO] [stdout]     |                                          ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:333:75
[INFO] [stdout]     |
[INFO] [stdout] 333 |         bindings.bind("comfy", "client-1", "gpu-3", BindingKind::Session, Duration::from_secs(30));
[INFO] [stdout]     |                                                                           ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:365:30
[INFO] [stdout]     |
[INFO] [stdout] 365 |         let pool = test_pool(Duration::from_secs(60));
[INFO] [stdout]     |                              ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:366:42
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let bindings = BindingStore::new(Duration::from_secs(60));
[INFO] [stdout]     |                                          ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Duration` in this scope
[INFO] [stdout]    --> src/affinity.rs:367:71
[INFO] [stdout]     |
[INFO] [stdout] 367 |         bindings.bind("comfy", "prompt-9", "gpu-1", BindingKind::Job, Duration::from_secs(60));
[INFO] [stdout]     |                                                                       ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout]     = note: struct `crate::pool::tests::Duration` exists but is inaccessible
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `OnFull` in `rule`
[INFO] [stdout]    --> src/affinity.rs:375:35
[INFO] [stdout]     |
[INFO] [stdout] 375 |             on_full: crate::rule::OnFull::Deny,
[INFO] [stdout]     |                                   ^^^^^^ could not find `OnFull` in `rule`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 210 +     use crate::config::OnFull;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `OnFull`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 375 -             on_full: crate::rule::OnFull::Deny,
[INFO] [stdout] 375 +             on_full: OnFull::Deny,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: enum import `RouteMode` is private
[INFO] [stdout]    --> src/affinity.rs:279:32
[INFO] [stdout]     |
[INFO] [stdout] 279 |             mode: crate::rule::RouteMode::RoundRobin,
[INFO] [stdout]     |             ----               ^^^^^^^^^ private enum import
[INFO] [stdout]     |             |
[INFO] [stdout]     |             while setting this field
[INFO] [stdout]     |
[INFO] [stdout] note: the enum import `RouteMode` is defined here...
[INFO] [stdout]    --> src/rule.rs:2:42
[INFO] [stdout]     |
[INFO] [stdout]   2 |     MatchConfig, OnMiss, RateRuleConfig, RouteMode, SelectionMode,
[INFO] [stdout]     |                                          ^^^^^^^^^
[INFO] [stdout] note: ...and refers to the enum `RouteMode` which is defined here
[INFO] [stdout]    --> src/config.rs:468:1
[INFO] [stdout]     |
[INFO] [stdout] 468 | pub enum RouteMode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ you could import this directly
[INFO] [stdout] help: consider importing this unit variant instead
[INFO] [stdout]     |
[INFO] [stdout] 279 -             mode: crate::rule::RouteMode::RoundRobin,
[INFO] [stdout] 279 +             mode: crate::config::RouteMode::RoundRobin,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: enum import `OnMiss` is private
[INFO] [stdout]    --> src/affinity.rs:281:35
[INFO] [stdout]     |
[INFO] [stdout] 281 |             on_miss: crate::rule::OnMiss::RouteNew,
[INFO] [stdout]     |             -------               ^^^^^^ private enum import
[INFO] [stdout]     |             |
[INFO] [stdout]     |             while setting this field
[INFO] [stdout]     |
[INFO] [stdout] note: the enum import `OnMiss` is defined here...
[INFO] [stdout]    --> src/rule.rs:2:18
[INFO] [stdout]     |
[INFO] [stdout]   2 |     MatchConfig, OnMiss, RateRuleConfig, RouteMode, SelectionMode,
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] note: ...and refers to the enum `OnMiss` which is defined here
[INFO] [stdout]    --> src/config.rs:477:1
[INFO] [stdout]     |
[INFO] [stdout] 477 | pub enum OnMiss {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ you could import this directly
[INFO] [stdout] help: consider importing this unit variant instead
[INFO] [stdout]     |
[INFO] [stdout] 281 -             on_miss: crate::rule::OnMiss::RouteNew,
[INFO] [stdout] 281 +             on_miss: crate::config::OnMiss::RouteNew,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: enum import `RouteMode` is private
[INFO] [stdout]    --> src/affinity.rs:341:34
[INFO] [stdout]     |
[INFO] [stdout] 341 |         rule.mode = crate::rule::RouteMode::Affinity;
[INFO] [stdout]     |                                  ^^^^^^^^^ private enum import
[INFO] [stdout]     |
[INFO] [stdout] note: the enum import `RouteMode` is defined here...
[INFO] [stdout]    --> src/rule.rs:2:42
[INFO] [stdout]     |
[INFO] [stdout]   2 |     MatchConfig, OnMiss, RateRuleConfig, RouteMode, SelectionMode,
[INFO] [stdout]     |                                          ^^^^^^^^^
[INFO] [stdout] note: ...and refers to the enum `RouteMode` which is defined here
[INFO] [stdout]    --> src/config.rs:468:1
[INFO] [stdout]     |
[INFO] [stdout] 468 | pub enum RouteMode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ you could import this directly
[INFO] [stdout] help: consider importing this unit variant instead
[INFO] [stdout]     |
[INFO] [stdout] 341 -         rule.mode = crate::rule::RouteMode::Affinity;
[INFO] [stdout] 341 +         rule.mode = crate::config::RouteMode::Affinity;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `shutdown`
[INFO] [stdout]    --> src/app.rs:204:85
[INFO] [stdout]     |
[INFO] [stdout] 195 |     let shutdown = async {
[INFO] [stdout]     |         -------- move occurs because `shutdown` has type `{async block@src/app.rs:195:20: 195:25}`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 203 |         axum::serve(traffic_listener, traffic_router).with_graceful_shutdown(shutdown);
[INFO] [stdout]     |                                                                              -------- value moved here
[INFO] [stdout] 204 |     let serve_mgmt = axum::serve(mgmt_listener, mgmt_router).with_graceful_shutdown(shutdown);
[INFO] [stdout]     |                                                                                     ^^^^^^^^ value used here after move
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `shutdown`
[INFO] [stdout]    --> src/app.rs:204:85
[INFO] [stdout]     |
[INFO] [stdout] 195 |     let shutdown = async {
[INFO] [stdout]     |         -------- move occurs because `shutdown` has type `{async block@src/app.rs:195:20: 195:25}`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 203 |         axum::serve(traffic_listener, traffic_router).with_graceful_shutdown(shutdown);
[INFO] [stdout]     |                                                                              -------- value moved here
[INFO] [stdout] 204 |     let serve_mgmt = axum::serve(mgmt_listener, mgmt_router).with_graceful_shutdown(shutdown);
[INFO] [stdout]     |                                                                                     ^^^^^^^^ value used here after move
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/affinity.rs:347:24
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 group: 1,
[INFO] [stdout]     |                        ^ expected `String`, found integer
[INFO] [stdout]     |
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 group: 1.to_string(),
[INFO] [stdout]     |                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/proxy.rs:499:9
[INFO] [stdout]     |
[INFO] [stdout] 489 |     state.capture.record(
[INFO] [stdout]     |                   ------ arguments to this method are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 499 |         resp_headers,
[INFO] [stdout]     |         ^^^^^^^^^^^^ expected `Option<&[(&str, String)]>`, found `Option<&[(String, String)]>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&[(&str, std::string::String)]>`
[INFO] [stdout]                found enum `Option<&[(std::string::String, std::string::String)]>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/capture.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  47 |     pub fn record(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |         response_headers: Option<&[(&str, String)]>,
[INFO] [stdout]     |         -------------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/proxy.rs:499:9
[INFO] [stdout]     |
[INFO] [stdout] 489 |     state.capture.record(
[INFO] [stdout]     |                   ------ arguments to this method are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 499 |         resp_headers,
[INFO] [stdout]     |         ^^^^^^^^^^^^ expected `Option<&[(&str, String)]>`, found `Option<&[(String, String)]>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<&[(&str, std::string::String)]>`
[INFO] [stdout]                found enum `Option<&[(std::string::String, std::string::String)]>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/capture.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  47 |     pub fn record(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |         response_headers: Option<&[(&str, String)]>,
[INFO] [stdout]     |         -------------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing temporary value
[INFO] [stdout]    --> src/affinity.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 | /         RequestCtx {
[INFO] [stdout] 260 | |             method,
[INFO] [stdout] 261 | |             path,
[INFO] [stdout] 262 | |             query: "",
[INFO] [stdout] 263 | |             headers: &http::HeaderMap::new(),
[INFO] [stdout]     | |                       ---------------------- temporary value created here
[INFO] [stdout] 264 | |             body: None,
[INFO] [stdout] 265 | |         }
[INFO] [stdout]     | |_________^ returns a value referencing data owned by the current function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0106, E0308, E0382, E0425, E0433, E0515, E0603.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `apilb` (lib test) due to 23 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0308, E0382.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `apilb` (lib) due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "8be6847e59812fe64f7e4f774ccfbef6bf8c82227dc71e4b3331d687c2d31077", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8be6847e59812fe64f7e4f774ccfbef6bf8c82227dc71e4b3331d687c2d31077", kill_on_drop: false }`
[INFO] [stdout] 8be6847e59812fe64f7e4f774ccfbef6bf8c82227dc71e4b3331d687c2d31077
