[INFO] fetching crate happy 0.1.1... [INFO] testing happy-0.1.1 against beta-2022-02-22 for beta-1.60-1 [INFO] extracting crate happy 0.1.1 into /workspace/builds/worker-16/source [INFO] validating manifest of crates.io crate happy 0.1.1 on toolchain beta-2022-02-22 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-02-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate happy 0.1.1 [INFO] finished tweaking crates.io crate happy 0.1.1 [INFO] tweaked toml for crates.io crate happy 0.1.1 written to /workspace/builds/worker-16/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-02-22" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-02-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded smallvec v0.2.1 [INFO] [stderr] Downloaded take v0.1.0 [INFO] [stderr] Downloaded ascii v0.7.1 [INFO] [stderr] Downloaded tokio-proto v0.1.1 [INFO] [stderr] Downloaded combine v2.4.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-16/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-16/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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a2f424dbce0bffb75c78bb88fa4cce489579c23124e77f90a21c0846944aee03 [INFO] running `Command { std: "docker" "start" "-a" "a2f424dbce0bffb75c78bb88fa4cce489579c23124e77f90a21c0846944aee03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a2f424dbce0bffb75c78bb88fa4cce489579c23124e77f90a21c0846944aee03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a2f424dbce0bffb75c78bb88fa4cce489579c23124e77f90a21c0846944aee03", kill_on_drop: false }` [INFO] [stdout] a2f424dbce0bffb75c78bb88fa4cce489579c23124e77f90a21c0846944aee03 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-16/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-16/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" "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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 985994e6cc2d4d7f9b50aac60fb902bd8469d839d99f60b67621388aa586b9f8 [INFO] running `Command { std: "docker" "start" "-a" "985994e6cc2d4d7f9b50aac60fb902bd8469d839d99f60b67621388aa586b9f8", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling safemem v0.3.3 [INFO] [stderr] Compiling try-lock v0.1.0 [INFO] [stderr] Compiling percent-encoding v1.0.1 [INFO] [stderr] Compiling ascii v0.7.1 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling relay v0.1.1 [INFO] [stderr] Compiling futures-cpupool v0.1.8 [INFO] [stderr] Compiling base64 v0.9.3 [INFO] [stderr] Compiling want v0.0.4 [INFO] [stderr] Compiling combine v2.4.0 [INFO] [stderr] Compiling hyper v0.11.27 [INFO] [stderr] Compiling mime_guess v2.0.4 [INFO] [stderr] Compiling happy v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/api.rs:26:23 [INFO] [stdout] | [INFO] [stdout] 26 | type Handler = Box) -> [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 26 ~ type Handler = Box) -> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Future` is imported redundantly [INFO] [stdout] --> src/api.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 5 | use futures::{BoxFuture, Future}; [INFO] [stdout] | ------ the item `Future` is already imported here [INFO] [stdout] ... [INFO] [stdout] 81 | use futures::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Future` is imported redundantly [INFO] [stdout] --> src/api.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 5 | use futures::{BoxFuture, Future}; [INFO] [stdout] | ------ the item `Future` is already imported here [INFO] [stdout] ... [INFO] [stdout] 179 | use futures::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Parser` is imported redundantly [INFO] [stdout] --> src/parse_route.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 1 | use combine::{self, Parser}; [INFO] [stdout] | ------ the item `Parser` is already imported here [INFO] [stdout] ... [INFO] [stdout] 91 | use combine::Parser; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `futures::BoxFuture`: removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stdout] --> src/api.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use futures::{BoxFuture, Future}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `futures::BoxFuture`: removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stdout] --> src/api.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | BoxFuture + Send + Sync> ; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `futures::BoxFuture`: removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stdout] --> src/api.rs:115:29 [INFO] [stdout] | [INFO] [stdout] 115 | F: Fn(Request) -> BoxFuture + Send + Sync + 'static { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `futures::BoxFuture`: removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stdout] --> src/api.rs:174:19 [INFO] [stdout] | [INFO] [stdout] 174 | type Future = BoxFuture; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::ascii::AsciiExt::eq_ignore_ascii_case`: use inherent methods instead [INFO] [stdout] --> src/parse_route.rs:62:40 [INFO] [stdout] | [INFO] [stdout] 62 | string_cmp(s, |a, b| AsciiExt::eq_ignore_ascii_case(&a, &b)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead [INFO] [stdout] --> src/parse_route.rs:48:21 [INFO] [stdout] | [INFO] [stdout] 48 | use std::ascii::AsciiExt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `mime_guess::guess_mime_type`: Use `from_path(path).first_or_octet_stream()` instead [INFO] [stdout] --> src/static_file.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use mime_guess::guess_mime_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `mime_guess::guess_mime_type`: Use `from_path(path).first_or_octet_stream()` instead [INFO] [stdout] --> src/static_file.rs:30:24 [INFO] [stdout] | [INFO] [stdout] 30 | let mime = guess_mime_type(&local_path); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/api.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | User(Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 23 - User(Box), [INFO] [stdout] 23 + User(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/api.rs:26:20 [INFO] [stdout] | [INFO] [stdout] 26 | type Handler = Box) -> [INFO] [stdout] 31 | | BoxFuture + Send + Sync> ; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 ~ type Handler = Box) -> [INFO] [stdout] 31 ~ BoxFuture + Send + Sync> ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parse_route.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | type StrParser<'a, R> = combine::Parser; [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: use `dyn` [INFO] [stdout] | [INFO] [stdout] 21 - type StrParser<'a, R> = combine::Parser; [INFO] [stdout] 21 + type StrParser<'a, R> = dyn combine::Parser; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `futures::Future::boxed`: removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stdout] --> src/api.rs:89:65 [INFO] [stdout] | [INFO] [stdout] 89 | Err(e) => return err(ErrorKind::Deserialize(e)).boxed(), [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `futures::Future::boxed`: removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stdout] --> src/api.rs:108:16 [INFO] [stdout] | [INFO] [stdout] 108 | }).boxed() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `futures::Future::boxed`: removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stdout] --> src/api.rs:191:33 [INFO] [stdout] | [INFO] [stdout] 191 | return ok(response).boxed() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `futures::Future::boxed`: removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stdout] --> src/api.rs:235:20 [INFO] [stdout] | [INFO] [stdout] 235 | result.boxed() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `futures::Future::boxed`: removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stdout] --> src/api.rs:243:21 [INFO] [stdout] | [INFO] [stdout] 243 | ok(res).boxed() [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements [INFO] [stdout] --> src/parse_route.rs:69:31 [INFO] [stdout] | [INFO] [stdout] 69 | optional(verbs_and_space).boxed() [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined here... [INFO] [stdout] --> src/parse_route.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | fn verb<'a>() -> Box>> { [INFO] [stdout] | ^^ [INFO] [stdout] note: ...so that the type `Optional, [closure@src/parse_route.rs:63:39: 63:62]>>, combine::combinator::Map, [closure@src/parse_route.rs:63:39: 63:62]>>, Many1>), [closure@src/parse_route.rs:68:79: 68:86]>>` will meet its required lifetime bounds... [INFO] [stdout] --> src/parse_route.rs:69:31 [INFO] [stdout] | [INFO] [stdout] 69 | optional(verbs_and_space).boxed() [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: ...that is required by this bound [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/combine-2.4.0/src/primitives.rs:1722:29 [INFO] [stdout] | [INFO] [stdout] 1722 | where Self: Sized + 'a [INFO] [stdout] | ^^ [INFO] [stdout] = note: but, the lifetime must be valid for the static lifetime... [INFO] [stdout] note: ...so that the types are compatible [INFO] [stdout] --> src/parse_route.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | optional(verbs_and_space).boxed() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected `Box<(dyn Parser> + 'static)>` [INFO] [stdout] found `Box>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements [INFO] [stdout] --> src/parse_route.rs:78:59 [INFO] [stdout] | [INFO] [stdout] 78 | literal.map(|r| SegmentPiece::Literal(r)).or(pattern).boxed() [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined here... [INFO] [stdout] --> src/parse_route.rs:72:18 [INFO] [stdout] | [INFO] [stdout] 72 | fn segment_piece<'a>() -> Box> { [INFO] [stdout] | ^^ [INFO] [stdout] note: ...so that the type `Or, NoneOf, &'a str>>, [closure@src/parse_route.rs:74:66: 74:103]>, [closure@src/parse_route.rs:78:17: 78:45]>, combine::combinator::Map<((combine::combinator::Token<&'a str>, combine::combinator::Map<(Or, combine::char::Letter<&'a str>>, Many, combine::char::AlphaNum<&'a str>>>), [closure@src/parse_route.rs:75:82: 75:130]>), combine::combinator::Token<&'a str>), [closure@src/parse_route.rs:76:60: 76:98]>>` will meet its required lifetime bounds... [INFO] [stdout] --> src/parse_route.rs:78:59 [INFO] [stdout] | [INFO] [stdout] 78 | literal.map(|r| SegmentPiece::Literal(r)).or(pattern).boxed() [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: ...that is required by this bound [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/combine-2.4.0/src/primitives.rs:1722:29 [INFO] [stdout] | [INFO] [stdout] 1722 | where Self: Sized + 'a [INFO] [stdout] | ^^ [INFO] [stdout] = note: but, the lifetime must be valid for the static lifetime... [INFO] [stdout] note: ...so that the types are compatible [INFO] [stdout] --> src/parse_route.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | literal.map(|r| SegmentPiece::Literal(r)).or(pattern).boxed() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected `Box<(dyn Parser + 'static)>` [INFO] [stdout] found `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements [INFO] [stdout] --> src/parse_route.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | many1(segment_piece()).map(Segment).and(optional(token('/'))).map(|(v, _)| v).boxed() [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined here... [INFO] [stdout] --> src/parse_route.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 81 | fn segment<'a>() -> Box> { [INFO] [stdout] | ^^ [INFO] [stdout] note: ...so that the types are compatible [INFO] [stdout] --> src/parse_route.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | many1(segment_piece()).map(Segment).and(optional(token('/'))).map(|(v, _)| v).boxed() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected `dyn Parser` [INFO] [stdout] found `dyn Parser` [INFO] [stdout] = note: but, the lifetime must be valid for the static lifetime... [INFO] [stdout] note: ...so that the types are compatible [INFO] [stdout] --> src/parse_route.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | many1(segment_piece()).map(Segment).and(optional(token('/'))).map(|(v, _)| v).boxed() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected `Box<(dyn Parser + 'static)>` [INFO] [stdout] found `Box>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements [INFO] [stdout] --> src/parse_route.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | optional(token('/')).and(many1(segment())).map(|(_, v)| v).boxed() [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the lifetime `'a` as defined here... [INFO] [stdout] --> src/parse_route.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | fn url<'a>() -> Box>> { [INFO] [stdout] | ^^ [INFO] [stdout] note: ...so that the types are compatible [INFO] [stdout] --> src/parse_route.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | optional(token('/')).and(many1(segment())).map(|(_, v)| v).boxed() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected `dyn Parser>` [INFO] [stdout] found `dyn Parser>` [INFO] [stdout] = note: but, the lifetime must be valid for the static lifetime... [INFO] [stdout] note: ...so that the types are compatible [INFO] [stdout] --> src/parse_route.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | optional(token('/')).and(many1(segment())).map(|(_, v)| v).boxed() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected `Box<(dyn Parser> + 'static)>` [INFO] [stdout] found `Box>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors; 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0495`. [INFO] [stdout] [INFO] [stderr] error: could not compile `happy` due to 5 previous errors; 20 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "985994e6cc2d4d7f9b50aac60fb902bd8469d839d99f60b67621388aa586b9f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "985994e6cc2d4d7f9b50aac60fb902bd8469d839d99f60b67621388aa586b9f8", kill_on_drop: false }` [INFO] [stdout] 985994e6cc2d4d7f9b50aac60fb902bd8469d839d99f60b67621388aa586b9f8