[INFO] fetching crate rouille 3.6.2...
[INFO] testing rouille-3.6.2 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate rouille 3.6.2 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate rouille 3.6.2
[INFO] finished tweaking crates.io crate rouille 3.6.2
[INFO] tweaked toml for crates.io crate rouille 3.6.2 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rouille 3.6.2 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rouille 3.6.2 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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `rouille` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9
[INFO] running `Command { std: "docker" "start" "1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9", 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" "1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `rouille` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.142
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling rustix v0.37.14
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling serde v1.0.160
[INFO] [stderr]    Compiling linux-raw-sys v0.3.4
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling serde_derive v1.0.160
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]    Compiling percent-encoding v2.2.0
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling unicode-bidi v0.3.13
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling form_urlencoded v1.1.0
[INFO] [stderr]    Compiling brotli-decompressor v2.3.4
[INFO] [stderr]    Compiling gzip-header v1.0.0
[INFO] [stderr]    Compiling itoa v1.0.6
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling httpdate v1.0.2
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling ascii v1.1.0
[INFO] [stderr]    Compiling time-core v0.1.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.56
[INFO] [stderr]    Compiling ryu v1.0.13
[INFO] [stderr]    Compiling chunked_transfer v1.4.1
[INFO] [stderr]    Compiling num_threads v0.1.6
[INFO] [stderr]    Compiling deflate v1.0.0
[INFO] [stderr]    Compiling sha1_smol v1.0.0
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling twoway v0.1.8
[INFO] [stderr]    Compiling buf_redux v0.8.4
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling tiny_http v0.12.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]    Compiling chrono v0.4.24
[INFO] [stderr]    Compiling idna v0.3.0
[INFO] [stderr]    Compiling brotli v3.3.4
[INFO] [stderr]    Compiling url v2.3.1
[INFO] [stderr]    Compiling getrandom v0.2.9
[INFO] [stderr]    Compiling num_cpus v1.15.0
[INFO] [stderr]    Compiling time v0.3.20
[INFO] [stderr]    Compiling filetime v0.2.21
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling threadpool v1.8.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tempfile v3.5.0
[INFO] [stderr]    Compiling multipart v0.18.0
[INFO] [stderr]    Compiling rouille v3.6.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated constant `std::f32::NEG_INFINITY`: replaced by the `NEG_INFINITY` associated constant on `f32`
[INFO] [stdout]   --> src/input/priority_header.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut result = (None, f32::NEG_INFINITY);
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:948:20
[INFO] [stdout]     |
[INFO] [stdout] 948 |     pub fn headers(&self) -> HeadersIter {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 948 |     pub fn headers(&self) -> HeadersIter<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/lib.rs:1009:17
[INFO] [stdout]      |
[INFO] [stdout] 1009 |     pub fn data(&self) -> Option<RequestBody> {
[INFO] [stdout]      |                 ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1009 |     pub fn data(&self) -> Option<RequestBody<'_>> {
[INFO] [stdout]      |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/input/multipart.rs:58:37
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn get_multipart_input(request: &Request) -> Result<Multipart, MultipartError> {
[INFO] [stdout]    |                                     ^^^^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn get_multipart_input(request: &Request) -> Result<Multipart<'_>, MultipartError> {
[INFO] [stdout]    |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/input/cookies.rs:41:25
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn cookies(request: &Request) -> CookiesIter {
[INFO] [stdout]    |                         ^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn cookies(request: &Request) -> CookiesIter<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/input/priority_header.rs:99:37
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub fn parse_priority_header(input: &str) -> PriorityHeaderIter {
[INFO] [stdout]    |                                     ^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub fn parse_priority_header(input: &str) -> PriorityHeaderIter<'_> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.42s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.18.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `rouille` (manifest) generated 1 warning
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling subtle v2.4.1
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling bytes v1.4.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling pin-project-lite v0.2.9
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling tokio v1.27.0
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling cpufeatures v0.2.7
[INFO] [stderr]    Compiling futures-sink v0.3.28
[INFO] [stderr]    Compiling parking_lot_core v0.9.7
[INFO] [stderr]    Compiling once_cell v1.17.1
[INFO] [stderr]    Compiling mio v0.8.6
[INFO] [stderr]    Compiling stringprep v0.1.2
[INFO] [stderr]    Compiling socket2 v0.4.9
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling base64 v0.21.0
[INFO] [stderr]    Compiling tracing-core v0.1.30
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling async-trait v0.1.68
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling phf_shared v0.11.1
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling socket2 v0.5.2
[INFO] [stdout] warning: use of deprecated constant `std::f32::NEG_INFINITY`: replaced by the `NEG_INFINITY` associated constant on `f32`
[INFO] [stdout]   --> src/input/priority_header.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut result = (None, f32::NEG_INFINITY);
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:948:20
[INFO] [stdout]     |
[INFO] [stdout] 948 |     pub fn headers(&self) -> HeadersIter {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 948 |     pub fn headers(&self) -> HeadersIter<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/lib.rs:1009:17
[INFO] [stdout]      |
[INFO] [stdout] 1009 |     pub fn data(&self) -> Option<RequestBody> {
[INFO] [stdout]      |                 ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1009 |     pub fn data(&self) -> Option<RequestBody<'_>> {
[INFO] [stdout]      |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/input/multipart.rs:58:37
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn get_multipart_input(request: &Request) -> Result<Multipart, MultipartError> {
[INFO] [stdout]    |                                     ^^^^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn get_multipart_input(request: &Request) -> Result<Multipart<'_>, MultipartError> {
[INFO] [stdout]    |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/input/cookies.rs:41:25
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn cookies(request: &Request) -> CookiesIter {
[INFO] [stdout]    |                         ^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn cookies(request: &Request) -> CookiesIter<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/input/priority_header.rs:99:37
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub fn parse_priority_header(input: &str) -> PriorityHeaderIter {
[INFO] [stdout]    |                                     ^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub fn parse_priority_header(input: &str) -> PriorityHeaderIter<'_> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling phf v0.11.1
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.6
[INFO] [stderr]    Compiling md-5 v0.10.5
[INFO] [stderr]    Compiling sha2 v0.10.6
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling postgres-protocol v0.6.5
[INFO] [stderr]    Compiling postgres-types v0.2.5
[INFO] [stderr]    Compiling tokio-util v0.7.7
[INFO] [stderr]    Compiling tokio-postgres v0.7.8
[INFO] [stderr]    Compiling postgres v0.19.5
[INFO] [stderr]    Compiling rouille v3.6.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `login` is never read
[INFO] [stdout]   --> examples/login-session.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct SessionData {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 14 |     login: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionData` 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: use of deprecated constant `std::f32::NEG_INFINITY`: replaced by the `NEG_INFINITY` associated constant on `f32`
[INFO] [stdout]   --> src/input/priority_header.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut result = (None, f32::NEG_INFINITY);
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/router.rs:299:16
[INFO] [stdout]     |
[INFO] [stdout]  98 | /  macro_rules! router {
[INFO] [stdout] ...   |
[INFO] [stdout] 299 | |              if let Ok($p) = $crate::percent_encoding::percent_decode(url[0 .. pat_end].as_bytes())
[INFO] [stdout]     | | ________________^
[INFO] [stdout] 300 | ||                 .decode_utf8_lossy().parse() {
[INFO] [stdout]     | ||____________________________________________^
[INFO] [stdout] ...   |
[INFO] [stdout] 349 | |      );
[INFO] [stdout] 350 | |  }
[INFO] [stdout]     | |__- this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router`
[INFO] [stdout] ...
[INFO] [stdout] 394 |  /             router!(request,
[INFO] [stdout] 395 |  |                 (GET) (/hello/) => { 0 },
[INFO] [stdout] 396 |  |                 (GET) (/hello/{id:u32}) => { if id == 5 { 1 } else { 0 } },
[INFO] [stdout] 397 |  |                 (GET) (/hello/{_id:String}) => { 0 },
[INFO] [stdout] 398 |  |                 _ => 0
[INFO] [stdout] 399 |  |             )
[INFO] [stdout]     |  |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/router.rs:299:16
[INFO] [stdout]     |
[INFO] [stdout]  98 | /  macro_rules! router {
[INFO] [stdout] ...   |
[INFO] [stdout] 299 | |              if let Ok($p) = $crate::percent_encoding::percent_decode(url[0 .. pat_end].as_bytes())
[INFO] [stdout]     | | ________________^
[INFO] [stdout] 300 | ||                 .decode_utf8_lossy().parse() {
[INFO] [stdout]     | ||____________________________________________^
[INFO] [stdout] ...   |
[INFO] [stdout] 349 | |      );
[INFO] [stdout] 350 | |  }
[INFO] [stdout]     | |__- this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router`
[INFO] [stdout] ...
[INFO] [stdout] 409 |  /             router!(request,
[INFO] [stdout] 410 |  |                 (GET) (/hello/) => { 0 },
[INFO] [stdout] 411 |  |                 (GET) (/hello/{id:u32}) => { if id == 5 { 1 } else { 0 } },
[INFO] [stdout] 412 |  |                 (GET) (/hello/{_id:String}) => { 0 },
[INFO] [stdout] 413 |  |                 _ => 0,
[INFO] [stdout] 414 |  |             )
[INFO] [stdout]     |  |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/router.rs:299:16
[INFO] [stdout]     |
[INFO] [stdout]  98 | /  macro_rules! router {
[INFO] [stdout] ...   |
[INFO] [stdout] 299 | |              if let Ok($p) = $crate::percent_encoding::percent_decode(url[0 .. pat_end].as_bytes())
[INFO] [stdout]     | | ________________^
[INFO] [stdout] 300 | ||                 .decode_utf8_lossy().parse() {
[INFO] [stdout]     | ||____________________________________________^
[INFO] [stdout] ...   |
[INFO] [stdout] 349 | |      );
[INFO] [stdout] 350 | |  }
[INFO] [stdout]     | |__- this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router`
[INFO] [stdout] ...
[INFO] [stdout] 424 |  /             router!(request,
[INFO] [stdout] 425 |  |                 (GET) (/hello/) => { 0 },
[INFO] [stdout] 426 |  |                 (GET) (/hello/{id:u32}) => { if id == 5 { 1 } else { 0 } },
[INFO] [stdout] 427 |  |                 (GET) (/hello/{_id:String}) => { 0 },
[INFO] [stdout] 428 |  |                 _ => 0,,,,
[INFO] [stdout] 429 |  |             )
[INFO] [stdout]     |  |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/router.rs:299:16
[INFO] [stdout]     |
[INFO] [stdout]  98 | /  macro_rules! router {
[INFO] [stdout] ...   |
[INFO] [stdout] 299 | |              if let Ok($p) = $crate::percent_encoding::percent_decode(url[0 .. pat_end].as_bytes())
[INFO] [stdout]     | | ________________^
[INFO] [stdout] 300 | ||                 .decode_utf8_lossy().parse() {
[INFO] [stdout]     | ||____________________________________________^
[INFO] [stdout] ...   |
[INFO] [stdout] 349 | |      );
[INFO] [stdout] 350 | |  }
[INFO] [stdout]     | |__- this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router`
[INFO] [stdout] ...
[INFO] [stdout] 633 |  /             router!(request,
[INFO] [stdout] 634 |  |            (GET) (/hello/{val: String}/test) => { val },
[INFO] [stdout] 635 |  |            _ => String::from(""))
[INFO] [stdout]     |  |_________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]     = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `field` is never read
[INFO] [stdout]    --> src/input/post.rs:840:45
[INFO] [stdout]     |
[INFO] [stdout] 512 |         struct PostInput {
[INFO] [stdout]     |                --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 840 |         let input = post_input!(&request, { field: String });
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `field` is never read
[INFO] [stdout]    --> src/input/post.rs:883:45
[INFO] [stdout]     |
[INFO] [stdout] 512 |         struct PostInput {
[INFO] [stdout]     |                --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 883 |         let input = post_input!(&request, { field: u32 });
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `field` is never read
[INFO] [stdout]    --> src/input/post.rs:953:13
[INFO] [stdout]     |
[INFO] [stdout] 512 |         struct PostInput {
[INFO] [stdout]     |                --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 953 |             field: Vec<u8>
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `field` is never read
[INFO] [stdout]     --> src/input/post.rs:1003:45
[INFO] [stdout]      |
[INFO] [stdout]  512 |         struct PostInput {
[INFO] [stdout]      |                --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1003 |         let input = post_input!(&request, { field: String });
[INFO] [stdout]      |                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]      = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `field` is never read
[INFO] [stdout]     --> src/input/post.rs:1095:45
[INFO] [stdout]      |
[INFO] [stdout]  512 |         struct PostInput {
[INFO] [stdout]      |                --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1095 |         let input = post_input!(&request, { field: u32 });
[INFO] [stdout]      |                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]      = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `field` is never read
[INFO] [stdout]     --> src/input/post.rs:1144:45
[INFO] [stdout]      |
[INFO] [stdout]  512 |         struct PostInput {
[INFO] [stdout]      |                --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1144 |         let input = post_input!(&request, { field: u8 });
[INFO] [stdout]      |                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]      = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `field` is never read
[INFO] [stdout]     --> src/input/post.rs:1172:45
[INFO] [stdout]      |
[INFO] [stdout]  512 |         struct PostInput {
[INFO] [stdout]      |                --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1172 |         let input = post_input!(&request, { field: u8 });
[INFO] [stdout]      |                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]      = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `field` is never read
[INFO] [stdout]     --> src/input/post.rs:1196:45
[INFO] [stdout]      |
[INFO] [stdout]  512 |         struct PostInput {
[INFO] [stdout]      |                --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1196 |         let input = post_input!(&request, { field: String });
[INFO] [stdout]      |                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]      = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:948:20
[INFO] [stdout]     |
[INFO] [stdout] 948 |     pub fn headers(&self) -> HeadersIter {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 948 |     pub fn headers(&self) -> HeadersIter<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/lib.rs:1009:17
[INFO] [stdout]      |
[INFO] [stdout] 1009 |     pub fn data(&self) -> Option<RequestBody> {
[INFO] [stdout]      |                 ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1009 |     pub fn data(&self) -> Option<RequestBody<'_>> {
[INFO] [stdout]      |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/input/multipart.rs:58:37
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn get_multipart_input(request: &Request) -> Result<Multipart, MultipartError> {
[INFO] [stdout]    |                                     ^^^^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn get_multipart_input(request: &Request) -> Result<Multipart<'_>, MultipartError> {
[INFO] [stdout]    |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/input/cookies.rs:41:25
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn cookies(request: &Request) -> CookiesIter {
[INFO] [stdout]    |                         ^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn cookies(request: &Request) -> CookiesIter<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/input/priority_header.rs:99:37
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub fn parse_priority_header(input: &str) -> PriorityHeaderIter {
[INFO] [stdout]    |                                     ^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub fn parse_priority_header(input: &str) -> PriorityHeaderIter<'_> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 22.94s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.18.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `rouille` (manifest) generated 1 warning
[INFO] [stderr] warning: use of deprecated constant `std::f32::NEG_INFINITY`: replaced by the `NEG_INFINITY` associated constant on `f32`
[INFO] [stderr]   --> src/input/priority_header.rs:34:34
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let mut result = (None, f32::NEG_INFINITY);
[INFO] [stderr]    |                                  ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:948:20
[INFO] [stderr]     |
[INFO] [stderr] 948 |     pub fn headers(&self) -> HeadersIter {
[INFO] [stderr]     |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 948 |     pub fn headers(&self) -> HeadersIter<'_> {
[INFO] [stderr]     |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/lib.rs:1009:17
[INFO] [stderr]      |
[INFO] [stderr] 1009 |     pub fn data(&self) -> Option<RequestBody> {
[INFO] [stderr]      |                 ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |                 |
[INFO] [stderr]      |                 the lifetime is elided here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1009 |     pub fn data(&self) -> Option<RequestBody<'_>> {
[INFO] [stderr]      |                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/input/multipart.rs:58:37
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub fn get_multipart_input(request: &Request) -> Result<Multipart, MultipartError> {
[INFO] [stderr]    |                                     ^^^^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                     |
[INFO] [stderr]    |                                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub fn get_multipart_input(request: &Request) -> Result<Multipart<'_>, MultipartError> {
[INFO] [stderr]    |                                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/input/cookies.rs:41:25
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub fn cookies(request: &Request) -> CookiesIter {
[INFO] [stderr]    |                         ^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub fn cookies(request: &Request) -> CookiesIter<'_> {
[INFO] [stderr]    |                                                 ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/input/priority_header.rs:99:37
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub fn parse_priority_header(input: &str) -> PriorityHeaderIter {
[INFO] [stderr]    |                                     ^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                     |
[INFO] [stderr]    |                                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub fn parse_priority_header(input: &str) -> PriorityHeaderIter<'_> {
[INFO] [stderr]    |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/router.rs:299:16
[INFO] [stderr]     |
[INFO] [stderr]  98 | /  macro_rules! router {
[INFO] [stderr] ...   |
[INFO] [stderr] 299 | |              if let Ok($p) = $crate::percent_encoding::percent_decode(url[0 .. pat_end].as_bytes())
[INFO] [stderr]     | | ________________^
[INFO] [stderr] 300 | ||                 .decode_utf8_lossy().parse() {
[INFO] [stderr]     | ||____________________________________________^
[INFO] [stderr] ...   |
[INFO] [stderr] 349 | |      );
[INFO] [stderr] 350 | |  }
[INFO] [stderr]     | |__- this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router`
[INFO] [stderr] ...
[INFO] [stderr] 394 |  /             router!(request,
[INFO] [stderr] 395 |  |                 (GET) (/hello/) => { 0 },
[INFO] [stderr] 396 |  |                 (GET) (/hello/{id:u32}) => { if id == 5 { 1 } else { 0 } },
[INFO] [stderr] 397 |  |                 (GET) (/hello/{_id:String}) => { 0 },
[INFO] [stderr] 398 |  |                 _ => 0
[INFO] [stderr] 399 |  |             )
[INFO] [stderr]     |  |_____________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/router.rs:299:16
[INFO] [stderr]     |
[INFO] [stderr]  98 | /  macro_rules! router {
[INFO] [stderr] ...   |
[INFO] [stderr] 299 | |              if let Ok($p) = $crate::percent_encoding::percent_decode(url[0 .. pat_end].as_bytes())
[INFO] [stderr]     | | ________________^
[INFO] [stderr] 300 | ||                 .decode_utf8_lossy().parse() {
[INFO] [stderr]     | ||____________________________________________^
[INFO] [stderr] ...   |
[INFO] [stderr] 349 | |      );
[INFO] [stderr] 350 | |  }
[INFO] [stderr]     | |__- this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router`
[INFO] [stderr] ...
[INFO] [stderr] 409 |  /             router!(request,
[INFO] [stderr] 410 |  |                 (GET) (/hello/) => { 0 },
[INFO] [stderr] 411 |  |                 (GET) (/hello/{id:u32}) => { if id == 5 { 1 } else { 0 } },
[INFO] [stderr] 412 |  |                 (GET) (/hello/{_id:String}) => { 0 },
[INFO] [stderr] 413 |  |                 _ => 0,
[INFO] [stderr] 414 |  |             )
[INFO] [stderr]     |  |_____________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/router.rs:299:16
[INFO] [stderr]     |
[INFO] [stderr]  98 | /  macro_rules! router {
[INFO] [stderr] ...   |
[INFO] [stderr] 299 | |              if let Ok($p) = $crate::percent_encoding::percent_decode(url[0 .. pat_end].as_bytes())
[INFO] [stderr]     | | ________________^
[INFO] [stderr] 300 | ||                 .decode_utf8_lossy().parse() {
[INFO] [stderr]     | ||____________________________________________^
[INFO] [stderr] ...   |
[INFO] [stderr] 349 | |      );
[INFO] [stderr] 350 | |  }
[INFO] [stderr]     | |__- this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router`
[INFO] [stderr] ...
[INFO] [stderr] 424 |  /             router!(request,
[INFO] [stderr] 425 |  |                 (GET) (/hello/) => { 0 },
[INFO] [stderr] 426 |  |                 (GET) (/hello/{id:u32}) => { if id == 5 { 1 } else { 0 } },
[INFO] [stderr] 427 |  |                 (GET) (/hello/{_id:String}) => { 0 },
[INFO] [stderr] 428 |  |                 _ => 0,,,,
[INFO] [stderr] 429 |  |             )
[INFO] [stderr]     |  |_____________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/router.rs:299:16
[INFO] [stderr]     |
[INFO] [stderr]  98 | /  macro_rules! router {
[INFO] [stderr] ...   |
[INFO] [stderr] 299 | |              if let Ok($p) = $crate::percent_encoding::percent_decode(url[0 .. pat_end].as_bytes())
[INFO] [stderr]     | | ________________^
[INFO] [stderr] 300 | ||                 .decode_utf8_lossy().parse() {
[INFO] [stderr]     | ||____________________________________________^
[INFO] [stderr] ...   |
[INFO] [stderr] 349 | |      );
[INFO] [stderr] 350 | |  }
[INFO] [stderr]     | |__- this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router`
[INFO] [stderr] ...
[INFO] [stderr] 633 |  /             router!(request,
[INFO] [stderr] 634 |  |            (GET) (/hello/{val: String}/test) => { val },
[INFO] [stderr] 635 |  |            _ => String::from(""))
[INFO] [stderr]     |  |_________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]     = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: field `field` is never read
[INFO] [stderr]    --> src/input/post.rs:840:45
[INFO] [stderr]     |
[INFO] [stderr] 512 |         struct PostInput {
[INFO] [stderr]     |                --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 840 |         let input = post_input!(&request, { field: String });
[INFO] [stderr]     |                                             ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field `field` is never read
[INFO] [stderr]    --> src/input/post.rs:883:45
[INFO] [stderr]     |
[INFO] [stderr] 512 |         struct PostInput {
[INFO] [stderr]     |                --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 883 |         let input = post_input!(&request, { field: u32 });
[INFO] [stderr]     |                                             ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field `field` is never read
[INFO] [stderr]    --> src/input/post.rs:953:13
[INFO] [stderr]     |
[INFO] [stderr] 512 |         struct PostInput {
[INFO] [stderr]     |                --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 953 |             field: Vec<u8>
[INFO] [stderr]     |             ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field `field` is never read
[INFO] [stderr]     --> src/input/post.rs:1003:45
[INFO] [stderr]      |
[INFO] [stderr]  512 |         struct PostInput {
[INFO] [stderr]      |                --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 1003 |         let input = post_input!(&request, { field: String });
[INFO] [stderr]      |                                             ^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]      = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field `field` is never read
[INFO] [stderr]     --> src/input/post.rs:1095:45
[INFO] [stderr]      |
[INFO] [stderr]  512 |         struct PostInput {
[INFO] [stderr]      |                --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 1095 |         let input = post_input!(&request, { field: u32 });
[INFO] [stderr]      |                                             ^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]      = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field `field` is never read
[INFO] [stderr]     --> src/input/post.rs:1144:45
[INFO] [stderr]      |
[INFO] [stderr]  512 |         struct PostInput {
[INFO] [stderr]      |                --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 1144 |         let input = post_input!(&request, { field: u8 });
[INFO] [stderr]      |                                             ^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]      = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field `field` is never read
[INFO] [stderr]     --> src/input/post.rs:1172:45
[INFO] [stderr]      |
[INFO] [stderr]  512 |         struct PostInput {
[INFO] [stderr]      |                --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 1172 |         let input = post_input!(&request, { field: u8 });
[INFO] [stderr]      |                                             ^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]      = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field `field` is never read
[INFO] [stderr]     --> src/input/post.rs:1196:45
[INFO] [stderr]      |
[INFO] [stderr]  512 |         struct PostInput {
[INFO] [stderr]      |                --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 1196 |         let input = post_input!(&request, { field: String });
[INFO] [stderr]      |                                             ^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `PostInput` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]      = note: this warning originates in the macro `post_input` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `rouille` (lib) generated 6 warnings (run `cargo fix --lib -p rouille` to apply 5 suggestions)
[INFO] [stderr] warning: `rouille` (lib test) generated 18 warnings (6 duplicates)
[INFO] [stderr] warning: field `login` is never read
[INFO] [stderr]   --> examples/login-session.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | struct SessionData {
[INFO] [stderr]    |        ----------- field in this struct
[INFO] [stderr] 14 |     login: String,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SessionData` 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: `rouille` (example "login-session") generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.18.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/rouille/ce1a117481a5a3ac/out/rouille-ce1a117481a5a3ac)
[INFO] [stdout] 
[INFO] [stdout] running 104 tests
[INFO] [stdout] test input::accept::tests::basic ... ok
[INFO] [stdout] test content_encoding::tests::brotli_encoding ... ok
[INFO] [stdout] test content_encoding::tests::unknown_req_encoding ... ok
[INFO] [stdout] test content_encoding::tests::text_response ... ok
[INFO] [stdout] test input::accept::tests::no_header_first ... ok
[INFO] [stdout] test input::basic_http_auth::test::basic_http_auth_ok ... ok
[INFO] [stdout] test input::accept::tests::no_header_wildcard ... ok
[INFO] [stdout] test content_encoding::tests::empty_req_encodings ... ok
[INFO] [stdout] test input::basic_http_auth::test::basic_http_auth_wrong_header ... ok
[INFO] [stdout] test input::basic_http_auth::test::basic_http_auth_no_header ... ok
[INFO] [stdout] test input::accept::tests::multimatch_first ... ok
[INFO] [stdout] test input::cookies::test::cookies_ok ... ok
[INFO] [stdout] test input::plain::test::body_twice ... ok
[INFO] [stdout] test input::cookies::test::no_cookie ... ok
[INFO] [stdout] test input::plain::test::non_utf8_encoding ... ignored
[INFO] [stdout] test input::plain::test::bytes_limit ... ok
[INFO] [stdout] test input::plain::test::charset ... ok
[INFO] [stdout] test input::plain::test::missing_content_type ... ok
[INFO] [stdout] test input::plain::test::exact_limit ... ok
[INFO] [stdout] test input::plain::test::non_utf8_body ... ok
[INFO] [stdout] test input::post::tests::basic_bool ... ok
[INFO] [stdout] test input::post::tests::basic_int ... ok
[INFO] [stdout] test input::post::tests::body_extracted ... ok
[INFO] [stdout] test input::post::tests::missing_field ... ok
[INFO] [stdout] test input::post::tests::missing_field_bool ... ok
[INFO] [stdout] test input::post::tests::missing_field_option ... ok
[INFO] [stdout] test input::post::tests::missing_field_vec ... ok
[INFO] [stdout] test input::plain::test::ok ... ok
[INFO] [stdout] test input::plain::test::wrong_content_type ... ok
[INFO] [stdout] test input::post::tests::basic_float ... ok
[INFO] [stdout] test input::post::tests::not_utf8 ... ignored
[INFO] [stdout] test input::post::tests::basic_option_string ... ok
[INFO] [stdout] test input::post::tests::multiple_values_bool ... ok
[INFO] [stdout] test input::post::tests::multiple_values_vec ... ok
[INFO] [stdout] test input::post::tests::multiple_values_vec_option_parse_failure ... ok
[INFO] [stdout] test input::post::tests::multiple_values_vec_parse_failure ... ok
[INFO] [stdout] test input::post::tests::num_overflow ... ok
[INFO] [stdout] test input::post::tests::too_many_fields ... ok
[INFO] [stdout] test input::post::tests::num_parse_error ... ok
[INFO] [stdout] test input::post::tests::num_parse_error_option ... ok
[INFO] [stdout] test input::priority_header::tests::parse_white_spaces ... ok
[INFO] [stdout] test input::post::tests::multiple_values ... ok
[INFO] [stdout] test input::priority_header::tests::preferred_basic ... ok
[INFO] [stdout] test input::priority_header::tests::preferred_empty ... ok
[INFO] [stdout] test input::priority_header::tests::preferred_multimatch_first ... ok
[INFO] [stdout] test input::priority_header::tests::preferred_wildcard_header ... ok
[INFO] [stdout] test response::tests::unique_header_adds ... ok
[INFO] [stdout] test input::post::tests::weird_stuff ... ok
[INFO] [stdout] test response::tests::unique_header_adds_without_touching ... ok
[INFO] [stdout] test input::post::tests::wrong_content_type ... ok
[INFO] [stdout] test response::tests::unique_header_replaces ... ok
[INFO] [stdout] test input::post::tests::basic_string ... ok
[INFO] [stdout] test router::tests::basic ... ok
[INFO] [stdout] test router::tests::dash ... ok
[INFO] [stdout] test input::priority_header::tests::preferred_wildcard_header_left ... ok
[INFO] [stdout] test input::priority_header::tests::parse_basic ... ok
[INFO] [stdout] test router::tests::old_style_basic ... ok
[INFO] [stdout] test router::tests::old_style_params ... ok
[INFO] [stdout] test router::tests::encoded_old ... ok
[INFO] [stdout] test router::tests::files ... ok
[INFO] [stdout] test router::tests::multiple_params ... ok
[INFO] [stdout] test input::accept::tests::no_match ... ok
[INFO] [stdout] test router::tests::encoded ... ok
[INFO] [stdout] test router::tests::old_style_trailing_commas ... ok
[INFO] [stdout] test router::tests::param_slash ... ok
[INFO] [stdout] test input::accept::tests::wildcard ... ok
[INFO] [stdout] test content_encoding::tests::non_text_response ... ok
[INFO] [stdout] test router::tests::skip_failed_parse_float ... ok
[INFO] [stdout] test router::tests::trailing_commas ... ok
[INFO] [stdout] test content_encoding::tests::no_req_encodings ... ok
[INFO] [stdout] test router::tests::trailing_comma ... ok
[INFO] [stdout] test router::tests::url_parameter_ownership ... ok
[INFO] [stdout] test router::tests::skip_failed_parse_string ... ok
[INFO] [stdout] test router::tests::numbers ... ok
[INFO] [stdout] test tests::get_param_flag_without_equals ... ok
[INFO] [stdout] test session::test_generate_session_id ... ok
[INFO] [stdout] test content_encoding::tests::multi_req_encoding ... ok
[INFO] [stdout] test router::tests::old_style_dash ... ok
[INFO] [stdout] test tests::get_param_flag_with_equals ... ok
[INFO] [stdout] test tests::get_param_flag_with_multiple_params ... ok
[INFO] [stdout] test tests::encoded_plus_in_query_string ... ok
[INFO] [stdout] test router::tests::old_style_trailing_comma ... ok
[INFO] [stdout] test tests::get_param ... ok
[INFO] [stdout] test tests::dnt ... ok
[INFO] [stdout] test content_encoding::tests::gzip_encoding ... ok
[INFO] [stdout] test tests::get_param_no_match ... ok
[INFO] [stdout] test tests::get_param_partial_prefix_match ... ok
[INFO] [stdout] test tests::body_twice ... ok
[INFO] [stdout] test tests::get_param_multiple_param ... ok
[INFO] [stdout] test tests::header ... ok
[INFO] [stdout] test tests::plus_in_query_string ... ok
[INFO] [stdout] test tests::url_encode ... ok
[INFO] [stdout] test tests::url_strips_get_query ... ok
[INFO] [stdout] test tests::get_param_partial_suffix_match ... ok
[INFO] [stdout] test websocket::low_level::tests::basic ... ok
[INFO] [stdout] test websocket::websocket::tests::test_ws_framing_long ... ok
[INFO] [stdout] test websocket::websocket::tests::test_ws_framing_short ... ok
[INFO] [stdout] test tests::get_param_superstring_match ... ok
[INFO] [stdout] test tests::plus_in_url ... ok
[INFO] [stdout] test websocket::websocket::tests::test_ws_framing_very_long ... ok
[INFO] [stdout] test tests::urlencode_query_string ... ok
[INFO] [stdout] test websocket::websocket::tests::test_ws_framing_medium ... ok
[INFO] [stdout] test router::tests::identity_not_present_in_url_string - should panic ... ok
[INFO] [stdout] test router::tests::parameter_with_no_matching_identity - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 102 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rouille
[INFO] [stdout] 
[INFO] [stdout] running 71 tests
[INFO] [stdout] test src/input/accept.rs - input::accept::accept (line 46) ... ok
[INFO] [stdout] test src/input/accept.rs - input::accept::accept (line 30) ... ok
[INFO] [stdout] test src/content_encoding.rs - content_encoding::apply (line 47) ... ok
[INFO] [stdout] test src/content_encoding.rs - content_encoding (line 18) ... ok
[INFO] [stdout] test src/input/json.rs - input::json::json_input (line 105) ... ok
[INFO] [stdout] test src/assets.rs - assets::match_assets (line 33) - compile ... ok
[INFO] [stdout] test src/input/json.rs - input::json (line 17) ... ok
[INFO] [stdout] test src/assets.rs - assets::match_assets (line 66) - compile ... ok
[INFO] [stdout] test src/cgi.rs - cgi (line 18) - compile ... ok
[INFO] [stdout] test src/input/cookies.rs - input::cookies::cookies (line 30) ... ok
[INFO] [stdout] test src/lib.rs - (line 14) - compile ... ok
[INFO] [stdout] test src/input/basic_http_auth.rs - input::basic_http_auth::basic_http_auth (line 38) ... ok
[INFO] [stdout] test src/input/post.rs - input::post (line 14) ... ok
[INFO] [stdout] test src/input/plain.rs - input::plain::plain_text_body (line 81) ... ok
[INFO] [stdout] test src/find_route.rs - find_route::find_route (line 17) ... ok
[INFO] [stdout] test src/lib.rs - Request::do_not_track (line 961) ... ok
[INFO] [stdout] test src/lib.rs - Server<F>::stoppable (line 445) - compile ... ok
[INFO] [stdout] test src/lib.rs - Server<F>::join (line 523) - compile ... ok
[INFO] [stdout] test src/lib.rs - Request::is_secure (line 834) ... ok
[INFO] [stdout] test src/lib.rs - Server<F>::poll_timeout (line 488) - compile ... ok
[INFO] [stdout] test src/lib.rs - Request::url (line 901) ... ok
[INFO] [stdout] test src/lib.rs - Server (line 334) - compile ... ok
[INFO] [stdout] test src/lib.rs - start_server (line 204) - compile ... ok
[INFO] [stdout] test src/input/post.rs - input::post (line 75) ... ok
[INFO] [stdout] test src/lib.rs - Request::remove_prefix (line 801) ... ok
[INFO] [stdout] test src/input/priority_header.rs - input::priority_header::parse_priority_header (line 89) ... ok
[INFO] [stdout] test src/lib.rs - Request::data (line 989) ... ok
[INFO] [stdout] test src/input/priority_header.rs - input::priority_header::priority_header_preferred (line 23) ... ok
[INFO] [stdout] test src/response.rs - response::Response::from_file (line 272) - compile ... ok
[INFO] [stdout] test src/lib.rs - Request::remote_addr (line 1021) ... ok
[INFO] [stdout] test src/log.rs - log::log (line 31) ... ok
[INFO] [stdout] test src/lib.rs - assert_or_400 (line 147) ... ok
[INFO] [stdout] test src/response.rs - response::Response::is_error (line 95) ... ok
[INFO] [stdout] test src/response.rs - response::Response::empty_400 (line 439) ... ok
[INFO] [stdout] test src/lib.rs - Request::raw_url (line 864) ... ok
[INFO] [stdout] test src/response.rs - response::Response::html (line 296) ... ok
[INFO] [stdout] test src/response.rs - response::Response::from_data (line 250) ... ok
[INFO] [stdout] test src/proxy.rs - proxy (line 34) ... ok
[INFO] [stdout] test src/response.rs - response::Response::basic_http_auth_login_required (line 399) ... ok
[INFO] [stdout] test src/response.rs - response::Response::empty_404 (line 457) ... ok
[INFO] [stdout] test src/response.rs - response::Response::empty_204 (line 421) ... ok
[INFO] [stdout] test src/response.rs - response::Response::redirect_302 (line 138) ... ok
[INFO] [stdout] test src/log.rs - log::log_custom (line 87) ... ok
[INFO] [stdout] test src/response.rs - response::Response::svg (line 317) ... ok
[INFO] [stdout] test src/response.rs - response::Response::text (line 338) ... ok
[INFO] [stdout] test src/response.rs - response::ResponseBody::from_reader_and_size (line 781) - compile ... ok
[INFO] [stdout] test src/response.rs - response::ResponseBody::from_file (line 825) - compile ... ok
[INFO] [stdout] test src/response.rs - response::Response::empty_406 (line 475) ... ok
[INFO] [stdout] test src/router.rs - router::router (line 44) ... ignored
[INFO] [stdout] test src/router.rs - router::router (line 56) ... ignored
[INFO] [stdout] test src/router.rs - router::router (line 68) ... ignored
[INFO] [stdout] test src/router.rs - router::router (line 78) ... ignored
[INFO] [stdout] test src/response.rs - response::ResponseBody::from_reader (line 755) - compile ... ok
[INFO] [stdout] test src/response.rs - response::Response::redirect_301 (line 113) ... ok
[INFO] [stdout] test src/response.rs - response::Response::json (line 359) ... ok
[INFO] [stdout] test src/response.rs - response::Response::redirect_308 (line 229) ... ok
[INFO] [stdout] test src/response.rs - response::Response::redirect_307 (line 199) ... ok
[INFO] [stdout] test src/response.rs - response::Response::redirect_303 (line 168) ... ok
[INFO] [stdout] test src/response.rs - response::Response::is_success (line 81) ... ok
[INFO] [stdout] test src/response.rs - response::Response::with_etag (line 576) ... ok
[INFO] [stdout] test src/router.rs - router::router (line 14) - compile ... ok
[INFO] [stdout] test src/response.rs - response::Response::with_content_disposition_attachment (line 636) ... ok
[INFO] [stdout] test src/response.rs - response::ResponseBody::empty (line 736) ... ok
[INFO] [stdout] test src/response.rs - response::ResponseBody::from_data (line 803) ... ok
[INFO] [stdout] test src/response.rs - response::Response::with_status_code (line 493) ... ok
[INFO] [stdout] test src/response.rs - response::ResponseBody (line 722) ... ok
[INFO] [stdout] test src/response.rs - response::ResponseBody::from_string (line 846) ... ok
[INFO] [stdout] test src/try_or_400.rs - try_or_400::try_or_400 (line 20) ... ok
[INFO] [stdout] test src/websocket/mod.rs - websocket::requested_protocols (line 195) ... ok
[INFO] [stdout] test src/websocket/mod.rs - websocket (line 49) ... ok
[INFO] [stdout] test src/session.rs - session (line 20) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 67 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 8.11s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9", kill_on_drop: false }`
[INFO] [stdout] 1a6fc66bbc3697f4f931dcdf18f0d45584d4be7bd6f1037ba8c71e33fb70c1b9
