[INFO] fetching crate squall-router 0.2.2...
[INFO] testing squall-router-0.2.2 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate squall-router 0.2.2 into /workspace/builds/worker-7-tc2/source
[INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate squall-router 0.2.2
[INFO] finished tweaking crates.io crate squall-router 0.2.2
[INFO] tweaked toml for crates.io crate squall-router 0.2.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate squall-router 0.2.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 squall-router 0.2.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] 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] 25ce5108e3ce5a4b1e5a8e9571560db5c6655cb2ed232a2c2a6db0bae9249489
[INFO] running `Command { std: "docker" "start" "-a" "25ce5108e3ce5a4b1e5a8e9571560db5c6655cb2ed232a2c2a6db0bae9249489", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "25ce5108e3ce5a4b1e5a8e9571560db5c6655cb2ed232a2c2a6db0bae9249489", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "25ce5108e3ce5a4b1e5a8e9571560db5c6655cb2ed232a2c2a6db0bae9249489", kill_on_drop: false }`
[INFO] [stdout] 25ce5108e3ce5a4b1e5a8e9571560db5c6655cb2ed232a2c2a6db0bae9249489
[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] 52831277a8e7fb1046c3c4ca67cc63aa330e5ab2f2ae8df1c241d5be8d5ead61
[INFO] running `Command { std: "docker" "start" "-a" "52831277a8e7fb1046c3c4ca67cc63aa330e5ab2f2ae8df1c241d5be8d5ead61", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling bytecount v0.6.2
[INFO] [stderr]    Compiling firestorm v0.4.6
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling squall-router v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/path.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn get_octets(&self, path: &str) -> Result<Vec<Cow<str>>, String> {
[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] 80 |     fn get_octets(&self, path: &str) -> Result<Vec<Cow<'_, str>>, String> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/path.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn get_params(&self, path: &str) -> Result<(Vec<Cow<str>>, Vec<Param>), String> {
[INFO] [stdout]     |                   ^^^^^ the lifetime is elided here ^^^^^^^^ the same lifetime is hidden 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] 120 |     fn get_params(&self, path: &str) -> Result<(Vec<Cow<'_, str>>, Vec<Param>), String> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/router.rs:266:28
[INFO] [stdout]     |
[INFO] [stdout] 263 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 264 |         method: &str,
[INFO] [stdout] 265 |         path: &'a str,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 266 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stdout]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the same 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 266 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/router.rs:294:28
[INFO] [stdout]     |
[INFO] [stdout] 291 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 292 |         method: &str,
[INFO] [stdout] 293 |         path: &'a str,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 294 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stdout]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the same 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 294 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/router.rs:310:28
[INFO] [stdout]     |
[INFO] [stdout] 307 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 308 |         method: &str,
[INFO] [stdout] 309 |         path: &'a str,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 310 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stdout]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the same 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 310 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/router.rs:362:28
[INFO] [stdout]     |
[INFO] [stdout] 359 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 360 |         method: &str,
[INFO] [stdout] 361 |         path: &'a str,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 362 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stdout]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the same 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 362 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.68s
[INFO] running `Command { std: "docker" "inspect" "52831277a8e7fb1046c3c4ca67cc63aa330e5ab2f2ae8df1c241d5be8d5ead61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52831277a8e7fb1046c3c4ca67cc63aa330e5ab2f2ae8df1c241d5be8d5ead61", kill_on_drop: false }`
[INFO] [stdout] 52831277a8e7fb1046c3c4ca67cc63aa330e5ab2f2ae8df1c241d5be8d5ead61
[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] 183b38bb7138a86f683a82b31afe29a3b94f8aa581b219c0ec315e2c91a47308
[INFO] running `Command { std: "docker" "start" "-a" "183b38bb7138a86f683a82b31afe29a3b94f8aa581b219c0ec315e2c91a47308", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.132
[INFO] [stderr]    Compiling semver v1.0.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling libc v0.2.112
[INFO] [stderr]    Compiling proc-macro2 v1.0.34
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling ryu v1.0.9
[INFO] [stderr]    Compiling serde_json v1.0.73
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling bytes v1.1.0
[INFO] [stderr]    Compiling unicode-width v0.1.9
[INFO] [stderr]    Compiling serde_derive v1.0.132
[INFO] [stderr]    Compiling plotters-backend v0.3.2
[INFO] [stderr]    Compiling itoa v1.0.1
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling plotters-svg v0.3.1
[INFO] [stderr]    Compiling itertools v0.10.3
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling http v0.2.5
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling bytestring v1.0.0
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling oorandom v11.1.3
[INFO] [stderr]    Compiling matchit v0.4.4
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/path.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn get_octets(&self, path: &str) -> Result<Vec<Cow<str>>, String> {
[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] 80 |     fn get_octets(&self, path: &str) -> Result<Vec<Cow<'_, str>>, String> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/path.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn get_params(&self, path: &str) -> Result<(Vec<Cow<str>>, Vec<Param>), String> {
[INFO] [stdout]     |                   ^^^^^ the lifetime is elided here ^^^^^^^^ the same lifetime is hidden 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] 120 |     fn get_params(&self, path: &str) -> Result<(Vec<Cow<'_, str>>, Vec<Param>), String> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/router.rs:266:28
[INFO] [stdout]     |
[INFO] [stdout] 263 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 264 |         method: &str,
[INFO] [stdout] 265 |         path: &'a str,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 266 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stdout]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the same 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 266 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/router.rs:294:28
[INFO] [stdout]     |
[INFO] [stdout] 291 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 292 |         method: &str,
[INFO] [stdout] 293 |         path: &'a str,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 294 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stdout]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the same 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 294 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/router.rs:310:28
[INFO] [stdout]     |
[INFO] [stdout] 307 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 308 |         method: &str,
[INFO] [stdout] 309 |         path: &'a str,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 310 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stdout]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the same 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 310 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/router.rs:362:28
[INFO] [stdout]     |
[INFO] [stdout] 359 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 360 |         method: &str,
[INFO] [stdout] 361 |         path: &'a str,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 362 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stdout]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the same 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 362 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]    Compiling plotters v0.3.1
[INFO] [stderr]    Compiling criterion-plot v0.4.4
[INFO] [stderr]    Compiling bstr v0.2.17
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling actix-router v0.4.0
[INFO] [stderr]    Compiling csv v1.1.6
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.3.5
[INFO] [stderr]    Compiling squall-router v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated associated function `std::array::IntoIter::<T, N>::new`: use `IntoIterator::into_iter` instead
[INFO] [stdout]    --> examples/flamegraph.rs:144:31
[INFO] [stdout]     |
[INFO] [stdout] 144 |         std::array::IntoIter::new(arr)
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     for route in register!(brackets) {
[INFO] [stdout]     |                  ------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `register` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> examples/flamegraph.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |         router.add_route(String::from("GET"), route.to_string(), 0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let _ = router.add_route(String::from("GET"), route.to_string(), 0);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/path.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn get_octets(&self, path: &str) -> Result<Vec<Cow<str>>, String> {
[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] 80 |     fn get_octets(&self, path: &str) -> Result<Vec<Cow<'_, str>>, String> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/path.rs:120:19
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn get_params(&self, path: &str) -> Result<(Vec<Cow<str>>, Vec<Param>), String> {
[INFO] [stdout]     |                   ^^^^^ the lifetime is elided here ^^^^^^^^ the same lifetime is hidden 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] 120 |     fn get_params(&self, path: &str) -> Result<(Vec<Cow<'_, str>>, Vec<Param>), String> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/router.rs:266:28
[INFO] [stdout]     |
[INFO] [stdout] 263 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 264 |         method: &str,
[INFO] [stdout] 265 |         path: &'a str,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 266 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stdout]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the same 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 266 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/router.rs:294:28
[INFO] [stdout]     |
[INFO] [stdout] 291 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 292 |         method: &str,
[INFO] [stdout] 293 |         path: &'a str,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 294 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stdout]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the same 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 294 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/router.rs:310:28
[INFO] [stdout]     |
[INFO] [stdout] 307 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 308 |         method: &str,
[INFO] [stdout] 309 |         path: &'a str,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 310 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stdout]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the same 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 310 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/router.rs:362:28
[INFO] [stdout]     |
[INFO] [stdout] 359 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 360 |         method: &str,
[INFO] [stdout] 361 |         path: &'a str,
[INFO] [stdout]     |                -- the lifetime is named here
[INFO] [stdout] 362 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stdout]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the same 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 362 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stdout]     |                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 24.32s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.5
[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" "183b38bb7138a86f683a82b31afe29a3b94f8aa581b219c0ec315e2c91a47308", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "183b38bb7138a86f683a82b31afe29a3b94f8aa581b219c0ec315e2c91a47308", kill_on_drop: false }`
[INFO] [stdout] 183b38bb7138a86f683a82b31afe29a3b94f8aa581b219c0ec315e2c91a47308
[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] 740000ef4918c836f2cd5a512c645fd71f0256f36a951574e171f1c9b0c3c1c6
[INFO] running `Command { std: "docker" "start" "-a" "740000ef4918c836f2cd5a512c645fd71f0256f36a951574e171f1c9b0c3c1c6", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/path.rs:80:19
[INFO] [stderr]    |
[INFO] [stderr] 80 |     fn get_octets(&self, path: &str) -> Result<Vec<Cow<str>>, String> {
[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] 80 |     fn get_octets(&self, path: &str) -> Result<Vec<Cow<'_, str>>, String> {
[INFO] [stderr]    |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/path.rs:120:19
[INFO] [stderr]     |
[INFO] [stderr] 120 |     fn get_params(&self, path: &str) -> Result<(Vec<Cow<str>>, Vec<Param>), String> {
[INFO] [stderr]     |                   ^^^^^ the lifetime is elided here ^^^^^^^^ the same lifetime is hidden 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] 120 |     fn get_params(&self, path: &str) -> Result<(Vec<Cow<'_, str>>, Vec<Param>), String> {
[INFO] [stderr]     |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/router.rs:266:28
[INFO] [stderr]     |
[INFO] [stderr] 263 |         &'a self,
[INFO] [stderr]     |          -- the lifetime is named here
[INFO] [stderr] 264 |         method: &str,
[INFO] [stderr] 265 |         path: &'a str,
[INFO] [stderr]     |                -- the lifetime is named here
[INFO] [stderr] 266 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stderr]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            the same 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: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 266 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stderr]     |                             ++
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/router.rs:294:28
[INFO] [stderr]     |
[INFO] [stderr] 291 |         &'a self,
[INFO] [stderr]     |          -- the lifetime is named here
[INFO] [stderr] 292 |         method: &str,
[INFO] [stderr] 293 |         path: &'a str,
[INFO] [stderr]     |                -- the lifetime is named here
[INFO] [stderr] 294 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stderr]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            the same 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: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 294 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stderr]     |                             ++
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/router.rs:310:28
[INFO] [stderr]     |
[INFO] [stderr] 307 |         &'a self,
[INFO] [stderr]     |          -- the lifetime is named here
[INFO] [stderr] 308 |         method: &str,
[INFO] [stderr] 309 |         path: &'a str,
[INFO] [stderr]     |                -- the lifetime is named here
[INFO] [stderr] 310 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stderr]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            the same 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: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 310 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stderr]     |                             ++
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/router.rs:362:28
[INFO] [stderr]     |
[INFO] [stderr] 359 |         &'a self,
[INFO] [stderr]     |          -- the lifetime is named here
[INFO] [stderr] 360 |         method: &str,
[INFO] [stderr] 361 |         path: &'a str,
[INFO] [stderr]     |                -- the lifetime is named here
[INFO] [stderr] 362 |     ) -> Option<(i32, Vec<(&str, &'a str)>)> {
[INFO] [stderr]     |                            ^^^^   -- the same lifetime is named here
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            the same 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: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 362 |     ) -> Option<(i32, Vec<(&'a str, &'a str)>)> {
[INFO] [stderr]     |                             ++
[INFO] [stderr] 
[INFO] [stderr] warning: `squall-router` (lib) generated 6 warnings (run `cargo fix --lib -p squall-router` to apply 6 suggestions)
[INFO] [stderr] warning: use of deprecated associated function `std::array::IntoIter::<T, N>::new`: use `IntoIterator::into_iter` instead
[INFO] [stderr]    --> examples/flamegraph.rs:144:31
[INFO] [stderr]     |
[INFO] [stderr] 144 |         std::array::IntoIter::new(arr)
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] ...
[INFO] [stderr] 158 |     for route in register!(brackets) {
[INFO] [stderr]     |                  ------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `register` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> examples/flamegraph.rs:159:9
[INFO] [stderr]     |
[INFO] [stderr] 159 |         router.add_route(String::from("GET"), route.to_string(), 0);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 159 |         let _ = router.add_route(String::from("GET"), route.to_string(), 0);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `squall-router` (example "flamegraph") generated 2 warnings
[INFO] [stderr] warning: `squall-router` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.5
[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/squall_router-1235ecacd4fb107d)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test path::tests::test_add_validator_error ... ok
[INFO] [stdout] test path::tests::test_dynamic_path_parse_absent_validator ... ok
[INFO] [stdout] test router::tests::test_wrong_validator ... ok
[INFO] [stdout] test path::tests::test_dynamic_path_parse_with_validators ... ok
[INFO] [stdout] test path::tests::test_dynamic_path_parse_without_validators ... ok
[INFO] [stdout] test router::tests::test_absent_validator ... ok
[INFO] [stdout] test router::tests::test_ignore_trailing_slashes_disabled ... ok
[INFO] [stderr]    Doc-tests squall_router
[INFO] [stdout] test path::tests::test_set_ignore_trailing_slashes ... ok
[INFO] [stdout] test router::tests::test_resolve_no_validators ... ok
[INFO] [stdout] test router::tests::test_ignore_trailing_slashes_enabled ... ok
[INFO] [stdout] test router::tests::test_resolve_with_validators ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test src/router.rs - router::SquallRouter::add_validator (line 102) ... ok
[INFO] [stdout] test src/path.rs - path::PathParser::get_octets (line 76) ... ok
[INFO] [stdout] test src/router.rs - router::SquallRouter::add_route (line 124) ... ok
[INFO] [stdout] test src/router.rs - router::SquallRouter::add_route (line 133) ... ok
[INFO] [stdout] test src/router.rs - router::SquallRouter::add_location (line 206) ... ok
[INFO] [stdout] test src/router.rs - router::SquallRouter::set_ignore_trailing_slashes (line 82) ... ok
[INFO] [stdout] test src/path.rs - path::PathParser::parse (line 181) ... ok
[INFO] [stdout] test src/router.rs - router::SquallRouter::resolve (line 251) ... ok
[INFO] [stdout] test src/lib.rs - (line 29) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "740000ef4918c836f2cd5a512c645fd71f0256f36a951574e171f1c9b0c3c1c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "740000ef4918c836f2cd5a512c645fd71f0256f36a951574e171f1c9b0c3c1c6", kill_on_drop: false }`
[INFO] [stdout] 740000ef4918c836f2cd5a512c645fd71f0256f36a951574e171f1c9b0c3c1c6
