[INFO] fetching crate undo 0.49.0... [INFO] checking undo-0.49.0 against try#23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 for pr-115950 [INFO] extracting crate undo 0.49.0 into /workspace/builds/worker-6-tc2/source [INFO] validating manifest of crates.io crate undo 0.49.0 on toolchain 23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate undo 0.49.0 [INFO] finished tweaking crates.io crate undo 0.49.0 [INFO] tweaked toml for crates.io crate undo 0.49.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate crates.io crate undo 0.49.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f987c2cfe3c051d8395f4264e027036d6eb282b3c097a97662ea0ea4eebd7744 [INFO] running `Command { std: "docker" "start" "-a" "f987c2cfe3c051d8395f4264e027036d6eb282b3c097a97662ea0ea4eebd7744", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f987c2cfe3c051d8395f4264e027036d6eb282b3c097a97662ea0ea4eebd7744", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f987c2cfe3c051d8395f4264e027036d6eb282b3c097a97662ea0ea4eebd7744", kill_on_drop: false }` [INFO] [stdout] f987c2cfe3c051d8395f4264e027036d6eb282b3c097a97662ea0ea4eebd7744 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ceb6c72d08269df967d4641517bef65aa15b3f60a8902a3fac291c409c3da44b [INFO] running `Command { std: "docker" "start" "-a" "ceb6c72d08269df967d4641517bef65aa15b3f60a8902a3fac291c409c3da44b", kill_on_drop: false }` [INFO] [stderr] Checking undo v0.49.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0499]: cannot borrow `self.record` as mutable more than once at a time [INFO] [stdout] --> src/history.rs:322:21 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- first borrow later used here [INFO] [stdout] 321 | // Walk to `branch.current` either by undoing or redoing. [INFO] [stdout] 322 | let o = self.record.go_to(target, branch.parent.current); [INFO] [stdout] | ^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/history.rs:326:31 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- mutable borrow later used here [INFO] [stdout] ... [INFO] [stdout] 326 | let current = self.current(); [INFO] [stdout] | ^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0503]: cannot use `self.record.saved` because it was mutably borrowed [INFO] [stdout] --> src/history.rs:327:29 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- `*self` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- borrow later used here [INFO] [stdout] ... [INFO] [stdout] 327 | let saved = self.record.saved.filter(|&saved| saved > current); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of borrowed `*self` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.record` as mutable more than once at a time [INFO] [stdout] --> src/history.rs:328:39 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- first borrow later used here [INFO] [stdout] ... [INFO] [stdout] 328 | let (_, _, entries) = self.record.__apply(target, entry.action); [INFO] [stdout] | ^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.branches` as mutable more than once at a time [INFO] [stdout] --> src/history.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- first borrow later used here [INFO] [stdout] ... [INFO] [stdout] 330 | self.branches [INFO] [stdout] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0503]: cannot use `self.root` because it was mutably borrowed [INFO] [stdout] --> src/history.rs:331:33 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- `*self` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- borrow later used here [INFO] [stdout] ... [INFO] [stdout] 331 | .insert(self.root, Branch::new(new, current, entries)); [INFO] [stdout] | ^^^^^^^^^ use of borrowed `*self` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/history.rs:332:21 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- first borrow later used here [INFO] [stdout] ... [INFO] [stdout] 332 | self.set_root(new, current, saved); [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 7 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0499, E0502, E0503. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0499`. [INFO] [stdout] [INFO] [stderr] error: could not compile `undo` (lib) due to 8 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0499]: cannot borrow `self.record` as mutable more than once at a time [INFO] [stdout] --> src/history.rs:322:21 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- first borrow later used here [INFO] [stdout] 321 | // Walk to `branch.current` either by undoing or redoing. [INFO] [stdout] 322 | let o = self.record.go_to(target, branch.parent.current); [INFO] [stdout] | ^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/history.rs:326:31 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- mutable borrow later used here [INFO] [stdout] ... [INFO] [stdout] 326 | let current = self.current(); [INFO] [stdout] | ^^^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0503]: cannot use `self.record.saved` because it was mutably borrowed [INFO] [stdout] --> src/history.rs:327:29 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- `*self` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- borrow later used here [INFO] [stdout] ... [INFO] [stdout] 327 | let saved = self.record.saved.filter(|&saved| saved > current); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of borrowed `*self` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.record` as mutable more than once at a time [INFO] [stdout] --> src/history.rs:328:39 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- first borrow later used here [INFO] [stdout] ... [INFO] [stdout] 328 | let (_, _, entries) = self.record.__apply(target, entry.action); [INFO] [stdout] | ^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.branches` as mutable more than once at a time [INFO] [stdout] --> src/history.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- first borrow later used here [INFO] [stdout] ... [INFO] [stdout] 330 | self.branches [INFO] [stdout] | ^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0503]: cannot use `self.root` because it was mutably borrowed [INFO] [stdout] --> src/history.rs:331:33 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- `*self` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- borrow later used here [INFO] [stdout] ... [INFO] [stdout] 331 | .insert(self.root, Branch::new(new, current, entries)); [INFO] [stdout] | ^^^^^^^^^ use of borrowed `*self` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/history.rs:332:21 [INFO] [stdout] | [INFO] [stdout] 317 | let Some(path) = self.mk_path(branch) else { [INFO] [stdout] | ---- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 320 | for (new, branch) in path { [INFO] [stdout] | ---- first borrow later used here [INFO] [stdout] ... [INFO] [stdout] 332 | self.set_root(new, current, saved); [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 7 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0499, E0502, E0503. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0499`. [INFO] [stdout] [INFO] [stderr] error: could not compile `undo` (lib test) due to 8 previous errors [INFO] running `Command { std: "docker" "inspect" "ceb6c72d08269df967d4641517bef65aa15b3f60a8902a3fac291c409c3da44b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ceb6c72d08269df967d4641517bef65aa15b3f60a8902a3fac291c409c3da44b", kill_on_drop: false }` [INFO] [stdout] ceb6c72d08269df967d4641517bef65aa15b3f60a8902a3fac291c409c3da44b