[INFO] updating cached repository https://github.com/ezksd/combinator [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] a2989e2e8fc92c9c8b1b4c949d9d8cc0b4de1986 [INFO] checking ezksd/combinator against try#96b3c169cd2d8959926fa240f10342f1659f8ae3 for pr-71896 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fezksd%2Fcombinator" "/workspace/builds/worker-7/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ezksd/combinator on toolchain 96b3c169cd2d8959926fa240f10342f1659f8ae3 [INFO] running `"/workspace/cargo-home/bin/cargo" "+96b3c169cd2d8959926fa240f10342f1659f8ae3" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/ezksd/combinator [INFO] finished tweaking git repo https://github.com/ezksd/combinator [INFO] tweaked toml for git repo https://github.com/ezksd/combinator written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/ezksd/combinator already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+96b3c169cd2d8959926fa240f10342f1659f8ae3" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+96b3c169cd2d8959926fa240f10342f1659f8ae3" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 080e08f9129c887af4951ad02a3cf586dab9874e0e4b8825b7bcf6f36b099cde [INFO] running `"docker" "start" "-a" "080e08f9129c887af4951ad02a3cf586dab9874e0e4b8825b7bcf6f36b099cde"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Checking combinator v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/chars.rs:49:24 [INFO] [stderr] | [INFO] [stderr] 49 | let mut v: Vec<Box<Parser<Input = _, Output = _>>> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Parser<Input = _, Output = _>` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/parser/chars.rs:49:24 [INFO] [stderr] | [INFO] [stderr] 49 | let mut v: Vec<Box<Parser<Input = _, Output = _>>> = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Parser<Input = _, Output = _>` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/parser/chars.rs:37:28 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn sat<'a, F>(f: F) -> impl Parser<Input = &'a str, Output = char> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...but this borrow... [INFO] [stderr] ... [INFO] [stderr] 41 | item().flat_map(move |x| if f(x) { pure(x) } else { empty() }) [INFO] [stderr] | ------- this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 37:12 [INFO] [stderr] --> src/parser/chars.rs:37:12 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn sat<'a, F>(f: F) -> impl Parser<Input = &'a str, Output = char> [INFO] [stderr] | ^^ [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 37:12 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn sat<'a, F>(f: F) -> impl Parser<Input = &'a str, Output = char> + '_ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/parser/chars.rs:37:28 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn sat<'a, F>(f: F) -> impl Parser<Input = &'a str, Output = char> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...but this borrow... [INFO] [stderr] ... [INFO] [stderr] 41 | item().flat_map(move |x| if f(x) { pure(x) } else { empty() }) [INFO] [stderr] | ------- this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 37:12 [INFO] [stderr] --> src/parser/chars.rs:37:12 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn sat<'a, F>(f: F) -> impl Parser<Input = &'a str, Output = char> [INFO] [stderr] | ^^ [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 37:12 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn sat<'a, F>(f: F) -> impl Parser<Input = &'a str, Output = char> + '_ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/parser/chars.rs:18:16 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn number<'a>() -> impl Parser<Input = &'a str, Output = u32> { [INFO] [stderr] | ------------------------------------------ ...but this borrow... [INFO] [stderr] 18 | let head = digit().flat_map(|i| if i == 0 { empty() } else { pure(i) }); [INFO] [stderr] | ^^^^^ ------- this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 17:15 [INFO] [stderr] --> src/parser/chars.rs:17:15 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn number<'a>() -> impl Parser<Input = &'a str, Output = u32> { [INFO] [stderr] | ^^ [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 17:15 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn number<'a>() -> impl Parser<Input = &'a str, Output = u32> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/parser/mod.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | $(v.push(Box::new($e));)* [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 74 | Any(v) [INFO] [stderr] | - this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] ::: src/parser/chars.rs:44:21 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn var<'a>() -> impl Parser<Input = &'a str, Output = String> { [INFO] [stderr] | --------------------------------------------- ...but this borrow... [INFO] [stderr] 45 | many1(any!(chr('_'), sat(char::is_alphanumeric))).map(|x| collect(&x)) [INFO] [stderr] | ------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 44:12 [INFO] [stderr] --> src/parser/chars.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn var<'a>() -> impl Parser<Input = &'a str, Output = String> { [INFO] [stderr] | ^^ [INFO] [stderr] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 44:12 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn var<'a>() -> impl Parser<Input = &'a str, Output = String> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/parser/chars.rs:51:16 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn letter<'a>(s: &str) -> impl Parser<Input = &'a str, Output = String> { [INFO] [stderr] | --------------------------------------------- ...but this borrow... [INFO] [stderr] ... [INFO] [stderr] 51 | v.push(chr(c).boxed()); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 52 | } [INFO] [stderr] 53 | All(v).map(|x| collect(&x)) [INFO] [stderr] | - this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 48:15 [INFO] [stderr] --> src/parser/chars.rs:48:15 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn letter<'a>(s: &str) -> impl Parser<Input = &'a str, Output = String> { [INFO] [stderr] | ^^ [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 48:15 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn letter<'a>(s: &str) -> impl Parser<Input = &'a str, Output = String> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/parser/mod.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | $(v.push(Box::new($e));)* [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 74 | Any(v) [INFO] [stderr] | - this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] ::: src/json.rs:24:28 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn json_value<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> { [INFO] [stderr] | ------------------------------------------------ ...but this borrow... [INFO] [stderr] 25 | / any!( [INFO] [stderr] 26 | | json_object(), [INFO] [stderr] 27 | | json_array(), [INFO] [stderr] 28 | | json_string().map(JsonString), [INFO] [stderr] ... | [INFO] [stderr] 31 | | json_null() [INFO] [stderr] 32 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 24:19 [INFO] [stderr] --> src/json.rs:24:19 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn json_value<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> { [INFO] [stderr] | ^^ [INFO] [stderr] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 24:19 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn json_value<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/parser/chars.rs:18:16 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn number<'a>() -> impl Parser<Input = &'a str, Output = u32> { [INFO] [stderr] | ------------------------------------------ ...but this borrow... [INFO] [stderr] 18 | let head = digit().flat_map(|i| if i == 0 { empty() } else { pure(i) }); [INFO] [stderr] | ^^^^^ ------- this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 17:15 [INFO] [stderr] --> src/parser/chars.rs:17:15 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn number<'a>() -> impl Parser<Input = &'a str, Output = u32> { [INFO] [stderr] | ^^ [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 17:15 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn number<'a>() -> impl Parser<Input = &'a str, Output = u32> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/parser/mod.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | $(v.push(Box::new($e));)* [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 74 | Any(v) [INFO] [stderr] | - this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] ::: src/parser/chars.rs:44:21 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn var<'a>() -> impl Parser<Input = &'a str, Output = String> { [INFO] [stderr] | --------------------------------------------- ...but this borrow... [INFO] [stderr] 45 | many1(any!(chr('_'), sat(char::is_alphanumeric))).map(|x| collect(&x)) [INFO] [stderr] | ------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 44:12 [INFO] [stderr] --> src/parser/chars.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn var<'a>() -> impl Parser<Input = &'a str, Output = String> { [INFO] [stderr] | ^^ [INFO] [stderr] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 44:12 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn var<'a>() -> impl Parser<Input = &'a str, Output = String> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/parser/chars.rs:51:16 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn letter<'a>(s: &str) -> impl Parser<Input = &'a str, Output = String> { [INFO] [stderr] | --------------------------------------------- ...but this borrow... [INFO] [stderr] ... [INFO] [stderr] 51 | v.push(chr(c).boxed()); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 52 | } [INFO] [stderr] 53 | All(v).map(|x| collect(&x)) [INFO] [stderr] | - this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 48:15 [INFO] [stderr] --> src/parser/chars.rs:48:15 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn letter<'a>(s: &str) -> impl Parser<Input = &'a str, Output = String> { [INFO] [stderr] | ^^ [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 48:15 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn letter<'a>(s: &str) -> impl Parser<Input = &'a str, Output = String> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/parser/mod.rs:73:22 [INFO] [stderr] | [INFO] [stderr] 73 | $(v.push(Box::new($e));)* [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 74 | Any(v) [INFO] [stderr] | - this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] ::: src/json.rs:24:28 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn json_value<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> { [INFO] [stderr] | ------------------------------------------------ ...but this borrow... [INFO] [stderr] 25 | / any!( [INFO] [stderr] 26 | | json_object(), [INFO] [stderr] 27 | | json_array(), [INFO] [stderr] 28 | | json_string().map(JsonString), [INFO] [stderr] ... | [INFO] [stderr] 31 | | json_null() [INFO] [stderr] 32 | | ) [INFO] [stderr] | |_____- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 24:19 [INFO] [stderr] --> src/json.rs:24:19 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn json_value<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> { [INFO] [stderr] | ^^ [INFO] [stderr] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 24:19 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn json_value<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/parser/mod.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 74 | Any(v) [INFO] [stderr] | - this return type evaluates to the `'static` lifetime... [INFO] [stderr] ... [INFO] [stderr] 98 | and($p, $q).map(|(_, x)| x) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/json.rs:82:25 [INFO] [stderr] | [INFO] [stderr] 82 | fn json_string<'a>() -> impl Parser<Input = &'a str, Output = String> { [INFO] [stderr] | --------------------------------------------- ...but this borrow... [INFO] [stderr] ... [INFO] [stderr] 112 | around!(token!('"'), many(any!(control(), other())), chr('"')).map(|v| collect(&v)) [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 82:16 [INFO] [stderr] --> src/json.rs:82:16 [INFO] [stderr] | [INFO] [stderr] 82 | fn json_string<'a>() -> impl Parser<Input = &'a str, Output = String> { [INFO] [stderr] | ^^ [INFO] [stderr] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 82:16 [INFO] [stderr] | [INFO] [stderr] 82 | fn json_string<'a>() -> impl Parser<Input = &'a str, Output = String> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/parser/mod.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 74 | Any(v) [INFO] [stderr] | - this return type evaluates to the `'static` lifetime... [INFO] [stderr] ... [INFO] [stderr] 98 | and($p, $q).map(|(_, x)| x) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/json.rs:82:25 [INFO] [stderr] | [INFO] [stderr] 82 | fn json_string<'a>() -> impl Parser<Input = &'a str, Output = String> { [INFO] [stderr] | --------------------------------------------- ...but this borrow... [INFO] [stderr] ... [INFO] [stderr] 112 | around!(token!('"'), many(any!(control(), other())), chr('"')).map(|v| collect(&v)) [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 82:16 [INFO] [stderr] --> src/json.rs:82:16 [INFO] [stderr] | [INFO] [stderr] 82 | fn json_string<'a>() -> impl Parser<Input = &'a str, Output = String> { [INFO] [stderr] | ^^ [INFO] [stderr] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 82:16 [INFO] [stderr] | [INFO] [stderr] 82 | fn json_string<'a>() -> impl Parser<Input = &'a str, Output = String> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/json.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 83 | fn control<'a>() -> impl Parser<Input = &'a str, Output = char> { [INFO] [stderr] | ------------------------------------------- ...but this borrow... [INFO] [stderr] 84 | prefix!(chr('\\'), or(item(), prefix!(chr('u'), repeat(digit(), 4)))).flat_map( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 87 | '"' | '\\' | '/' => pure(c), [INFO] [stderr] | ------- this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 83:16 [INFO] [stderr] --> src/json.rs:83:16 [INFO] [stderr] | [INFO] [stderr] 83 | fn control<'a>() -> impl Parser<Input = &'a str, Output = char> { [INFO] [stderr] | ^^ [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 83:16 [INFO] [stderr] | [INFO] [stderr] 83 | fn control<'a>() -> impl Parser<Input = &'a str, Output = char> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/json.rs:106:23 [INFO] [stderr] | [INFO] [stderr] 106 | fn other<'a>() -> impl Parser<Input = &'a str, Output = char> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...but this borrow... [INFO] [stderr] 107 | item().flat_map(|x| match x { [INFO] [stderr] 108 | '"' | '\\' => empty(), [INFO] [stderr] | ------- this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 106:14 [INFO] [stderr] --> src/json.rs:106:14 [INFO] [stderr] | [INFO] [stderr] 106 | fn other<'a>() -> impl Parser<Input = &'a str, Output = char> { [INFO] [stderr] | ^^ [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 106:14 [INFO] [stderr] | [INFO] [stderr] 106 | fn other<'a>() -> impl Parser<Input = &'a str, Output = char> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/json.rs:140:5 [INFO] [stderr] | [INFO] [stderr] 115 | fn json_number<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> { [INFO] [stderr] | ------------------------------------------------ ...but this borrow... [INFO] [stderr] ... [INFO] [stderr] 140 | flag().flat_map(|g| { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 143 | / float() [INFO] [stderr] 144 | | .map(move |o| match o { [INFO] [stderr] 145 | | Some(f) => JsonFloat(g as f32 * (i as f32 + f)), [INFO] [stderr] 146 | | None => JsonInteger(g * i as i32), [INFO] [stderr] 147 | | }) [INFO] [stderr] 148 | | .boxed() [INFO] [stderr] | |____________________________- this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 115:16 [INFO] [stderr] --> src/json.rs:115:16 [INFO] [stderr] | [INFO] [stderr] 115 | fn json_number<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> { [INFO] [stderr] | ^^ [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 115:16 [INFO] [stderr] | [INFO] [stderr] 115 | fn json_number<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/json.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 83 | fn control<'a>() -> impl Parser<Input = &'a str, Output = char> { [INFO] [stderr] | ------------------------------------------- ...but this borrow... [INFO] [stderr] 84 | prefix!(chr('\\'), or(item(), prefix!(chr('u'), repeat(digit(), 4)))).flat_map( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 87 | '"' | '\\' | '/' => pure(c), [INFO] [stderr] | ------- this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 83:16 [INFO] [stderr] --> src/json.rs:83:16 [INFO] [stderr] | [INFO] [stderr] 83 | fn control<'a>() -> impl Parser<Input = &'a str, Output = char> { [INFO] [stderr] | ^^ [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 83:16 [INFO] [stderr] | [INFO] [stderr] 83 | fn control<'a>() -> impl Parser<Input = &'a str, Output = char> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/json.rs:106:23 [INFO] [stderr] | [INFO] [stderr] 106 | fn other<'a>() -> impl Parser<Input = &'a str, Output = char> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...but this borrow... [INFO] [stderr] 107 | item().flat_map(|x| match x { [INFO] [stderr] 108 | '"' | '\\' => empty(), [INFO] [stderr] | ------- this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 106:14 [INFO] [stderr] --> src/json.rs:106:14 [INFO] [stderr] | [INFO] [stderr] 106 | fn other<'a>() -> impl Parser<Input = &'a str, Output = char> { [INFO] [stderr] | ^^ [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 106:14 [INFO] [stderr] | [INFO] [stderr] 106 | fn other<'a>() -> impl Parser<Input = &'a str, Output = char> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot infer an appropriate lifetime [INFO] [stderr] --> src/json.rs:140:5 [INFO] [stderr] | [INFO] [stderr] 115 | fn json_number<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> { [INFO] [stderr] | ------------------------------------------------ ...but this borrow... [INFO] [stderr] ... [INFO] [stderr] 140 | flag().flat_map(|g| { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 143 | / float() [INFO] [stderr] 144 | | .map(move |o| match o { [INFO] [stderr] 145 | | Some(f) => JsonFloat(g as f32 * (i as f32 + f)), [INFO] [stderr] 146 | | None => JsonInteger(g * i as i32), [INFO] [stderr] 147 | | }) [INFO] [stderr] 148 | | .boxed() [INFO] [stderr] | |____________________________- this return type evaluates to the `'static` lifetime... [INFO] [stderr] | [INFO] [stderr] note: ...can't outlive the lifetime `'a` as defined on the function body at 115:16 [INFO] [stderr] --> src/json.rs:115:16 [INFO] [stderr] | [INFO] [stderr] 115 | fn json_number<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> { [INFO] [stderr] | ^^ [INFO] [stderr] help: you can add a bound to the return type to make it last less than `'static` and match the lifetime `'a` as defined on the function body at 115:16 [INFO] [stderr] | [INFO] [stderr] 115 | fn json_number<'a>() -> impl Parser<Input = &'a str, Output = JsonValue> + '_ { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 9 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] error: could not compile `combinator`. [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: aborting due to 9 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] error: could not compile `combinator`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "080e08f9129c887af4951ad02a3cf586dab9874e0e4b8825b7bcf6f36b099cde"` [INFO] running `"docker" "rm" "-f" "080e08f9129c887af4951ad02a3cf586dab9874e0e4b8825b7bcf6f36b099cde"` [INFO] [stdout] 080e08f9129c887af4951ad02a3cf586dab9874e0e4b8825b7bcf6f36b099cde