[INFO] fetching crate lincoln_ir 0.1.0... [INFO] checking lincoln_ir-0.1.0 against master#2748a9fd93dd1a00a4521f4f16de5befbf77f6cd for pr-62262-1 [INFO] extracting crate lincoln_ir 0.1.0 into /workspace/builds/worker-4/source [INFO] validating manifest of crates.io crate lincoln_ir 0.1.0 on toolchain 2748a9fd93dd1a00a4521f4f16de5befbf77f6cd [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "read-manifest" "--manifest-path" "Cargo.toml"` [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-4/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "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] e2176e4d5c3677cab4e065aefbfe0e7580d690a58ca2ea982f73f0483799be5c [INFO] running `"docker" "start" "-a" "e2176e4d5c3677cab4e065aefbfe0e7580d690a58ca2ea982f73f0483799be5c"` [INFO] [stderr] Checking lincoln_common v0.1.0 [INFO] [stderr] Checking smallvec v0.6.10 [INFO] [stderr] Checking lincoln_compiled v0.1.0 [INFO] [stderr] Checking lincoln_ir v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] error[E0593]: closure is expected to take 1 argument, but it takes 2 arguments [INFO] [stderr] --> src/tests.rs:20:41 [INFO] [stderr] | [INFO] [stderr] 20 | eval: EvalFn::stateless(|p, mut c| { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected closure that takes 1 argument [INFO] [stderr] | takes 2 arguments [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/tests.rs:21:32 [INFO] [stderr] | [INFO] [stderr] 21 | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/tests.rs:22:32 [INFO] [stderr] | [INFO] [stderr] 22 | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/tests.rs:23:32 [INFO] [stderr] | [INFO] [stderr] 23 | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0277]: `[fn() -> lincoln_compiled::entries::ExternEntry; 1]` is not an iterator [INFO] [stderr] --> src/tests.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | .compile([(|| ExternEntry::Eval { [INFO] [stderr] | ______________________^ [INFO] [stderr] 19 | | name: "rec2".into(), [INFO] [stderr] 20 | | eval: EvalFn::stateless(|p, mut c| { [INFO] [stderr] 21 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 3); [INFO] [stderr] ... | [INFO] [stderr] 25 | | }), [INFO] [stderr] 26 | | }) as fn() -> ExternEntry]) [INFO] [stderr] | |______________________________________^ borrow the array with `&` or call `.iter()` on it to iterate over it [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::Iterator` is not implemented for `[fn() -> lincoln_compiled::entries::ExternEntry; 1]` [INFO] [stderr] = note: arrays are not iterators, but slices like the following are: `&[1, 2, 3]` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tests.rs:33:38 [INFO] [stderr] | [INFO] [stderr] 33 | let (next, ctx) = cprog.eval(ctx, &next).unwrap(); [INFO] [stderr] | ^^^ [INFO] [stderr] | | [INFO] [stderr] | expected mutable reference, found struct `lincoln_compiled::value::Context` [INFO] [stderr] | help: consider mutably borrowing here: `&mut ctx` [INFO] [stderr] | [INFO] [stderr] = note: expected type `&mut lincoln_compiled::value::Context` [INFO] [stderr] found type `lincoln_compiled::value::Context` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tests.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | let (next, ctx) = cprog.eval(ctx, &next).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ expected enum `lincoln_compiled::coderef::CodeRef`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected type `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] found type `(_, _)` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tests.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | let (next, ctx) = cprog.eval(ctx, &next).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ expected enum `lincoln_compiled::coderef::CodeRef`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected type `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] found type `(_, _)` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tests.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | let (next, ctx) = cprog.eval(ctx, &next).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ expected enum `lincoln_compiled::coderef::CodeRef`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected type `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] found type `(_, _)` [INFO] [stderr] [INFO] [stderr] error[E0593]: closure is expected to take 1 argument, but it takes 2 arguments [INFO] [stderr] --> src/tests.rs:50:45 [INFO] [stderr] | [INFO] [stderr] 50 | eval: EvalFn::stateless(|p, mut c| { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected closure that takes 1 argument [INFO] [stderr] | takes 2 arguments [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/tests.rs:52:36 [INFO] [stderr] | [INFO] [stderr] 52 | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/tests.rs:53:36 [INFO] [stderr] | [INFO] [stderr] 53 | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0593]: closure is expected to take 1 argument, but it takes 2 arguments [INFO] [stderr] --> src/tests.rs:59:45 [INFO] [stderr] | [INFO] [stderr] 59 | eval: EvalFn::stateless(|p, mut c| { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected closure that takes 1 argument [INFO] [stderr] | takes 2 arguments [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 2 parameters were supplied [INFO] [stderr] --> src/tests.rs:60:36 [INFO] [stderr] | [INFO] [stderr] 60 | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0277]: `[fn() -> lincoln_compiled::entries::ExternEntry; 2]` is not an iterator [INFO] [stderr] --> src/tests.rs:47:22 [INFO] [stderr] | [INFO] [stderr] 47 | .compile([ [INFO] [stderr] | ______________________^ [INFO] [stderr] 48 | | || ExternEntry::Eval { [INFO] [stderr] 49 | | name: "rec1".into(), [INFO] [stderr] 50 | | eval: EvalFn::stateless(|p, mut c| { [INFO] [stderr] ... | [INFO] [stderr] 63 | | }) as fn() -> ExternEntry, [INFO] [stderr] 64 | | ]) [INFO] [stderr] | |_____________^ borrow the array with `&` or call `.iter()` on it to iterate over it [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::Iterator` is not implemented for `[fn() -> lincoln_compiled::entries::ExternEntry; 2]` [INFO] [stderr] = note: arrays are not iterators, but slices like the following are: `&[1, 2, 3]` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tests.rs:72:38 [INFO] [stderr] | [INFO] [stderr] 72 | let (next, ctx) = cprog.eval(ctx, &next).unwrap(); [INFO] [stderr] | ^^^ [INFO] [stderr] | | [INFO] [stderr] | expected mutable reference, found struct `lincoln_compiled::value::Context` [INFO] [stderr] | help: consider mutably borrowing here: `&mut ctx` [INFO] [stderr] | [INFO] [stderr] = note: expected type `&mut lincoln_compiled::value::Context` [INFO] [stderr] found type `lincoln_compiled::value::Context` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tests.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | let (next, ctx) = cprog.eval(ctx, &next).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ expected enum `lincoln_compiled::coderef::CodeRef`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected type `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] found type `(_, _)` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tests.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | let (next, ctx) = cprog.eval(ctx, &next).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ expected enum `lincoln_compiled::coderef::CodeRef`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected type `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] found type `(_, _)` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/tests.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | let (next, ctx) = cprog.eval(ctx, &next).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ expected enum `lincoln_compiled::coderef::CodeRef`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected type `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] found type `(_, _)` [INFO] [stderr] [INFO] [stderr] error: aborting due to 19 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0061, E0277, E0308, E0593. [INFO] [stderr] For more information about an error, try `rustc --explain E0061`. [INFO] [stderr] error: could not compile `lincoln_ir`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: cannot borrow `self.coderef_map` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/codemap.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 41 | let cont = self [INFO] [stderr] | ____________________- [INFO] [stderr] 42 | | .coderef_map [INFO] [stderr] | |________________________- immutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 45 | self.coderef_map.insert(ent, self.prog.add_jump(*cont, per)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable borrow occurs here ----- immutable borrow later used here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `self.coderef_map` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/codemap.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 55 | let call = self [INFO] [stderr] | ____________________- [INFO] [stderr] 56 | | .coderef_map [INFO] [stderr] | |________________________- immutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 65 | self.coderef_map [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stderr] 66 | .insert(ent, self.prog.add_call(call.clone(), callcnt, *cont)); [INFO] [stderr] | ---- immutable borrow later used here [INFO] [stderr] | [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `self.coderef_map` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/codemap.rs:76:17 [INFO] [stderr] | [INFO] [stderr] 55 | let call = self [INFO] [stderr] | ____________________- [INFO] [stderr] 56 | | .coderef_map [INFO] [stderr] | |________________________- immutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 76 | self.coderef_map [INFO] [stderr] | ^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stderr] 77 | .insert(ent, self.prog.add_call(call.clone(), callcnt, grp)); [INFO] [stderr] | ---- immutable borrow later used here [INFO] [stderr] | [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "e2176e4d5c3677cab4e065aefbfe0e7580d690a58ca2ea982f73f0483799be5c"` [INFO] running `"docker" "rm" "-f" "e2176e4d5c3677cab4e065aefbfe0e7580d690a58ca2ea982f73f0483799be5c"` [INFO] [stdout] e2176e4d5c3677cab4e065aefbfe0e7580d690a58ca2ea982f73f0483799be5c