[INFO] fetching crate rouille 3.6.2...
[INFO] testing rouille-3.6.2 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate rouille 3.6.2 into /workspace/builds/worker-7-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-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rouille 3.6.2 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5e365ef9035577802408b6e2d7db118be8f7d1fd9fd71d1c31a6c025a378fde5
[INFO] running `Command { std: "docker" "start" "-a" "5e365ef9035577802408b6e2d7db118be8f7d1fd9fd71d1c31a6c025a378fde5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5e365ef9035577802408b6e2d7db118be8f7d1fd9fd71d1c31a6c025a378fde5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e365ef9035577802408b6e2d7db118be8f7d1fd9fd71d1c31a6c025a378fde5", kill_on_drop: false }`
[INFO] [stdout] 5e365ef9035577802408b6e2d7db118be8f7d1fd9fd71d1c31a6c025a378fde5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b579fa45ad5ec41aea057d711c544afe7bd91b1218c93e05db57b048f4f41884
[INFO] running `Command { std: "docker" "start" "-a" "b579fa45ad5ec41aea057d711c544afe7bd91b1218c93e05db57b048f4f41884", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling libc v0.2.142
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]    Compiling rustix v0.37.14
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling serde v1.0.160
[INFO] [stderr]    Compiling linux-raw-sys v0.3.4
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling serde_derive v1.0.160
[INFO] [stderr]    Compiling unicode-bidi v0.3.13
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling percent-encoding v2.2.0
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling buf_redux v0.8.4
[INFO] [stderr]    Compiling getrandom v0.2.9
[INFO] [stderr]    Compiling idna v0.3.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]    Compiling num_cpus v1.15.0
[INFO] [stderr]    Compiling form_urlencoded v1.1.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling gzip-header v1.0.0
[INFO] [stderr]    Compiling brotli-decompressor v2.3.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling twoway v0.1.8
[INFO] [stderr]    Compiling num_threads v0.1.6
[INFO] [stderr]    Compiling time-core v0.1.0
[INFO] [stderr]    Compiling httpdate v1.0.2
[INFO] [stderr]    Compiling ascii v1.1.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.56
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling chunked_transfer v1.4.1
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling chrono v0.4.24
[INFO] [stderr]    Compiling deflate v1.0.0
[INFO] [stderr]    Compiling tiny_http v0.12.0
[INFO] [stderr]    Compiling brotli v3.3.4
[INFO] [stderr]    Compiling time v0.3.20
[INFO] [stderr]    Compiling tempfile v3.5.0
[INFO] [stderr]    Compiling url v2.3.1
[INFO] [stderr]    Compiling multipart v0.18.0
[INFO] [stderr]    Compiling threadpool v1.8.1
[INFO] [stderr]    Compiling filetime v0.2.21
[INFO] [stderr]    Compiling sha1_smol v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]    Compiling rouille v3.6.2 (/opt/rustwide/workdir)
[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 43.11s
[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 1`
[INFO] running `Command { std: "docker" "inspect" "b579fa45ad5ec41aea057d711c544afe7bd91b1218c93e05db57b048f4f41884", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b579fa45ad5ec41aea057d711c544afe7bd91b1218c93e05db57b048f4f41884", kill_on_drop: false }`
[INFO] [stdout] b579fa45ad5ec41aea057d711c544afe7bd91b1218c93e05db57b048f4f41884
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ab9f7f84e6a1acec61bc4443004b7162ec57386078847464d8db0df4e2138cc1
[INFO] running `Command { std: "docker" "start" "-a" "ab9f7f84e6a1acec61bc4443004b7162ec57386078847464d8db0df4e2138cc1", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling bytes v1.4.0
[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 parking_lot_core v0.9.7
[INFO] [stderr]    Compiling futures-sink v0.3.28
[INFO] [stderr]    Compiling tracing-core v0.1.30
[INFO] [stderr]    Compiling stringprep v0.1.2
[INFO] [stderr]    Compiling mio v0.8.6
[INFO] [stderr]    Compiling socket2 v0.4.9
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling async-trait v0.1.68
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling base64 v0.21.0
[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 tracing v0.1.37
[INFO] [stderr]    Compiling phf_shared v0.11.1
[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 futures-macro v0.3.28
[INFO] [stderr]    Compiling phf v0.11.1
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling socket2 v0.5.2
[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 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: irrefutable `if let` pattern
[INFO] [stdout]    --> src/router.rs:299:16
[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] 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]     = note: this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/router.rs:299:16
[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] 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]     = note: this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/router.rs:299:16
[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] 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]     = note: this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]    --> src/router.rs:299:16
[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] 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]     = note: this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router` (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: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 35.05s
[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 1`
[INFO] running `Command { std: "docker" "inspect" "ab9f7f84e6a1acec61bc4443004b7162ec57386078847464d8db0df4e2138cc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab9f7f84e6a1acec61bc4443004b7162ec57386078847464d8db0df4e2138cc1", kill_on_drop: false }`
[INFO] [stdout] ab9f7f84e6a1acec61bc4443004b7162ec57386078847464d8db0df4e2138cc1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d3762cabfe4c6377fb05b5e4a74d9146a26af5f1b2e1d84d898457d46c9e4bb6
[INFO] running `Command { std: "docker" "start" "-a" "d3762cabfe4c6377fb05b5e4a74d9146a26af5f1b2e1d84d898457d46c9e4bb6", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[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] 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] 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]     = note: this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/router.rs:299:16
[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] 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]     = note: this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/router.rs:299:16
[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] 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]     = note: this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]    --> src/router.rs:299:16
[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] 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]     = note: this warning originates in the macro `$crate::router` which comes from the expansion of the macro `router` (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: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 5 warnings (run `cargo fix --lib -p rouille` to apply 5 suggestions)
[INFO] [stderr] warning: `rouille` (lib test) generated 17 warnings (5 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.27s
[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 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rouille-8f646dc39229f17b)
[INFO] [stdout] 
[INFO] [stdout] running 104 tests
[INFO] [stdout] test content_encoding::tests::empty_req_encodings ... ok
[INFO] [stdout] test content_encoding::tests::multi_req_encoding ... ok
[INFO] [stdout] test content_encoding::tests::no_req_encodings ... ok
[INFO] [stdout] test content_encoding::tests::text_response ... ok
[INFO] [stdout] test content_encoding::tests::non_text_response ... ok
[INFO] [stdout] test content_encoding::tests::brotli_encoding ... ok
[INFO] [stdout] test input::accept::tests::basic ... ok
[INFO] [stdout] test content_encoding::tests::gzip_encoding ... ok
[INFO] [stdout] test input::accept::tests::multimatch_first ... ok
[INFO] [stdout] test input::accept::tests::no_header_wildcard ... ok
[INFO] [stdout] test input::accept::tests::no_match ... ok
[INFO] [stdout] test input::accept::tests::wildcard ... ok
[INFO] [stdout] test input::basic_http_auth::test::basic_http_auth_no_header ... ok
[INFO] [stdout] test input::cookies::test::cookies_ok ... ok
[INFO] [stdout] test input::cookies::test::no_cookie ... ok
[INFO] [stdout] test input::plain::test::body_twice ... ok
[INFO] [stdout] test input::plain::test::charset ... ok
[INFO] [stdout] test input::plain::test::exact_limit ... ok
[INFO] [stdout] test input::plain::test::missing_content_type ... ok
[INFO] [stdout] test input::plain::test::non_utf8_encoding ... ignored
[INFO] [stdout] test input::plain::test::non_utf8_body ... 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_bool ... ok
[INFO] [stdout] test input::post::tests::basic_float ... ok
[INFO] [stdout] test input::post::tests::basic_int ... ok
[INFO] [stdout] test input::post::tests::basic_option_string ... ok
[INFO] [stdout] test input::post::tests::basic_string ... 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::post::tests::multiple_values ... 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::not_utf8 ... ignored
[INFO] [stdout] test input::accept::tests::no_header_first ... ok
[INFO] [stdout] test input::post::tests::num_overflow ... ok
[INFO] [stdout] test input::post::tests::num_parse_error ... ok
[INFO] [stdout] test input::basic_http_auth::test::basic_http_auth_ok ... ok
[INFO] [stdout] test input::post::tests::num_parse_error_option ... ok
[INFO] [stdout] test input::basic_http_auth::test::basic_http_auth_wrong_header ... ok
[INFO] [stdout] test input::post::tests::too_many_fields ... ok
[INFO] [stdout] test input::post::tests::weird_stuff ... ok
[INFO] [stdout] test input::priority_header::tests::parse_white_spaces ... 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 input::priority_header::tests::preferred_wildcard_header_left ... ok
[INFO] [stdout] test response::tests::unique_header_adds ... ok
[INFO] [stdout] test response::tests::unique_header_adds_without_touching ... ok
[INFO] [stdout] test response::tests::unique_header_replaces ... ok
[INFO] [stdout] test router::tests::basic ... ok
[INFO] [stdout] test router::tests::dash ... ok
[INFO] [stdout] test router::tests::encoded ... ok
[INFO] [stdout] test router::tests::encoded_old ... ok
[INFO] [stdout] test router::tests::files ... ok
[INFO] [stdout] test router::tests::numbers ... ok
[INFO] [stdout] test input::post::tests::wrong_content_type ... ok
[INFO] [stdout] test input::priority_header::tests::parse_basic ... ok
[INFO] [stdout] test router::tests::multiple_params ... ok
[INFO] [stdout] test router::tests::old_style_basic ... ok
[INFO] [stdout] test router::tests::old_style_trailing_commas ... ok
[INFO] [stdout] test router::tests::param_slash ... ok
[INFO] [stdout] test router::tests::skip_failed_parse_float ... ok
[INFO] [stdout] test router::tests::skip_failed_parse_string ... ok
[INFO] [stdout] test router::tests::trailing_comma ... ok
[INFO] [stdout] test router::tests::trailing_commas ... ok
[INFO] [stdout] test router::tests::url_parameter_ownership ... ok
[INFO] [stdout] test session::test_generate_session_id ... ok
[INFO] [stdout] test tests::body_twice ... ok
[INFO] [stdout] test tests::dnt ... ok
[INFO] [stdout] test router::tests::old_style_dash ... ok
[INFO] [stdout] test router::tests::old_style_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::get_param_flag_with_multiple_params ... ok
[INFO] [stdout] test tests::get_param_flag_with_equals ... ok
[INFO] [stdout] test tests::get_param_flag_without_equals ... ok
[INFO] [stdout] test input::plain::test::bytes_limit ... ok
[INFO] [stdout] test tests::get_param_multiple_param ... ok
[INFO] [stdout] test tests::get_param_partial_prefix_match ... ok
[INFO] [stdout] test tests::get_param_partial_suffix_match ... ok
[INFO] [stdout] test tests::header ... ok
[INFO] [stdout] test tests::get_param_superstring_match ... ok
[INFO] [stdout] test tests::plus_in_query_string ... ok
[INFO] [stdout] test tests::url_strips_get_query ... ok
[INFO] [stdout] test tests::urlencode_query_string ... 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_medium ... ok
[INFO] [stdout] test websocket::websocket::tests::test_ws_framing_short ... ok
[INFO] [stdout] test websocket::websocket::tests::test_ws_framing_very_long ... ok
[INFO] [stdout] test tests::get_param_no_match ... ok
[INFO] [stdout] test tests::plus_in_url ... ok
[INFO] [stdout] test tests::url_encode ... ok
[INFO] [stdout] test router::tests::parameter_with_no_matching_identity - should panic ... ok
[INFO] [stdout] test router::tests::identity_not_present_in_url_string - should panic ... ok
[INFO] [stdout] test content_encoding::tests::unknown_req_encoding ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 102 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rouille
[INFO] [stdout] 
[INFO] [stdout] running 71 tests
[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/assets.rs - assets::match_assets (line 33) - compile ... ok
[INFO] [stdout] test src/input/accept.rs - input::accept::accept (line 46) ... ok
[INFO] [stdout] test src/content_encoding.rs - content_encoding (line 18) ... ok
[INFO] [stdout] test src/input/accept.rs - input::accept::accept (line 30) ... ok
[INFO] [stdout] test src/find_route.rs - find_route::find_route (line 17) ... ok
[INFO] [stdout] test src/content_encoding.rs - content_encoding::apply (line 47) ... 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/json.rs - input::json (line 17) ... 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/json.rs - input::json::json_input (line 105) ... ok
[INFO] [stdout] test src/input/plain.rs - input::plain::plain_text_body (line 81) ... ok
[INFO] [stdout] test src/input/post.rs - input::post (line 14) ... ok
[INFO] [stdout] test src/input/priority_header.rs - input::priority_header::priority_header_preferred (line 23) ... ok
[INFO] [stdout] test src/lib.rs - Request::data (line 989) ... ok
[INFO] [stdout] test src/input/post.rs - input::post (line 75) ... ok
[INFO] [stdout] test src/lib.rs - Request::do_not_track (line 961) ... ok
[INFO] [stdout] test src/lib.rs - Request::remove_prefix (line 801) ... ok
[INFO] [stdout] test src/lib.rs - Server<F>::join (line 523) - compile ... ok
[INFO] [stdout] test src/lib.rs - Server (line 334) - compile ... ok
[INFO] [stdout] test src/lib.rs - Request::remote_addr (line 1021) ... 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::is_secure (line 834) ... ok
[INFO] [stdout] test src/lib.rs - Server<F>::stoppable (line 445) - compile ... ok
[INFO] [stdout] test src/lib.rs - Server<F>::poll_timeout (line 488) - compile ... ok
[INFO] [stdout] test src/lib.rs - Request::raw_url (line 864) ... ok
[INFO] [stdout] test src/lib.rs - start_server (line 204) - compile ... ok
[INFO] [stdout] test src/log.rs - log::log_custom (line 87) ... ok
[INFO] [stdout] test src/lib.rs - assert_or_400 (line 147) ... ok
[INFO] [stdout] test src/log.rs - log::log (line 31) ... ok
[INFO] [stdout] test src/lib.rs - Request::url (line 901) ... ok
[INFO] [stdout] test src/response.rs - response::Response::from_file (line 272) - compile ... 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::empty_400 (line 439) ... ok
[INFO] [stdout] test src/response.rs - response::Response::empty_406 (line 475) ... ok
[INFO] [stdout] test src/response.rs - response::Response::empty_404 (line 457) ... ok
[INFO] [stdout] test src/response.rs - response::Response::html (line 296) ... 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_204 (line 421) ... ok
[INFO] [stdout] test src/response.rs - response::Response::is_error (line 95) ... 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::is_success (line 81) ... ok
[INFO] [stdout] test src/response.rs - response::Response::with_content_disposition_attachment (line 636) ... ok
[INFO] [stdout] test src/response.rs - response::Response::redirect_303 (line 168) ... ok
[INFO] [stdout] test src/response.rs - response::Response::redirect_302 (line 138) ... ok
[INFO] [stdout] test src/response.rs - response::Response::text (line 338) ... ok
[INFO] [stdout] test src/response.rs - response::Response::with_etag (line 576) ... ok
[INFO] [stdout] test src/response.rs - response::Response::svg (line 317) ... ok
[INFO] [stdout] test src/response.rs - response::ResponseBody::from_reader (line 755) - compile ... 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_reader_and_size (line 781) - compile ... 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::empty (line 736) ... ok
[INFO] [stdout] test src/response.rs - response::ResponseBody::from_file (line 825) - compile ... ok
[INFO] [stdout] test src/response.rs - response::Response::redirect_307 (line 199) ... ok
[INFO] [stdout] test src/router.rs - router::router (line 14) - compile ... ok
[INFO] [stdout] test src/response.rs - response::Response::redirect_308 (line 229) ... ok
[INFO] [stdout] test src/session.rs - session (line 20) ... ok
[INFO] [stdout] test src/response.rs - response::ResponseBody::from_data (line 803) ... ok
[INFO] [stdout] test src/response.rs - response::ResponseBody::from_string (line 846) ... ok
[INFO] [stdout] test src/websocket/mod.rs - websocket (line 49) ... 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] 
[INFO] [stdout] test result: ok. 67 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 9.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d3762cabfe4c6377fb05b5e4a74d9146a26af5f1b2e1d84d898457d46c9e4bb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3762cabfe4c6377fb05b5e4a74d9146a26af5f1b2e1d84d898457d46c9e4bb6", kill_on_drop: false }`
[INFO] [stdout] d3762cabfe4c6377fb05b5e4a74d9146a26af5f1b2e1d84d898457d46c9e4bb6
