[INFO] fetching crate ferrum-router 0.2.1... [INFO] testing ferrum-router-0.2.1 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate ferrum-router 0.2.1 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate ferrum-router 0.2.1 [INFO] finished tweaking crates.io crate ferrum-router 0.2.1 [INFO] tweaked toml for crates.io crate ferrum-router 0.2.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate ferrum-router 0.2.1 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 121 packages to latest compatible versions [INFO] [stderr] Adding regex v0.2.11 (available: v1.11.1) [INFO] [stderr] Adding route-recognizer v0.1.13 (available: v0.3.1) [INFO] [stderr] Adding url v1.7.2 (available: v2.5.4) [INFO] [stderr] Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "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] Downloading crates ... [INFO] [stderr] Downloaded smallvec v0.2.1 [INFO] [stderr] Downloaded want v0.0.4 [INFO] [stderr] Downloaded relay v0.1.1 [INFO] [stderr] Downloaded try-lock v0.1.0 [INFO] [stderr] Downloaded hyper v0.11.27 [INFO] [stderr] Downloaded ferrum-plugin v0.3.0 [INFO] [stderr] Downloaded take v0.1.0 [INFO] [stderr] Downloaded tokio-proto v0.1.1 [INFO] [stderr] Downloaded ferrum v0.2.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fb39c8509404c283b60ff34ae6e7f8d9b22501ce7a3edabcbf73f799d87b59bb [INFO] running `Command { std: "docker" "start" "-a" "fb39c8509404c283b60ff34ae6e7f8d9b22501ce7a3edabcbf73f799d87b59bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fb39c8509404c283b60ff34ae6e7f8d9b22501ce7a3edabcbf73f799d87b59bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb39c8509404c283b60ff34ae6e7f8d9b22501ce7a3edabcbf73f799d87b59bb", kill_on_drop: false }` [INFO] [stdout] fb39c8509404c283b60ff34ae6e7f8d9b22501ce7a3edabcbf73f799d87b59bb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 396739642e13d13f8e776637b40bd670ab0d1ab691ee958dc65b5173de0035aa [INFO] running `Command { std: "docker" "start" "-a" "396739642e13d13f8e776637b40bd670ab0d1ab691ee958dc65b5173de0035aa", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling futures v0.1.31 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling autocfg v0.1.8 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling slab v0.4.10 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling lock_api v0.3.4 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling siphasher v0.2.3 [INFO] [stderr] Compiling net2 v0.2.39 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling smallvec v0.6.14 [INFO] [stderr] Compiling rand_xorshift v0.1.1 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling rand_jitter v0.1.4 [INFO] [stderr] Compiling unicase v1.4.2 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling scoped-tls v0.1.2 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling slab v0.3.0 [INFO] [stderr] Compiling matches v0.1.10 [INFO] [stderr] Compiling smallvec v0.2.1 [INFO] [stderr] Compiling traitobject v0.1.1 [INFO] [stderr] Compiling safemem v0.3.3 [INFO] [stderr] Compiling take v0.1.0 [INFO] [stderr] Compiling try-lock v0.1.0 [INFO] [stderr] Compiling percent-encoding v1.0.1 [INFO] [stderr] Compiling base64 v0.9.3 [INFO] [stderr] Compiling idna v0.1.5 [INFO] [stderr] Compiling unsafe-any v0.4.2 [INFO] [stderr] Compiling mime v0.2.6 [INFO] [stderr] Compiling time v0.1.45 [INFO] [stderr] Compiling parking_lot_core v0.6.3 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling phf_shared v0.7.24 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Compiling phf v0.7.24 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling language-tags v0.2.2 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling ucd-util v0.1.10 [INFO] [stderr] Compiling ferrum-plugin v0.3.0 [INFO] [stderr] Compiling crossbeam-queue v0.2.3 [INFO] [stderr] Compiling regex-syntax v0.5.6 [INFO] [stderr] Compiling mio-uds v0.6.8 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling tokio-executor v0.1.10 [INFO] [stderr] Compiling tokio-io v0.1.13 [INFO] [stderr] Compiling tokio-sync v0.1.8 [INFO] [stderr] Compiling crossbeam-deque v0.7.4 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Compiling tokio-service v0.1.0 [INFO] [stderr] Compiling relay v0.1.1 [INFO] [stderr] Compiling tokio-timer v0.2.13 [INFO] [stderr] Compiling tokio-current-thread v0.1.7 [INFO] [stderr] Compiling want v0.0.4 [INFO] [stderr] Compiling futures-cpupool v0.1.8 [INFO] [stderr] Compiling mime_guess v1.8.8 [INFO] [stderr] Compiling aho-corasick v0.6.10 [INFO] [stderr] Compiling tokio-codec v0.1.2 [INFO] [stderr] Compiling url v1.7.2 [INFO] [stderr] Compiling tokio-threadpool v0.1.18 [INFO] [stderr] Compiling utf8-ranges v1.0.5 [INFO] [stderr] Compiling route-recognizer v0.1.13 [INFO] [stderr] Compiling tokio-reactor v0.1.12 [INFO] [stderr] Compiling tokio-tcp v0.1.4 [INFO] [stderr] Compiling tokio-uds v0.2.7 [INFO] [stderr] Compiling tokio-udp v0.1.6 [INFO] [stderr] Compiling tokio-fs v0.1.7 [INFO] [stderr] Compiling tokio v0.1.22 [INFO] [stderr] Compiling tokio-core v0.1.18 [INFO] [stderr] Compiling tokio-proto v0.1.1 [INFO] [stderr] Compiling hyper v0.11.27 [INFO] [stderr] Compiling ferrum v0.2.1 [INFO] [stderr] Compiling ferrum-router v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/matcher.rs:7:26 [INFO] [stdout] | [INFO] [stdout] 7 | pub handler: &'a Box, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 | pub handler: &'a Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/mod.rs:26:22 [INFO] [stdout] | [INFO] [stdout] 26 | pub handler: Box, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | pub handler: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/matcher.rs:12:33 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(handler: &'a Box, params: Params) -> RouteMatch { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(handler: &'a Box, params: Params) -> RouteMatch { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/mod.rs:34:47 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn new(glob: G, handler: Box, types: Option<&Store>) -> RecognizerResult [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | pub fn new(glob: G, handler: Box, types: Option<&Store>) -> RecognizerResult [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/mod.rs:14:59 [INFO] [stdout] | [INFO] [stdout] 14 | pub type RecognizerResult = Result>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type RecognizerResult = Result>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/router/mod.rs:204:18 [INFO] [stdout] | [INFO] [stdout] 204 | fn recognize(&self, method: &Method, path: &str) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 204 | fn recognize(&self, method: &Method, path: &str) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/recognizer/matcher.rs:12:26 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(handler: &'a Box, params: Params) -> RouteMatch { [INFO] [stdout] | ^^ ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(handler: &'a Box, params: Params) -> RouteMatch<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.71s [INFO] running `Command { std: "docker" "inspect" "396739642e13d13f8e776637b40bd670ab0d1ab691ee958dc65b5173de0035aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "396739642e13d13f8e776637b40bd670ab0d1ab691ee958dc65b5173de0035aa", kill_on_drop: false }` [INFO] [stdout] 396739642e13d13f8e776637b40bd670ab0d1ab691ee958dc65b5173de0035aa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 96f7da6b442d893f42ae6d2b9a0bf889f4966513f900ab412ac16f42811742e7 [INFO] running `Command { std: "docker" "start" "-a" "96f7da6b442d893f42ae6d2b9a0bf889f4966513f900ab412ac16f42811742e7", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling ferrum-router v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/matcher.rs:7:26 [INFO] [stdout] | [INFO] [stdout] 7 | pub handler: &'a Box, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 | pub handler: &'a Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/mod.rs:26:22 [INFO] [stdout] | [INFO] [stdout] 26 | pub handler: Box, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | pub handler: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/matcher.rs:12:33 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(handler: &'a Box, params: Params) -> RouteMatch { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(handler: &'a Box, params: Params) -> RouteMatch { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/mod.rs:34:47 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn new(glob: G, handler: Box, types: Option<&Store>) -> RecognizerResult [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | pub fn new(glob: G, handler: Box, types: Option<&Store>) -> RecognizerResult [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/mod.rs:14:59 [INFO] [stdout] | [INFO] [stdout] 14 | pub type RecognizerResult = Result>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type RecognizerResult = Result>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/router/mod.rs:204:18 [INFO] [stdout] | [INFO] [stdout] 204 | fn recognize(&self, method: &Method, path: &str) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 204 | fn recognize(&self, method: &Method, path: &str) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/recognizer/matcher.rs:12:26 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(handler: &'a Box, params: Params) -> RouteMatch { [INFO] [stdout] | ^^ ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(handler: &'a Box, params: Params) -> RouteMatch<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/matcher.rs:7:26 [INFO] [stdout] | [INFO] [stdout] 7 | pub handler: &'a Box, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 | pub handler: &'a Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/mod.rs:26:22 [INFO] [stdout] | [INFO] [stdout] 26 | pub handler: Box, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | pub handler: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/matcher.rs:12:33 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(handler: &'a Box, params: Params) -> RouteMatch { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(handler: &'a Box, params: Params) -> RouteMatch { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/mod.rs:34:47 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn new(glob: G, handler: Box, types: Option<&Store>) -> RecognizerResult [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | pub fn new(glob: G, handler: Box, types: Option<&Store>) -> RecognizerResult [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/recognizer/mod.rs:14:59 [INFO] [stdout] | [INFO] [stdout] 14 | pub type RecognizerResult = Result>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 14 | pub type RecognizerResult = Result>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/router/mod.rs:204:18 [INFO] [stdout] | [INFO] [stdout] 204 | fn recognize(&self, method: &Method, path: &str) -> Option { [INFO] [stdout] | ^^^^^ this lifetime flows to the output ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 204 | fn recognize(&self, method: &Method, path: &str) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/recognizer/matcher.rs:12:26 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(handler: &'a Box, params: Params) -> RouteMatch { [INFO] [stdout] | ^^ ---------- the lifetime gets resolved as `'a` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'a` [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(handler: &'a Box, params: Params) -> RouteMatch<'a> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/recognizer/tests.rs:87:38 [INFO] [stdout] | [INFO] [stdout] 87 | assert!(!regex.is_match(""), glob); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 87 | assert!(!regex.is_match(""), "{}", glob); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/recognizer/tests.rs:88:42 [INFO] [stdout] | [INFO] [stdout] 88 | assert!(!regex.is_match("test"), glob); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 88 | assert!(!regex.is_match("test"), "{}", glob); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/recognizer/tests.rs:89:39 [INFO] [stdout] | [INFO] [stdout] 89 | assert!(!regex.is_match("/"), glob); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 89 | assert!(!regex.is_match("/"), "{}", glob); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/recognizer/tests.rs:90:46 [INFO] [stdout] | [INFO] [stdout] 90 | assert!(regex.is_match("/posts/12"), glob); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 90 | assert!(regex.is_match("/posts/12"), "{}", glob); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/recognizer/tests.rs:91:47 [INFO] [stdout] | [INFO] [stdout] 91 | assert!(regex.is_match("/posts/12/"), glob); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 91 | assert!(regex.is_match("/posts/12/"), "{}", glob); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/recognizer/tests.rs:92:48 [INFO] [stdout] | [INFO] [stdout] 92 | assert!(!regex.is_match("/posts/12a"), glob); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 92 | assert!(!regex.is_match("/posts/12a"), "{}", glob); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/recognizer/tests.rs:93:52 [INFO] [stdout] | [INFO] [stdout] 93 | assert!(!regex.is_match("/posts/12/test"), glob); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 93 | assert!(!regex.is_match("/posts/12/test"), "{}", glob); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/recognizer/tests.rs:94:48 [INFO] [stdout] | [INFO] [stdout] 94 | assert!(!regex.is_match("/posts/new"), glob); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 94 | assert!(!regex.is_match("/posts/new"), "{}", glob); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/recognizer/tests.rs:95:49 [INFO] [stdout] | [INFO] [stdout] 95 | assert!(!regex.is_match("/posts/new/"), glob); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 95 | assert!(!regex.is_match("/posts/new/"), "{}", glob); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/recognizer/tests.rs:96:53 [INFO] [stdout] | [INFO] [stdout] 96 | assert!(!regex.is_match("/posts/new/test"), glob); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 96 | assert!(!regex.is_match("/posts/new/test"), "{}", glob); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtbeginS.o" "/tmp/rustcBFdx1s/symbols.o" "<9 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/{libferrum_router-7e72903b44cb754e.rlib,libregex-ac32ee46e528d227.rlib,libutf8_ranges-20337238531d0c80.rlib,libregex_syntax-a66ffe2c29136e53.rlib,libucd_util-e9878f9921cc5f0f.rlib,libthread_local-2eeaf8ca13463e12.rlib,libaho_corasick-3ca6f3877ec99fc9.rlib,libmemchr-1aee4b866184c097.rlib,libferrum-7afbeabff6aef430.rlib,liburl-955199a026e54ac6.rlib,libidna-78ec9b43859d7f1f.rlib,libunicode_normalization-829fec1dbaedfaa6.rlib,libtinyvec-f34fb2da5345b395.rlib,libtinyvec_macros-39420a9672e6a692.rlib,libunicode_bidi-34d311bf2b33f794.rlib,libmatches-f5be1760a6872214.rlib,libmime_guess-7b5172371ac7f796.rlib,libphf-4935bb36f7c92a6d.rlib,libphf_shared-d391301550553572.rlib,libunicase-aebd60a59e8f0ada.rlib,libsiphasher-6fd8585445cfdc06.rlib,libmime-b3359dcfaaf607f9.rlib,libferrum_plugin-fcc3da6c4f554996.rlib,libunsafe_any-269f5b376ef19565.rlib,libtraitobject-330dfab28b2f26ec.rlib,libhyper-956f8d745db50960.rlib,libwant-b957d081d1fbc1b2.rlib,libtry_lock-91a19ecf6a0932b2.rlib,libunicase-ef532dbd8dd75916.rlib,libtokio_proto-7ffc9b75440e05ed.rlib,liblog-129a1b89dda00ba8.rlib,libtokio_service-dea6906ecd15b13e.rlib,libtake-0979b70db3006896.rlib,libsmallvec-91688b9a2fba2036.rlib,libslab-00f9274160328e82.rlib,librand-e68791fb85337c0a.rlib,librand-bba52451ded1fd95.rlib,libtokio_core-c626af81b174abda.rlib,libscoped_tls-852a4a96248153ef.rlib,libtokio-dc30a8433a27be6f.rlib,libtokio_uds-49b5c321bd5ca0e7.rlib,libmio_uds-b777d2f86e00504b.rlib,libtokio_udp-8f7adcd36a5d7a27.rlib,libtokio_timer-b27e16ee520bbf9d.rlib,libtokio_tcp-199ef3f3855cfeb8.rlib,libtokio_reactor-1e719c263501afcc.rlib,libtokio_sync-8f0eb651c6e7f35f.rlib,libfnv-81596130b397d5c3.rlib,libparking_lot-c39a98505f86fd18.rlib,libparking_lot_core-047396e7eb81b060.rlib,libsmallvec-b32ffdb17841032a.rlib,liblock_api-27a9af95482ea192.rlib,libtokio_fs-1cdebdf87c15043a.rlib,libtokio_threadpool-ba357ace1b138505.rlib,libcrossbeam_queue-fbd27c5d49c2642d.rlib,libcrossbeam_deque-1c0d77eedf050159.rlib,libcrossbeam_epoch-ae3fd1dd045cdaee.rlib,libscopeguard-339f7eb6e1fefd1f.rlib,libmemoffset-c278c6c40f2c2636.rlib,libmaybe_uninit-56cae5b1ed8837f0.rlib,libtokio_current_thread-988cf353bd49856a.rlib,libtokio_executor-910b63bcf7ed49d1.rlib,libcrossbeam_utils-b68e3a62aa535721.rlib,liblazy_static-f3dc5c13b01a78ba.rlib,libtokio_codec-4d42f3703b96cbfb.rlib,libtokio_io-afb29cea5a62fbf1.rlib,libmio-4d57c77323f328ca.rlib,libslab-ab03e73cecfeb230.rlib,libtime-112d4def65e7aa55.rlib,librelay-122010d6ae05e4ac.rlib,libpercent_encoding-c47875da91a27715.rlib,libnet2-fca7996e7ab7daf9.rlib,libcfg_if-2d17986ae484e939.rlib,libmime-e6f732c53ac9de40.rlib,liblog-7ed48074b9f3458e.rlib,liblanguage_tags-158ba6cd45e642ae.rlib,libhttparse-15bf9b6c0e0d4108.rlib,libfutures_cpupool-aa68daf44c92caca.rlib,libnum_cpus-1c5926ba1f6c583b.rlib,libfutures-110302b7fd4a3b0c.rlib,libbytes-c09a234f8ce4647e.rlib,libiovec-69b4c87f2b307b48.rlib,liblibc-8e354d7ef70926da.rlib,libbase64-66019d25d0c63ea5.rlib,libsafemem-415ebfa147efdd91.rlib,libbyteorder-1e24148c060ae1e7.rlib}.rlib" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*}.rlib" "-lunwind" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{libcfg_if-*,liblibc-*}.rlib" "-lc" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-L" "/tmp/rustcBFdx1s/raw-dylibs" "-Wl,-Bdynamic" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-nostartfiles" "-L" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained" "-L" "/lib/rustlib/x86_64-unknown-linux-musl/lib" "-o" "/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/simple-b1e1b8c892dfcb0b" "-Wl,--gc-sections" "-static-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtendS.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: collect2: fatal error: ld terminated with signal 9 [Killed] [INFO] [stdout] compilation terminated. [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `ferrum-router` (example "simple") due to 1 previous error [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "96f7da6b442d893f42ae6d2b9a0bf889f4966513f900ab412ac16f42811742e7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "96f7da6b442d893f42ae6d2b9a0bf889f4966513f900ab412ac16f42811742e7", kill_on_drop: false }` [INFO] [stdout] 96f7da6b442d893f42ae6d2b9a0bf889f4966513f900ab412ac16f42811742e7