[INFO] fetching crate happy 0.1.1... [INFO] checking happy-0.1.1 against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] extracting crate happy 0.1.1 into /workspace/builds/worker-14/source [INFO] validating manifest of crates.io crate happy 0.1.1 on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", 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-14/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "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" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded combine v2.4.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3a125668c15b17ce4e40c0883aaaaec4bea0b2ad7f04f575ba851d26ca5b6fb2 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "3a125668c15b17ce4e40c0883aaaaec4bea0b2ad7f04f575ba851d26ca5b6fb2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3a125668c15b17ce4e40c0883aaaaec4bea0b2ad7f04f575ba851d26ca5b6fb2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3a125668c15b17ce4e40c0883aaaaec4bea0b2ad7f04f575ba851d26ca5b6fb2", kill_on_drop: false }` [INFO] [stdout] 3a125668c15b17ce4e40c0883aaaaec4bea0b2ad7f04f575ba851d26ca5b6fb2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b557e15b0fc3dc061733963617e438d6344429d66cd3c2138f8debac9e6d37e1 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "b557e15b0fc3dc061733963617e438d6344429d66cd3c2138f8debac9e6d37e1", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling libc v0.2.81 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Checking futures v0.1.30 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Checking scoped-tls v0.1.2 [INFO] [stderr] Compiling serde v1.0.118 [INFO] [stderr] Compiling httparse v1.3.4 [INFO] [stderr] Compiling regex v0.2.11 [INFO] [stderr] Checking safemem v0.3.3 [INFO] [stderr] Compiling serde_json v1.0.61 [INFO] [stderr] Checking slab v0.3.0 [INFO] [stderr] Checking take v0.1.0 [INFO] [stderr] Compiling syn v1.0.56 [INFO] [stderr] Checking try-lock v0.1.0 [INFO] [stderr] Checking ucd-util v0.1.8 [INFO] [stderr] Checking mime v0.3.16 [INFO] [stderr] Checking smallvec v0.2.1 [INFO] [stderr] Checking utf8-ranges v1.0.4 [INFO] [stderr] Compiling serde_derive v1.0.118 [INFO] [stderr] Checking ascii v0.7.1 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking regex-syntax v0.5.6 [INFO] [stderr] Checking combine v2.4.0 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking aho-corasick v0.6.10 [INFO] [stderr] Checking base64 v0.9.3 [INFO] [stderr] Compiling quote v1.0.8 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking net2 v0.2.37 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking tokio-sync v0.1.8 [INFO] [stderr] Checking tokio-service v0.1.0 [INFO] [stderr] Checking relay v0.1.1 [INFO] [stderr] Checking want v0.0.4 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking tokio-io v0.1.13 [INFO] [stderr] Checking tokio-executor v0.1.10 [INFO] [stderr] Checking crossbeam-queue v0.2.3 [INFO] [stderr] Checking tokio-timer v0.2.13 [INFO] [stderr] Checking tokio-current-thread v0.1.7 [INFO] [stderr] Checking crossbeam-deque v0.7.3 [INFO] [stderr] Checking tokio-threadpool v0.1.18 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking tokio-codec v0.1.2 [INFO] [stderr] Checking tokio-reactor v0.1.12 [INFO] [stderr] Checking tokio-fs v0.1.7 [INFO] [stderr] Checking tokio-tcp v0.1.4 [INFO] [stderr] Checking tokio-udp v0.1.6 [INFO] [stderr] Checking tokio-uds v0.2.7 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking tokio-core v0.1.18 [INFO] [stderr] Checking tokio-proto v0.1.1 [INFO] [stderr] Checking hyper v0.11.27 [INFO] [stderr] Checking happy v0.1.1 (/opt/rustwide/workdir) [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] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Error + Send + 'static` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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] 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: 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: 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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn combine::Parser` [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:30 [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:9 [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:5 [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: 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 on the function body at 45:9... [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: but, the lifetime must be valid for the static lifetime... [INFO] [stdout] note: ...so that the expression is assignable [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, Input = &'a str> + 'static)>` [INFO] [stdout] found `Box, Input = &'a str>>` [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 on the function body at 72:18... [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: but, the lifetime must be valid for the static lifetime... [INFO] [stdout] note: ...so that the expression is assignable [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:11 [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 on the function body at 81:12... [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 expression is assignable [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:36 [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 on the function body at 85:8... [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, Input = &'a str>` [INFO] [stdout] found `dyn Parser, Input = &str>` [INFO] [stdout] = note: but, the lifetime must be valid for the static lifetime... [INFO] [stdout] note: ...so that the expression is assignable [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, Input = &'a str> + 'static)>` [INFO] [stdout] found `Box, Input = &'a str>>` [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` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "b557e15b0fc3dc061733963617e438d6344429d66cd3c2138f8debac9e6d37e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b557e15b0fc3dc061733963617e438d6344429d66cd3c2138f8debac9e6d37e1", kill_on_drop: false }` [INFO] [stdout] b557e15b0fc3dc061733963617e438d6344429d66cd3c2138f8debac9e6d37e1