[INFO] fetching crate lincoln_ir 0.1.0...
[INFO] checking lincoln_ir-0.1.0 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate lincoln_ir 0.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate lincoln_ir 0.1.0 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate lincoln_ir 0.1.0
[INFO] finished tweaking crates.io crate lincoln_ir 0.1.0
[INFO] tweaked toml for crates.io crate lincoln_ir 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 32 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding smallvec v0.6.14 (latest: v1.13.2)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.60)
[INFO] [stderr]       Adding synstructure v0.12.6 (latest: v0.13.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lincoln_compiled v0.1.0
[INFO] [stderr]   Downloaded lincoln_common v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e4455f29dd37d5aaeaa61d5aa1be763ddd6e5252b95c942961ed0665eed9078f
[INFO] running `Command { std: "docker" "start" "-a" "e4455f29dd37d5aaeaa61d5aa1be763ddd6e5252b95c942961ed0665eed9078f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e4455f29dd37d5aaeaa61d5aa1be763ddd6e5252b95c942961ed0665eed9078f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e4455f29dd37d5aaeaa61d5aa1be763ddd6e5252b95c942961ed0665eed9078f", kill_on_drop: false }`
[INFO] [stdout] e4455f29dd37d5aaeaa61d5aa1be763ddd6e5252b95c942961ed0665eed9078f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5b6a70617b55fdc9898a34da39318a402b79a781b86c292ad800ad09d693895d
[INFO] running `Command { std: "docker" "start" "-a" "5b6a70617b55fdc9898a34da39318a402b79a781b86c292ad800ad09d693895d", kill_on_drop: false }`
[INFO] [stderr]     Checking lincoln_common v0.1.0
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]    Compiling serde_derive v1.0.200
[INFO] [stderr]     Checking backtrace v0.3.71
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking lincoln_compiled v0.1.0
[INFO] [stderr]     Checking lincoln_ir v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0593]: closure is expected to take 1 argument, but it takes 2 arguments
[INFO] [stdout]   --> src/tests.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout]    |                                         ^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         expected closure that takes 1 argument
[INFO] [stdout]    |                                         takes 2 arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:21:32
[INFO] [stdout]     |
[INFO] [stdout] 21  |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 3);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^                 ---
[INFO] [stdout]     |                                                              | |
[INFO] [stdout]     |                                                              | unexpected argument
[INFO] [stdout]     |                                                              help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:22:32
[INFO] [stdout]     |
[INFO] [stdout] 22  |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 2);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^                 ---
[INFO] [stdout]     |                                                              | |
[INFO] [stdout]     |                                                              | unexpected argument
[INFO] [stdout]     |                                                              help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:23:32
[INFO] [stdout]     |
[INFO] [stdout] 23  |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 1);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^                 ---
[INFO] [stdout]     |                                                              | |
[INFO] [stdout]     |                                                              | unexpected argument
[INFO] [stdout]     |                                                              help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `[fn() -> ExternEntry; 1]` is not an iterator
[INFO] [stdout]    --> src/tests.rs:18:22
[INFO] [stdout]     |
[INFO] [stdout] 18  |               .compile([(|| ExternEntry::Eval {
[INFO] [stdout]     |  ______________-------_^
[INFO] [stdout]     | |              |
[INFO] [stdout]     | |              required by a bound introduced by this call
[INFO] [stdout] 19  | |                 name: "rec2".into(),
[INFO] [stdout] 20  | |                 eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout] 21  | |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 3);
[INFO] [stdout] ...   |
[INFO] [stdout] 25  | |                 }),
[INFO] [stdout] 26  | |             }) as fn() -> ExternEntry])
[INFO] [stdout]     | |______________________________________^ `[fn() -> ExternEntry; 1]` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Iterator` is not implemented for `[fn() -> ExternEntry; 1]`
[INFO] [stdout] note: required by a bound in `PreCompileProgram::compile`
[INFO] [stdout]    --> src/program.rs:238:41
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn compile(&self, externs: impl Iterator<Item=ExternEntry>) -> Result<Program, Error> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `PreCompileProgram::compile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/tests.rs:33:38
[INFO] [stdout]     |
[INFO] [stdout] 33  |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]     |                                 ---- ^^^ expected `&mut Context`, found `Context`
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/program.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn eval(&self, ctx: &mut Context, ent: &CodeRef) -> Result<CodeRef, EvalError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 33  |         let (next, ctx) = cprog.eval(&mut ctx, &next).unwrap();
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected `CodeRef`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected `CodeRef`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected `CodeRef`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0593]: closure is expected to take 1 argument, but it takes 2 arguments
[INFO] [stdout]   --> src/tests.rs:50:45
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout]    |                                             ^^^^^^^^^^
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             expected closure that takes 1 argument
[INFO] [stdout]    |                                             takes 2 arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:52:36
[INFO] [stdout]     |
[INFO] [stdout] 52  |                         assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 2);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^                 ---
[INFO] [stdout]     |                                                                  | |
[INFO] [stdout]     |                                                                  | unexpected argument
[INFO] [stdout]     |                                                                  help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:53:36
[INFO] [stdout]     |
[INFO] [stdout] 53  |                         assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 1);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^                 ---
[INFO] [stdout]     |                                                                  | |
[INFO] [stdout]     |                                                                  | unexpected argument
[INFO] [stdout]     |                                                                  help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0593]: closure is expected to take 1 argument, but it takes 2 arguments
[INFO] [stdout]   --> src/tests.rs:59:45
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout]    |                                             ^^^^^^^^^^
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             expected closure that takes 1 argument
[INFO] [stdout]    |                                             takes 2 arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:60:36
[INFO] [stdout]     |
[INFO] [stdout] 60  |                         assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 3);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^                 ---
[INFO] [stdout]     |                                                                  | |
[INFO] [stdout]     |                                                                  | unexpected argument
[INFO] [stdout]     |                                                                  help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `[fn() -> ExternEntry; 2]` is not an iterator
[INFO] [stdout]    --> src/tests.rs:47:22
[INFO] [stdout]     |
[INFO] [stdout] 47  |               .compile([
[INFO] [stdout]     |  ______________-------_^
[INFO] [stdout]     | |              |
[INFO] [stdout]     | |              required by a bound introduced by this call
[INFO] [stdout] 48  | |                 || ExternEntry::Eval {
[INFO] [stdout] 49  | |                     name: "rec1".into(),
[INFO] [stdout] 50  | |                     eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout] ...   |
[INFO] [stdout] 63  | |                 }) as fn() -> ExternEntry,
[INFO] [stdout] 64  | |             ])
[INFO] [stdout]     | |_____________^ `[fn() -> ExternEntry; 2]` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Iterator` is not implemented for `[fn() -> ExternEntry; 2]`
[INFO] [stdout] note: required by a bound in `PreCompileProgram::compile`
[INFO] [stdout]    --> src/program.rs:238:41
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn compile(&self, externs: impl Iterator<Item=ExternEntry>) -> Result<Program, Error> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `PreCompileProgram::compile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/tests.rs:72:38
[INFO] [stdout]     |
[INFO] [stdout] 72  |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]     |                                 ---- ^^^ expected `&mut Context`, found `Context`
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/program.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn eval(&self, ctx: &mut Context, ent: &CodeRef) -> Result<CodeRef, EvalError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 72  |         let (next, ctx) = cprog.eval(&mut ctx, &next).unwrap();
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected `CodeRef`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected `CodeRef`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected `CodeRef`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/codemap.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Fail, Debug)]
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_CodeMapError`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/codemap.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Fail, Debug)]
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_CodeMapError`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 19 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0593.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lincoln_ir` (lib test) due to 20 previous errors
[INFO] running `Command { std: "docker" "inspect" "5b6a70617b55fdc9898a34da39318a402b79a781b86c292ad800ad09d693895d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b6a70617b55fdc9898a34da39318a402b79a781b86c292ad800ad09d693895d", kill_on_drop: false }`
[INFO] [stdout] 5b6a70617b55fdc9898a34da39318a402b79a781b86c292ad800ad09d693895d
[INFO] checking lincoln_ir-0.1.0 against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] extracting crate lincoln_ir 0.1.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate lincoln_ir 0.1.0 on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate lincoln_ir 0.1.0
[INFO] finished tweaking crates.io crate lincoln_ir 0.1.0
[INFO] tweaked toml for crates.io crate lincoln_ir 0.1.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 32 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding smallvec v0.6.14 (latest: v1.13.2)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.60)
[INFO] [stderr]       Adding synstructure v0.12.6 (latest: v0.13.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9191a06941abc9223cfa0a9a55c02c3721f7251c6f4e5ad6bbd776d3c10a163b
[INFO] running `Command { std: "docker" "start" "-a" "9191a06941abc9223cfa0a9a55c02c3721f7251c6f4e5ad6bbd776d3c10a163b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9191a06941abc9223cfa0a9a55c02c3721f7251c6f4e5ad6bbd776d3c10a163b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9191a06941abc9223cfa0a9a55c02c3721f7251c6f4e5ad6bbd776d3c10a163b", kill_on_drop: false }`
[INFO] [stdout] 9191a06941abc9223cfa0a9a55c02c3721f7251c6f4e5ad6bbd776d3c10a163b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b4317a4cb106d8d9cae35c1cdc1aec02c3b4c72427580c3c431fc92706c29fab
[INFO] running `Command { std: "docker" "start" "-a" "b4317a4cb106d8d9cae35c1cdc1aec02c3b4c72427580c3c431fc92706c29fab", kill_on_drop: false }`
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]     Checking lincoln_common v0.1.0
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]    Compiling serde_derive v1.0.200
[INFO] [stderr]     Checking backtrace v0.3.71
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking lincoln_compiled v0.1.0
[INFO] [stderr]     Checking lincoln_ir v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0593]: closure is expected to take 1 argument, but it takes 2 arguments
[INFO] [stdout]   --> src/tests.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout]    |                                         ^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         expected closure that takes 1 argument
[INFO] [stdout]    |                                         takes 2 arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:21:32
[INFO] [stdout]     |
[INFO] [stdout] 21  |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 3);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^                 ---
[INFO] [stdout]     |                                                              | |
[INFO] [stdout]     |                                                              | unexpected argument
[INFO] [stdout]     |                                                              help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:22:32
[INFO] [stdout]     |
[INFO] [stdout] 22  |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 2);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^                 ---
[INFO] [stdout]     |                                                              | |
[INFO] [stdout]     |                                                              | unexpected argument
[INFO] [stdout]     |                                                              help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:23:32
[INFO] [stdout]     |
[INFO] [stdout] 23  |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 1);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^                 ---
[INFO] [stdout]     |                                                              | |
[INFO] [stdout]     |                                                              | unexpected argument
[INFO] [stdout]     |                                                              help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `[fn() -> ExternEntry; 1]` is not an iterator
[INFO] [stdout]    --> src/tests.rs:18:22
[INFO] [stdout]     |
[INFO] [stdout] 18  |               .compile([(|| ExternEntry::Eval {
[INFO] [stdout]     |  ______________-------_^
[INFO] [stdout]     | |              |
[INFO] [stdout]     | |              required by a bound introduced by this call
[INFO] [stdout] 19  | |                 name: "rec2".into(),
[INFO] [stdout] 20  | |                 eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout] 21  | |                     assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 3);
[INFO] [stdout] ...   |
[INFO] [stdout] 25  | |                 }),
[INFO] [stdout] 26  | |             }) as fn() -> ExternEntry])
[INFO] [stdout]     | |______________________________________^ `[fn() -> ExternEntry; 1]` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Iterator` is not implemented for `[fn() -> ExternEntry; 1]`
[INFO] [stdout] note: required by a bound in `PreCompileProgram::compile`
[INFO] [stdout]    --> src/program.rs:238:41
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn compile(&self, externs: impl Iterator<Item=ExternEntry>) -> Result<Program, Error> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `PreCompileProgram::compile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/tests.rs:33:38
[INFO] [stdout]     |
[INFO] [stdout] 33  |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]     |                                 ---- ^^^ expected `&mut Context`, found `Context`
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/program.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn eval(&self, ctx: &mut Context, ent: &CodeRef) -> Result<CodeRef, EvalError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 33  |         let (next, ctx) = cprog.eval(&mut ctx, &next).unwrap();
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected `CodeRef`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected `CodeRef`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected `CodeRef`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0593]: closure is expected to take 1 argument, but it takes 2 arguments
[INFO] [stdout]   --> src/tests.rs:50:45
[INFO] [stdout]    |
[INFO] [stdout] 50 |                     eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout]    |                                             ^^^^^^^^^^
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             expected closure that takes 1 argument
[INFO] [stdout]    |                                             takes 2 arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:52:36
[INFO] [stdout]     |
[INFO] [stdout] 52  |                         assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 2);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^                 ---
[INFO] [stdout]     |                                                                  | |
[INFO] [stdout]     |                                                                  | unexpected argument
[INFO] [stdout]     |                                                                  help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:53:36
[INFO] [stdout]     |
[INFO] [stdout] 53  |                         assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 1);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^                 ---
[INFO] [stdout]     |                                                                  | |
[INFO] [stdout]     |                                                                  | unexpected argument
[INFO] [stdout]     |                                                                  help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0593]: closure is expected to take 1 argument, but it takes 2 arguments
[INFO] [stdout]   --> src/tests.rs:59:45
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout]    |                                             ^^^^^^^^^^
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             expected closure that takes 1 argument
[INFO] [stdout]    |                                             takes 2 arguments
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/tests.rs:60:36
[INFO] [stdout]     |
[INFO] [stdout] 60  |                         assert_eq!(unwrap::<i32>(c.pop().unwrap(), p).unwrap(), 3);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^                 ---
[INFO] [stdout]     |                                                                  | |
[INFO] [stdout]     |                                                                  | unexpected argument
[INFO] [stdout]     |                                                                  help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/value.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn unwrap<T>(v: Box<dyn Value>) -> Result<T, EvalError>
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `[fn() -> ExternEntry; 2]` is not an iterator
[INFO] [stdout]    --> src/tests.rs:47:22
[INFO] [stdout]     |
[INFO] [stdout] 47  |               .compile([
[INFO] [stdout]     |  ______________-------_^
[INFO] [stdout]     | |              |
[INFO] [stdout]     | |              required by a bound introduced by this call
[INFO] [stdout] 48  | |                 || ExternEntry::Eval {
[INFO] [stdout] 49  | |                     name: "rec1".into(),
[INFO] [stdout] 50  | |                     eval: EvalFn::stateless(|p, mut c| {
[INFO] [stdout] ...   |
[INFO] [stdout] 63  | |                 }) as fn() -> ExternEntry,
[INFO] [stdout] 64  | |             ])
[INFO] [stdout]     | |_____________^ `[fn() -> ExternEntry; 2]` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Iterator` is not implemented for `[fn() -> ExternEntry; 2]`
[INFO] [stdout] note: required by a bound in `PreCompileProgram::compile`
[INFO] [stdout]    --> src/program.rs:238:41
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn compile(&self, externs: impl Iterator<Item=ExternEntry>) -> Result<Program, Error> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `PreCompileProgram::compile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/tests.rs:72:38
[INFO] [stdout]     |
[INFO] [stdout] 72  |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]     |                                 ---- ^^^ expected `&mut Context`, found `Context`
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/lincoln_compiled-0.1.0/src/program.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn eval(&self, ctx: &mut Context, ent: &CodeRef) -> Result<CodeRef, EvalError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] help: consider mutably borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 72  |         let (next, ctx) = cprog.eval(&mut ctx, &next).unwrap();
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected `CodeRef`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected `CodeRef`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/tests.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let (next, ctx) = cprog.eval(ctx, &next).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^   ------------------------------- this expression has type `lincoln_compiled::CodeRef`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected `CodeRef`, found `(_, _)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `lincoln_compiled::CodeRef`
[INFO] [stdout]              found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/codemap.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Fail, Debug)]
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_CodeMapError`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/codemap.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Fail, Debug)]
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_CodeMapError`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 19 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0593.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lincoln_ir` (lib test) due to 20 previous errors
[INFO] running `Command { std: "docker" "inspect" "b4317a4cb106d8d9cae35c1cdc1aec02c3b4c72427580c3c431fc92706c29fab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4317a4cb106d8d9cae35c1cdc1aec02c3b4c72427580c3c431fc92706c29fab", kill_on_drop: false }`
[INFO] [stdout] b4317a4cb106d8d9cae35c1cdc1aec02c3b4c72427580c3c431fc92706c29fab
