[INFO] cloning repository https://github.com/Jovasa/AoC2020 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Jovasa/AoC2020" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJovasa%2FAoC2020", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJovasa%2FAoC2020'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a82d22b4389da71d425a2c939e6dab84530f4ef9 [INFO] checking Jovasa/AoC2020 against master#9503ea19edbf01b9435e80e17d60ce1b88390116 for pr-81782 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJovasa%2FAoC2020" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Jovasa/AoC2020 on toolchain 9503ea19edbf01b9435e80e17d60ce1b88390116 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+9503ea19edbf01b9435e80e17d60ce1b88390116" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Jovasa/AoC2020 [INFO] finished tweaking git repo https://github.com/Jovasa/AoC2020 [INFO] tweaked toml for git repo https://github.com/Jovasa/AoC2020 written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/Jovasa/AoC2020 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+9503ea19edbf01b9435e80e17d60ce1b88390116" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [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:21f1ed92105a0ef9b0d27ad8bdeb7f36f9f01ac17fffe3a3f3dc5241fc25d8f4" "/opt/rustwide/cargo-home/bin/cargo" "+9503ea19edbf01b9435e80e17d60ce1b88390116" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1a69d1377e532fc0f699de136f8240bd5e7078d0f353eef6e8226a364f7424a0 [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" "1a69d1377e532fc0f699de136f8240bd5e7078d0f353eef6e8226a364f7424a0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1a69d1377e532fc0f699de136f8240bd5e7078d0f353eef6e8226a364f7424a0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1a69d1377e532fc0f699de136f8240bd5e7078d0f353eef6e8226a364f7424a0", kill_on_drop: false }` [INFO] [stdout] 1a69d1377e532fc0f699de136f8240bd5e7078d0f353eef6e8226a364f7424a0 [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:21f1ed92105a0ef9b0d27ad8bdeb7f36f9f01ac17fffe3a3f3dc5241fc25d8f4" "/opt/rustwide/cargo-home/bin/cargo" "+9503ea19edbf01b9435e80e17d60ce1b88390116" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0aade4b78a752ca0e2d366d1f46aa1a6a1b2000829048d2a42d21e90335a22b1 [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" "0aade4b78a752ca0e2d366d1f46aa1a6a1b2000829048d2a42d21e90335a22b1", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.54 [INFO] [stderr] Compiling unicode-segmentation v1.7.1 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking regex-syntax v0.6.21 [INFO] [stderr] Checking strum v0.20.0 [INFO] [stderr] Checking itertools v0.9.0 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Checking aho-corasick v0.7.15 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Checking regex v1.4.2 [INFO] [stderr] Compiling strum_macros v0.20.1 [INFO] [stderr] Checking aoc2020 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/day7.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | self.can_contain_this.push(&other); [INFO] [stdout] | ^^^^^^ lifetime mismatch [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Bag<'_>` [INFO] [stdout] found reference `&Bag<'_>` [INFO] [stdout] note: the anonymous lifetime #2 defined on the method body at 23:5... [INFO] [stdout] --> src/day7.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | fn add_upper(&mut self, other: Bag<'_>){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: ...does not necessarily outlive the lifetime `'_` as defined on the impl at 15:10 [INFO] [stdout] --> src/day7.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | impl Bag<'_> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for borrow expression due to conflicting requirements [INFO] [stdout] --> src/day7.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | self.can_contain_this.push(&other); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime #2 defined on the method body at 23:5... [INFO] [stdout] --> src/day7.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | fn add_upper(&mut self, other: Bag<'_>){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: ...so that the type `Bag<'_>` is not borrowed for too long [INFO] [stdout] --> src/day7.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | self.can_contain_this.push(&other); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] note: but, the lifetime must be valid for the lifetime `'_` as defined on the impl at 15:10... [INFO] [stdout] --> src/day7.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | impl Bag<'_> { [INFO] [stdout] | ^^ [INFO] [stdout] note: ...so that reference does not outlive borrowed content [INFO] [stdout] --> src/day7.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | self.can_contain_this.push(&other); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day20.rs:62:16 [INFO] [stdout] | [INFO] [stdout] 62 | fn match_edges(mut first: TileRef, mut other: TileRef) -> bool { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day20.rs:62:36 [INFO] [stdout] | [INFO] [stdout] 62 | fn match_edges(mut first: TileRef, mut other: TileRef) -> bool { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of dereference of `Ref<'_, Tile>` [INFO] [stdout] --> src/day20.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | if first.borrow().get_edge(&my_edge) == other.borrow().get_edge(&other_edge) { [INFO] [stdout] | ^^^^^^^^^^^^^^ move occurs because value has type `Tile`, which does not implement the `Copy` trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of dereference of `Ref<'_, Tile>` [INFO] [stdout] --> src/day20.rs:73:53 [INFO] [stdout] | [INFO] [stdout] 73 | if first.borrow().get_edge(&my_edge) == other.borrow().get_edge(&other_edge) { [INFO] [stdout] | ^^^^^^^^^^^^^^ move occurs because value has type `Tile`, which does not implement the `Copy` trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `other` [INFO] [stdout] --> src/day20.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 62 | fn match_edges(mut first: TileRef, mut other: TileRef) -> bool { [INFO] [stdout] | --------- move occurs because `other` has type `Rc>`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 74 | first.borrow_mut().neighbors.insert(my_edge, Some(other)); [INFO] [stdout] | ----- value moved here [INFO] [stdout] 75 | other.borrow_mut().neighbors.insert(other_edge, Some(first)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ value borrowed here after move [INFO] [stdout] | [INFO] [stdout] = note: borrow occurs due to deref coercion to `RefCell` [INFO] [stdout] note: deref defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0382, E0507. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0382`. [INFO] [stdout] [INFO] [stderr] error: could not compile `aoc2020` [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] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/day7.rs:59:28 [INFO] [stdout] | [INFO] [stdout] 59 | temp.add_upper(t); [INFO] [stdout] | ^ expected struct `Bag`, found `&Bag<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0495. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stdout] warning: function is never used: `first` [INFO] [stdout] --> src/day14.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn first() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day20.rs:62:16 [INFO] [stdout] | [INFO] [stdout] 62 | fn match_edges(mut first: TileRef, mut other: TileRef) -> bool { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/day20.rs:62:36 [INFO] [stdout] | [INFO] [stdout] 62 | fn match_edges(mut first: TileRef, mut other: TileRef) -> bool { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of dereference of `Ref<'_, Tile>` [INFO] [stdout] --> src/day20.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | if first.borrow().get_edge(&my_edge) == other.borrow().get_edge(&other_edge) { [INFO] [stdout] | ^^^^^^^^^^^^^^ move occurs because value has type `Tile`, which does not implement the `Copy` trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of dereference of `Ref<'_, Tile>` [INFO] [stdout] --> src/day20.rs:73:53 [INFO] [stdout] | [INFO] [stdout] 73 | if first.borrow().get_edge(&my_edge) == other.borrow().get_edge(&other_edge) { [INFO] [stdout] | ^^^^^^^^^^^^^^ move occurs because value has type `Tile`, which does not implement the `Copy` trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `other` [INFO] [stdout] --> src/day20.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 62 | fn match_edges(mut first: TileRef, mut other: TileRef) -> bool { [INFO] [stdout] | --------- move occurs because `other` has type `Rc>`, which does not implement the `Copy` trait [INFO] [stdout] ... [INFO] [stdout] 74 | first.borrow_mut().neighbors.insert(my_edge, Some(other)); [INFO] [stdout] | ----- value moved here [INFO] [stdout] 75 | other.borrow_mut().neighbors.insert(other_edge, Some(first)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ value borrowed here after move [INFO] [stdout] | [INFO] [stdout] = note: borrow occurs due to deref coercion to `RefCell` [INFO] [stdout] note: deref defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0382, E0507. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0382`. [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/day7.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | self.can_contain_this.push(&other); [INFO] [stdout] | ^^^^^^ lifetime mismatch [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Bag<'_>` [INFO] [stdout] found reference `&Bag<'_>` [INFO] [stdout] note: the anonymous lifetime #2 defined on the method body at 23:5... [INFO] [stdout] --> src/day7.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | fn add_upper(&mut self, other: Bag<'_>){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: ...does not necessarily outlive the lifetime `'_` as defined on the impl at 15:10 [INFO] [stdout] --> src/day7.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | impl Bag<'_> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for borrow expression due to conflicting requirements [INFO] [stdout] --> src/day7.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | self.can_contain_this.push(&other); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime #2 defined on the method body at 23:5... [INFO] [stdout] --> src/day7.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | fn add_upper(&mut self, other: Bag<'_>){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: ...so that the type `Bag<'_>` is not borrowed for too long [INFO] [stdout] --> src/day7.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | self.can_contain_this.push(&other); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] note: but, the lifetime must be valid for the lifetime `'_` as defined on the impl at 15:10... [INFO] [stdout] --> src/day7.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | impl Bag<'_> { [INFO] [stdout] | ^^ [INFO] [stdout] note: ...so that reference does not outlive borrowed content [INFO] [stdout] --> src/day7.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | self.can_contain_this.push(&other); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/day16.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | k.advance_by(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/day7.rs:59:28 [INFO] [stdout] | [INFO] [stdout] 59 | temp.add_upper(t); [INFO] [stdout] | ^ expected struct `Bag`, found `&Bag<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0495. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "0aade4b78a752ca0e2d366d1f46aa1a6a1b2000829048d2a42d21e90335a22b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0aade4b78a752ca0e2d366d1f46aa1a6a1b2000829048d2a42d21e90335a22b1", kill_on_drop: false }` [INFO] [stdout] 0aade4b78a752ca0e2d366d1f46aa1a6a1b2000829048d2a42d21e90335a22b1