[INFO] fetching crate lincoln_ir 0.1.0... [INFO] checking lincoln_ir-0.1.0 against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] extracting crate lincoln_ir 0.1.0 into /workspace/builds/worker-6/source [INFO] validating manifest of crates.io crate lincoln_ir 0.1.0 on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate 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-6/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cdd87179ce12af6f4585fdb64f38ed1053a79c155da58ddab4525a3278c6e601 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "cdd87179ce12af6f4585fdb64f38ed1053a79c155da58ddab4525a3278c6e601", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cdd87179ce12af6f4585fdb64f38ed1053a79c155da58ddab4525a3278c6e601", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cdd87179ce12af6f4585fdb64f38ed1053a79c155da58ddab4525a3278c6e601", kill_on_drop: false }` [INFO] [stdout] cdd87179ce12af6f4585fdb64f38ed1053a79c155da58ddab4525a3278c6e601 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 211abd02d300bcf6887ad7e1278bd149d78c8be50dae9abfddc4a1fc08d9aa51 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "211abd02d300bcf6887ad7e1278bd149d78c8be50dae9abfddc4a1fc08d9aa51", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling libc v0.2.81 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking adler v0.2.3 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking lincoln_common v0.1.0 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking regex v1.4.2 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Compiling miniz_oxide v0.4.3 [INFO] [stderr] Compiling quote v1.0.8 [INFO] [stderr] Compiling syn v1.0.56 [INFO] [stderr] Checking backtrace v0.3.55 [INFO] [stderr] Compiling synstructure v0.12.4 [INFO] [stderr] Compiling serde_derive v1.0.118 [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] warning: cannot borrow `self.coderef_map` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codemap.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 41 | let cont = self [INFO] [stdout] | ____________________- [INFO] [stdout] 42 | | .coderef_map [INFO] [stdout] | |________________________- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 45 | self.coderef_map.insert(ent, self.prog.add_jump(*cont, per)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ mutable borrow occurs here ----- immutable borrow later used here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `self.coderef_map` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codemap.rs:76:17 [INFO] [stdout] | [INFO] [stdout] 55 | let call = self [INFO] [stdout] | ____________________- [INFO] [stdout] 56 | | .coderef_map [INFO] [stdout] | |________________________- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 76 | self.coderef_map [INFO] [stdout] | ^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] 77 | .insert(ent, self.prog.add_call(call.clone(), callcnt, grp)); [INFO] [stdout] | ---- immutable borrow later used here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `self.coderef_map` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codemap.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 55 | let call = self [INFO] [stdout] | ____________________- [INFO] [stdout] 56 | | .coderef_map [INFO] [stdout] | |________________________- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 65 | self.coderef_map [INFO] [stdout] | ^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] 66 | .insert(ent, self.prog.add_call(call.clone(), callcnt, *cont)); [INFO] [stdout] | ---- immutable borrow later used here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [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:20:41 [INFO] [stdout] | [INFO] [stdout] 20 | eval: EvalFn::stateless(|p, mut c| { [INFO] [stdout] | ^--------- [INFO] [stdout] | | [INFO] [stdout] | _________________________________________takes 2 arguments [INFO] [stdout] | | [INFO] [stdout] 21 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 3); [INFO] [stdout] 22 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 2); [INFO] [stdout] 23 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 1); [INFO] [stdout] 24 | | Ok((Termination, c)) [INFO] [stdout] 25 | | }), [INFO] [stdout] | |_________________^ expected closure that takes 1 argument [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::(c.pop().unwrap(), p).unwrap(), 3); [INFO] [stdout] | ^^^^^^^^^^^^^ ---------------- - supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 1 argument [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::(c.pop().unwrap(), p).unwrap(), 2); [INFO] [stdout] | ^^^^^^^^^^^^^ ---------------- - supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 1 argument [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::(c.pop().unwrap(), p).unwrap(), 1); [INFO] [stdout] | ^^^^^^^^^^^^^ ---------------- - supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 1 argument [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [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] 19 | | name: "rec2".into(), [INFO] [stdout] 20 | | eval: EvalFn::stateless(|p, mut c| { [INFO] [stdout] 21 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 3); [INFO] [stdout] ... | [INFO] [stdout] 25 | | }), [INFO] [stdout] 26 | | }) as fn() -> ExternEntry]) [INFO] [stdout] | |______________________________________^ borrow the array with `&` or call `.iter()` on it to iterate over it [INFO] [stdout] | [INFO] [stdout] = help: the trait `Iterator` is not implemented for `[fn() -> ExternEntry; 1]` [INFO] [stdout] = note: arrays are not iterators, but slices like the following are: `&[1, 2, 3]` [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] | ^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&mut lincoln_compiled::Context`, found struct `lincoln_compiled::Context` [INFO] [stdout] | help: consider mutably borrowing here: `&mut ctx` [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 enum `lincoln_compiled::CodeRef`, found tuple [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 enum `lincoln_compiled::CodeRef`, found tuple [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 enum `lincoln_compiled::CodeRef`, found tuple [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] | _____________________________________________takes 2 arguments [INFO] [stdout] | | [INFO] [stdout] 51 | | let v = c.pop().unwrap(); [INFO] [stdout] 52 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 2); [INFO] [stdout] 53 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 1); [INFO] [stdout] 54 | | v.eval(p, c, 0) [INFO] [stdout] 55 | | }), [INFO] [stdout] | |_____________________^ expected closure that takes 1 argument [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::(c.pop().unwrap(), p).unwrap(), 2); [INFO] [stdout] | ^^^^^^^^^^^^^ ---------------- - supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 1 argument [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::(c.pop().unwrap(), p).unwrap(), 1); [INFO] [stdout] | ^^^^^^^^^^^^^ ---------------- - supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 1 argument [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] | _____________________________________________takes 2 arguments [INFO] [stdout] | | [INFO] [stdout] 60 | | assert_eq!(unwrap::(c.pop().unwrap(), p).unwrap(), 3); [INFO] [stdout] 61 | | Ok((Termination, c)) [INFO] [stdout] 62 | | }), [INFO] [stdout] | |_____________________^ expected closure that takes 1 argument [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::(c.pop().unwrap(), p).unwrap(), 3); [INFO] [stdout] | ^^^^^^^^^^^^^ ---------------- - supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 1 argument [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] 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] | |_____________^ borrow the array with `&` or call `.iter()` on it to iterate over it [INFO] [stdout] | [INFO] [stdout] = help: the trait `Iterator` is not implemented for `[fn() -> ExternEntry; 2]` [INFO] [stdout] = note: arrays are not iterators, but slices like the following are: `&[1, 2, 3]` [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] | ^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `&mut lincoln_compiled::Context`, found struct `lincoln_compiled::Context` [INFO] [stdout] | help: consider mutably borrowing here: `&mut ctx` [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 enum `lincoln_compiled::CodeRef`, found tuple [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 enum `lincoln_compiled::CodeRef`, found tuple [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 enum `lincoln_compiled::CodeRef`, found tuple [INFO] [stdout] | [INFO] [stdout] = note: expected enum `lincoln_compiled::CodeRef` [INFO] [stdout] found tuple `(_, _)` [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` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `Command { std: "docker" "inspect" "211abd02d300bcf6887ad7e1278bd149d78c8be50dae9abfddc4a1fc08d9aa51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "211abd02d300bcf6887ad7e1278bd149d78c8be50dae9abfddc4a1fc08d9aa51", kill_on_drop: false }` [INFO] [stdout] 211abd02d300bcf6887ad7e1278bd149d78c8be50dae9abfddc4a1fc08d9aa51