[INFO] fetching crate lincoln_ir 0.1.0... [INFO] checking lincoln_ir-0.1.0 against try#e4dba30b9b475d8750370c4dfb49b6541990904d for pr-71393 [INFO] extracting crate lincoln_ir 0.1.0 into /workspace/builds/worker-11/source [INFO] validating manifest of crates.io crate lincoln_ir 0.1.0 on toolchain e4dba30b9b475d8750370c4dfb49b6541990904d [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "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-11/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lincoln_compiled v0.1.0 [INFO] [stderr] Downloaded lincoln_common v0.1.0 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] ffb3a660be8a85ec1f8a01ea7f45af01a5c3a9d40fa96c5cb3442d78a22501ef [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "ffb3a660be8a85ec1f8a01ea7f45af01a5c3a9d40fa96c5cb3442d78a22501ef"` [INFO] [stderr] Compiling syn v1.0.18 [INFO] [stderr] Compiling cc v1.0.52 [INFO] [stderr] Compiling libc v0.2.69 [INFO] [stderr] Compiling serde v1.0.106 [INFO] [stderr] Compiling failure_derive v0.1.7 [INFO] [stderr] Checking rustc-demangle v0.1.16 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking lincoln_common v0.1.0 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking regex v1.3.7 [INFO] [stderr] Compiling backtrace-sys v0.1.37 [INFO] [stderr] Checking backtrace v0.3.46 [INFO] [stderr] Compiling synstructure v0.12.3 [INFO] [stderr] Compiling serde_derive v1.0.106 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Checking failure v0.1.7 [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] | _________________________________________takes 2 arguments [INFO] [stderr] | | [INFO] [stderr] 21 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 3); [INFO] [stderr] 22 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 2); [INFO] [stderr] 23 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 1); [INFO] [stderr] 24 | | Ok((Termination, c)) [INFO] [stderr] 25 | | }), [INFO] [stderr] | |_________________^ expected closure that takes 1 argument [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 argument but 2 arguments 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] | ^^^^^^^^^^^^^ ---------------- - supplied 2 arguments [INFO] [stderr] | | [INFO] [stderr] | expected 1 argument [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 argument but 2 arguments 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] | ^^^^^^^^^^^^^ ---------------- - supplied 2 arguments [INFO] [stderr] | | [INFO] [stderr] | expected 1 argument [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 argument but 2 arguments 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] | ^^^^^^^^^^^^^ ---------------- - supplied 2 arguments [INFO] [stderr] | | [INFO] [stderr] | expected 1 argument [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 `&mut lincoln_compiled::value::Context`, found struct `lincoln_compiled::value::Context` [INFO] [stderr] | help: consider mutably borrowing here: `&mut ctx` [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] | ^^^^^^^^^^^ ------------------------------- this expression has type `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] | | [INFO] [stderr] | expected enum `lincoln_compiled::coderef::CodeRef`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected enum `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] found tuple `(_, _)` [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] | ^^^^^^^^^^^ ------------------------------- this expression has type `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] | | [INFO] [stderr] | expected enum `lincoln_compiled::coderef::CodeRef`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected enum `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] found tuple `(_, _)` [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] | ^^^^^^^^^^^ ------------------------------- this expression has type `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] | | [INFO] [stderr] | expected enum `lincoln_compiled::coderef::CodeRef`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected enum `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] found tuple `(_, _)` [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] | _____________________________________________takes 2 arguments [INFO] [stderr] | | [INFO] [stderr] 51 | | let v = c.pop().unwrap(); [INFO] [stderr] 52 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 2); [INFO] [stderr] 53 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 1); [INFO] [stderr] 54 | | v.eval(p, c, 0) [INFO] [stderr] 55 | | }), [INFO] [stderr] | |_____________________^ expected closure that takes 1 argument [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 argument but 2 arguments 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] | ^^^^^^^^^^^^^ ---------------- - supplied 2 arguments [INFO] [stderr] | | [INFO] [stderr] | expected 1 argument [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 argument but 2 arguments 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] | ^^^^^^^^^^^^^ ---------------- - supplied 2 arguments [INFO] [stderr] | | [INFO] [stderr] | expected 1 argument [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] | _____________________________________________takes 2 arguments [INFO] [stderr] | | [INFO] [stderr] 60 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 3); [INFO] [stderr] 61 | | Ok((Termination, c)) [INFO] [stderr] 62 | | }), [INFO] [stderr] | |_____________________^ expected closure that takes 1 argument [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 argument but 2 arguments 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] | ^^^^^^^^^^^^^ ---------------- - supplied 2 arguments [INFO] [stderr] | | [INFO] [stderr] | expected 1 argument [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 `&mut lincoln_compiled::value::Context`, found struct `lincoln_compiled::value::Context` [INFO] [stderr] | help: consider mutably borrowing here: `&mut ctx` [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] | ^^^^^^^^^^^ ------------------------------- this expression has type `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] | | [INFO] [stderr] | expected enum `lincoln_compiled::coderef::CodeRef`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected enum `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] found tuple `(_, _)` [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] | ^^^^^^^^^^^ ------------------------------- this expression has type `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] | | [INFO] [stderr] | expected enum `lincoln_compiled::coderef::CodeRef`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected enum `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] found tuple `(_, _)` [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] | ^^^^^^^^^^^ ------------------------------- this expression has type `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] | | [INFO] [stderr] | expected enum `lincoln_compiled::coderef::CodeRef`, found tuple [INFO] [stderr] | [INFO] [stderr] = note: expected enum `lincoln_compiled::coderef::CodeRef` [INFO] [stderr] found tuple `(_, _)` [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] [INFO] [stderr] To learn more, run the command again with --verbose. [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: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] 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: 3 warnings emitted [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "ffb3a660be8a85ec1f8a01ea7f45af01a5c3a9d40fa96c5cb3442d78a22501ef"` [INFO] running `"docker" "rm" "-f" "ffb3a660be8a85ec1f8a01ea7f45af01a5c3a9d40fa96c5cb3442d78a22501ef"` [INFO] [stdout] ffb3a660be8a85ec1f8a01ea7f45af01a5c3a9d40fa96c5cb3442d78a22501ef