[INFO] fetching crate rouille 3.6.2... [INFO] testing rouille-3.6.2 against 1.90.0 for beta-1.91-3 [INFO] extracting crate rouille 3.6.2 into /workspace/builds/worker-6-tc1/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-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rouille 3.6.2 on toolchain 1.90.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "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.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rustls-pemfile v0.2.1 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.84 [INFO] [stderr] Downloaded link-cplusplus v1.0.8 [INFO] [stderr] Downloaded chunked_transfer v1.4.1 [INFO] [stderr] Downloaded form_urlencoded v1.1.0 [INFO] [stderr] Downloaded scratch v1.0.5 [INFO] [stderr] Downloaded postgres v0.19.5 [INFO] [stderr] Downloaded stringprep v0.1.2 [INFO] [stderr] Downloaded postgres-types v0.2.5 [INFO] [stderr] Downloaded buf_redux v0.8.4 [INFO] [stderr] Downloaded iana-time-zone v0.1.56 [INFO] [stderr] Downloaded cxxbridge-macro v1.0.94 [INFO] [stderr] Downloaded twoway v0.1.8 [INFO] [stderr] Downloaded cxxbridge-flags v1.0.94 [INFO] [stderr] Downloaded iana-time-zone-haiku v0.1.1 [INFO] [stderr] Downloaded openssl-sys v0.9.86 [INFO] [stderr] Downloaded multipart v0.18.0 [INFO] [stderr] Downloaded brotli-decompressor v2.3.4 [INFO] [stderr] Downloaded rustls v0.20.8 [INFO] [stderr] Downloaded rustix v0.37.14 [INFO] [stderr] Downloaded wasm-bindgen v0.2.84 [INFO] [stderr] Downloaded web-sys v0.3.61 [INFO] [stderr] Downloaded idna v0.3.0 [INFO] [stderr] Downloaded cxx-build v1.0.94 [INFO] [stderr] Downloaded deflate v1.0.0 [INFO] [stderr] Downloaded cxx v1.0.94 [INFO] [stderr] Downloaded socket2 v0.5.2 [INFO] [stderr] Downloaded openssl v0.10.51 [INFO] [stderr] Downloaded sha1_smol v1.0.0 [INFO] [stderr] Downloaded ascii v1.1.0 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.84 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.84 [INFO] [stderr] Downloaded filetime v0.2.21 [INFO] [stderr] Downloaded phf_shared v0.11.1 [INFO] [stderr] Downloaded phf v0.11.1 [INFO] [stderr] Downloaded tokio-util v0.7.7 [INFO] [stderr] Downloaded tokio v1.27.0 [INFO] [stderr] Downloaded js-sys v0.3.61 [INFO] [stderr] Downloaded url v2.3.1 [INFO] [stderr] Downloaded tiny_http v0.12.0 [INFO] [stderr] Downloaded postgres-protocol v0.6.5 [INFO] [stderr] Downloaded tokio-postgres v0.7.8 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.84 [INFO] [stderr] Downloaded brotli v3.3.4 [INFO] [stderr] Downloaded bumpalo v3.12.1 [INFO] [stderr] Downloaded base64 v0.21.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ecbb5157b4eef48278fcf16590bd84a4ac43083acb60ed70d781b01c9522baf4 [INFO] running `Command { std: "docker" "start" "-a" "ecbb5157b4eef48278fcf16590bd84a4ac43083acb60ed70d781b01c9522baf4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ecbb5157b4eef48278fcf16590bd84a4ac43083acb60ed70d781b01c9522baf4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ecbb5157b4eef48278fcf16590bd84a4ac43083acb60ed70d781b01c9522baf4", kill_on_drop: false }` [INFO] [stdout] ecbb5157b4eef48278fcf16590bd84a4ac43083acb60ed70d781b01c9522baf4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3aff19bdfcb6e728412498cea5ad480c9f338aea1d2196ca995cdb39902ec59a [INFO] running `Command { std: "docker" "start" "-a" "3aff19bdfcb6e728412498cea5ad480c9f338aea1d2196ca995cdb39902ec59a", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [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 unicase v2.6.0 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling rustix v0.37.14 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling serde v1.0.160 [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 unicode-bidi v0.3.13 [INFO] [stderr] Compiling quote v1.0.26 [INFO] [stderr] Compiling serde_json v1.0.96 [INFO] [stderr] Compiling safemem v0.3.3 [INFO] [stderr] Compiling fastrand v1.9.0 [INFO] [stderr] Compiling buf_redux v0.8.4 [INFO] [stderr] Compiling idna v0.3.0 [INFO] [stderr] Compiling form_urlencoded v1.1.0 [INFO] [stderr] Compiling twoway v0.1.8 [INFO] [stderr] Compiling syn v2.0.15 [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 iana-time-zone v0.1.56 [INFO] [stderr] Compiling ryu v1.0.13 [INFO] [stderr] Compiling ascii v1.1.0 [INFO] [stderr] Compiling chunked_transfer v1.4.1 [INFO] [stderr] Compiling num_threads v0.1.6 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling deflate v1.0.0 [INFO] [stderr] Compiling time v0.3.20 [INFO] [stderr] Compiling tiny_http v0.12.0 [INFO] [stderr] Compiling tempfile v3.5.0 [INFO] [stderr] Compiling brotli v3.3.4 [INFO] [stderr] Compiling chrono v0.4.24 [INFO] [stderr] Compiling multipart v0.18.0 [INFO] [stderr] Compiling threadpool v1.8.1 [INFO] [stderr] Compiling url v2.3.1 [INFO] [stderr] Compiling filetime v0.2.21 [INFO] [stderr] Compiling sha1_smol v1.0.0 [INFO] [stderr] Compiling serde_derive v1.0.160 [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 { [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> { [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 { [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, 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 44.43s [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" "3aff19bdfcb6e728412498cea5ad480c9f338aea1d2196ca995cdb39902ec59a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3aff19bdfcb6e728412498cea5ad480c9f338aea1d2196ca995cdb39902ec59a", kill_on_drop: false }` [INFO] [stdout] 3aff19bdfcb6e728412498cea5ad480c9f338aea1d2196ca995cdb39902ec59a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 67b3ba82ba9e3164a9989c0dfe7910cf46b1a198fd009d47abac073f6a20ccdc [INFO] running `Command { std: "docker" "start" "-a" "67b3ba82ba9e3164a9989c0dfe7910cf46b1a198fd009d47abac073f6a20ccdc", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling subtle v2.4.1 [INFO] [stderr] Compiling tokio v1.27.0 [INFO] [stderr] Compiling cpufeatures v0.2.7 [INFO] [stderr] Compiling stringprep v0.1.2 [INFO] [stderr] Compiling mio v0.8.6 [INFO] [stderr] Compiling siphasher v0.3.10 [INFO] [stderr] Compiling fallible-iterator v0.2.0 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling base64 v0.21.0 [INFO] [stderr] Compiling digest v0.10.6 [INFO] [stderr] Compiling phf_shared v0.11.1 [INFO] [stderr] Compiling tracing v0.1.37 [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 md-5 v0.10.5 [INFO] [stderr] Compiling sha2 v0.10.6 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling async-trait v0.1.68 [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 { [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> { [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 { [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, 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)]` 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)]` 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 [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 { [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> { [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 { [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, 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 33.91s [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" "67b3ba82ba9e3164a9989c0dfe7910cf46b1a198fd009d47abac073f6a20ccdc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "67b3ba82ba9e3164a9989c0dfe7910cf46b1a198fd009d47abac073f6a20ccdc", kill_on_drop: false }` [INFO] [stdout] 67b3ba82ba9e3164a9989c0dfe7910cf46b1a198fd009d47abac073f6a20ccdc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ee8ae7564f2435b683bdf119667e47eb0db7df577e008d29d4e08ad538f4d155 [INFO] running `Command { std: "docker" "start" "-a" "ee8ae7564f2435b683bdf119667e47eb0db7df577e008d29d4e08ad538f4d155", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition 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 { [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> { [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 { [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, 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)]` 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 [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 [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)]` 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.25s [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-1a07372e8cce7bd9) [INFO] [stdout] [INFO] [stdout] running 104 tests [INFO] [stdout] test content_encoding::tests::multi_req_encoding ... ok [INFO] [stdout] test content_encoding::tests::empty_req_encodings ... ok [INFO] [stdout] test content_encoding::tests::brotli_encoding ... ok [INFO] [stdout] test content_encoding::tests::no_req_encodings ... ok [INFO] [stdout] test content_encoding::tests::text_response ... ok [INFO] [stdout] test input::accept::tests::multimatch_first ... ok [INFO] [stdout] test content_encoding::tests::unknown_req_encoding ... ok [INFO] [stdout] test input::accept::tests::no_header_first ... ok [INFO] [stdout] test input::accept::tests::no_header_wildcard ... ok [INFO] [stdout] test content_encoding::tests::non_text_response ... ok [INFO] [stdout] test input::accept::tests::basic ... ok [INFO] [stdout] test content_encoding::tests::gzip_encoding ... 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::basic_http_auth::test::basic_http_auth_ok ... ok [INFO] [stdout] test input::basic_http_auth::test::basic_http_auth_wrong_header ... 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::missing_content_type ... ok [INFO] [stdout] test input::cookies::test::cookies_ok ... 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_string ... ok [INFO] [stdout] test input::plain::test::non_utf8_body ... ok [INFO] [stdout] test input::plain::test::charset ... ok [INFO] [stdout] test input::plain::test::exact_limit ... ok [INFO] [stdout] test input::plain::test::bytes_limit ... 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::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_vec ... ok [INFO] [stdout] test input::post::tests::not_utf8 ... ignored [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::multiple_values_bool ... 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::post::tests::too_many_fields ... ok [INFO] [stdout] test input::post::tests::weird_stuff ... ok [INFO] [stdout] test input::priority_header::tests::preferred_basic ... ok [INFO] [stdout] test input::priority_header::tests::preferred_empty ... 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::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 input::priority_header::tests::preferred_wildcard_header ... ok [INFO] [stdout] test input::priority_header::tests::preferred_wildcard_header_left ... ok [INFO] [stdout] test input::priority_header::tests::parse_white_spaces ... ok [INFO] [stdout] test input::priority_header::tests::preferred_multimatch_first ... ok [INFO] [stdout] test router::tests::basic ... ok [INFO] [stdout] test router::tests::multiple_params ... ok [INFO] [stdout] test input::post::tests::wrong_content_type ... ok [INFO] [stdout] test router::tests::numbers ... ok [INFO] [stdout] test router::tests::old_style_dash ... 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::trailing_comma ... ok [INFO] [stdout] test router::tests::old_style_trailing_commas ... ok [INFO] [stdout] test router::tests::trailing_commas ... ok [INFO] [stdout] test router::tests::old_style_trailing_comma ... ok [INFO] [stdout] test router::tests::param_slash ... ok [INFO] [stdout] test router::tests::skip_failed_parse_float ... ok [INFO] [stdout] test session::test_generate_session_id ... ok [INFO] [stdout] test tests::body_twice ... ok [INFO] [stdout] test tests::encoded_plus_in_query_string ... ok [INFO] [stdout] test tests::dnt ... 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 router::tests::url_parameter_ownership ... 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_no_match ... ok [INFO] [stdout] test tests::get_param_partial_suffix_match ... ok [INFO] [stdout] test tests::get_param_superstring_match ... ok [INFO] [stdout] test tests::header ... ok [INFO] [stdout] test tests::url_encode ... ok [INFO] [stdout] test tests::url_strips_get_query ... ok [INFO] [stdout] test tests::plus_in_query_string ... ok [INFO] [stdout] test websocket::low_level::tests::basic ... ok [INFO] [stdout] test tests::plus_in_url ... ok [INFO] [stdout] test tests::urlencode_query_string ... 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 websocket::websocket::tests::test_ws_framing_medium ... ok [INFO] [stdout] test websocket::websocket::tests::test_ws_framing_very_long ... ok [INFO] [stdout] test router::tests::skip_failed_parse_string ... ok [INFO] [stderr] Doc-tests rouille [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.11s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 71 tests [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/assets.rs - assets::match_assets (line 66) - compile ... ok [INFO] [stdout] test src/content_encoding.rs - content_encoding (line 18) ... 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/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/input/basic_http_auth.rs - input::basic_http_auth::basic_http_auth (line 38) ... 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 (line 17) ... 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/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/lib.rs - Request::do_not_track (line 961) ... ok [INFO] [stdout] test src/lib.rs - Request::is_secure (line 834) ... ok [INFO] [stdout] test src/lib.rs - Server::join (line 523) - compile ... ok [INFO] [stdout] test src/lib.rs - Server (line 334) - compile ... ok [INFO] [stdout] test src/input/post.rs - input::post (line 75) ... ok [INFO] [stdout] test src/lib.rs - Server::poll_timeout (line 488) - compile ... ok [INFO] [stdout] test src/input/post.rs - input::post (line 14) ... ok [INFO] [stdout] test src/lib.rs - Server::stoppable (line 445) - compile ... ok [INFO] [stdout] test src/lib.rs - start_server (line 204) - compile ... ok [INFO] [stdout] test src/lib.rs - Request::remove_prefix (line 801) ... ok [INFO] [stdout] test src/lib.rs - Request::raw_url (line 864) ... ok [INFO] [stdout] test src/lib.rs - assert_or_400 (line 147) ... 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/log.rs - log::log_custom (line 87) ... ok [INFO] [stdout] test src/lib.rs - Request::url (line 901) ... ok [INFO] [stdout] test src/proxy.rs - proxy (line 34) ... ok [INFO] [stdout] test src/response.rs - response::Response::from_file (line 272) - compile ... ok [INFO] [stdout] test src/response.rs - response::Response::empty_204 (line 421) ... 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::from_data (line 250) ... ok [INFO] [stdout] test src/response.rs - response::Response::empty_400 (line 439) ... ok [INFO] [stdout] test src/response.rs - response::Response::is_error (line 95) ... 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::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::html (line 296) ... ok [INFO] [stdout] test src/response.rs - response::Response::redirect_301 (line 113) ... ok [INFO] [stdout] test src/response.rs - response::Response::redirect_302 (line 138) ... ok [INFO] [stdout] test src/response.rs - response::Response::svg (line 317) ... ok [INFO] [stdout] test src/response.rs - response::Response::redirect_303 (line 168) ... 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::redirect_307 (line 199) ... ok [INFO] [stdout] test src/response.rs - response::Response::redirect_308 (line 229) ... ok [INFO] [stdout] test src/response.rs - response::Response::with_content_disposition_attachment (line 636) ... ok [INFO] [stdout] test src/response.rs - response::ResponseBody::from_file (line 825) - compile ... 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::from_reader (line 755) - compile ... ok [INFO] [stdout] test src/response.rs - response::ResponseBody (line 722) ... ok [INFO] [stdout] test src/router.rs - router::router (line 14) - compile ... ok [INFO] [stdout] test src/response.rs - response::Response::with_status_code (line 493) ... 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/session.rs - session (line 20) ... 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] test src/response.rs - response::ResponseBody::empty (line 736) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 67 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 10.07s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ee8ae7564f2435b683bdf119667e47eb0db7df577e008d29d4e08ad538f4d155", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ee8ae7564f2435b683bdf119667e47eb0db7df577e008d29d4e08ad538f4d155", kill_on_drop: false }` [INFO] [stdout] ee8ae7564f2435b683bdf119667e47eb0db7df577e008d29d4e08ad538f4d155