[INFO] fetching crate fork-tree 9.0.0... [INFO] checking fork-tree-9.0.0 against try#23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 for pr-115950 [INFO] extracting crate fork-tree 9.0.0 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate fork-tree 9.0.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 fork-tree 9.0.0 [INFO] finished tweaking crates.io crate fork-tree 9.0.0 [INFO] tweaked toml for crates.io crate fork-tree 9.0.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] b74b6cfb7359a00ee9ecf9f85a4b9845567669398a1069a58f37bf055422147a [INFO] running `Command { std: "docker" "start" "-a" "b74b6cfb7359a00ee9ecf9f85a4b9845567669398a1069a58f37bf055422147a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b74b6cfb7359a00ee9ecf9f85a4b9845567669398a1069a58f37bf055422147a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b74b6cfb7359a00ee9ecf9f85a4b9845567669398a1069a58f37bf055422147a", kill_on_drop: false }` [INFO] [stdout] b74b6cfb7359a00ee9ecf9f85a4b9845567669398a1069a58f37bf055422147a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 5ce5f69cd441483765919dbeaf1f29c4dc5b70695be190efada38fb694fc4ab1 [INFO] running `Command { std: "docker" "start" "-a" "5ce5f69cd441483765919dbeaf1f29c4dc5b70695be190efada38fb694fc4ab1", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.67 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling hashbrown v0.14.0 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling toml_datetime v0.6.3 [INFO] [stderr] Compiling winnow v0.5.15 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Checking byte-slice-cast v1.2.2 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Compiling indexmap v2.0.0 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Compiling parity-scale-codec-derive v3.6.5 [INFO] [stderr] Compiling impl-trait-for-tuples v0.2.2 [INFO] [stderr] Checking parity-scale-codec v3.6.5 [INFO] [stderr] Checking fork-tree v9.0.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0502]: cannot borrow `tree.roots` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:1336:14 [INFO] [stdout] | [INFO] [stdout] 1334 | let removed = tree.prune(&"C", &30, &is_descendent_of, &|_| true).unwrap(); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] 1335 | [INFO] [stdout] 1336 | assert_eq!(tree.roots.iter().map(|node| node.hash).collect::>(), vec!["B"]); [INFO] [stdout] | ^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1344 | removed.map(|(hash, _, _)| hash).collect::>(), [INFO] [stdout] | ------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `tree` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:1339:4 [INFO] [stdout] | [INFO] [stdout] 1334 | let removed = tree.prune(&"C", &30, &is_descendent_of, &|_| true).unwrap(); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1339 | tree.iter().map(|(hash, _, _)| *hash).collect::>(), [INFO] [stdout] | ^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1344 | removed.map(|(hash, _, _)| hash).collect::>(), [INFO] [stdout] | ------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `tree.roots` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:1350:14 [INFO] [stdout] | [INFO] [stdout] 1348 | let removed = tree.prune(&"E", &50, &is_descendent_of, &|_| true).unwrap(); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] 1349 | [INFO] [stdout] 1350 | assert_eq!(tree.roots.iter().map(|node| node.hash).collect::>(), vec!["D"]); [INFO] [stdout] | ^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1354 | assert_eq!(removed.map(|(hash, _, _)| hash).collect::>(), vec!["B", "C"]); [INFO] [stdout] | ------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `tree` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:1352:14 [INFO] [stdout] | [INFO] [stdout] 1348 | let removed = tree.prune(&"E", &50, &is_descendent_of, &|_| true).unwrap(); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1352 | assert_eq!(tree.iter().map(|(hash, _, _)| *hash).collect::>(), vec!["D", "E"]); [INFO] [stdout] | ^^^^ immutable borrow occurs here [INFO] [stdout] 1353 | [INFO] [stdout] 1354 | assert_eq!(removed.map(|(hash, _, _)| hash).collect::>(), vec!["B", "C"]); [INFO] [stdout] | ------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `tree.roots` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:1363:14 [INFO] [stdout] | [INFO] [stdout] 1361 | let removed = tree.prune(&"c", &25, &is_descendent_of, &|_| true).unwrap(); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] 1362 | [INFO] [stdout] 1363 | assert_eq!(tree.roots.iter().map(|node| node.hash).collect::>(), vec!["B"]); [INFO] [stdout] | ^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1371 | removed.map(|(hash, _, _)| hash).collect::>(), [INFO] [stdout] | ------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `tree` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:1366:4 [INFO] [stdout] | [INFO] [stdout] 1361 | let removed = tree.prune(&"c", &25, &is_descendent_of, &|_| true).unwrap(); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1366 | tree.iter().map(|(hash, _, _)| *hash).collect::>(), [INFO] [stdout] | ^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1371 | removed.map(|(hash, _, _)| hash).collect::>(), [INFO] [stdout] | ------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `tree.roots` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:1383:14 [INFO] [stdout] | [INFO] [stdout] 1381 | let removed = tree.prune(&"m", &45, &is_descendent_of, &|height| *height == 3).unwrap(); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] 1382 | [INFO] [stdout] 1383 | assert_eq!(tree.roots.iter().map(|node| node.hash).collect::>(), vec!["H"]); [INFO] [stdout] | ^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1388 | removed.map(|(hash, _, _)| hash).collect::>(), [INFO] [stdout] | ------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `tree` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:1385:14 [INFO] [stdout] | [INFO] [stdout] 1381 | let removed = tree.prune(&"m", &45, &is_descendent_of, &|height| *height == 3).unwrap(); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1385 | assert_eq!(tree.iter().map(|(hash, _, _)| *hash).collect::>(), vec!["H", "L", "M"],); [INFO] [stdout] | ^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1388 | removed.map(|(hash, _, _)| hash).collect::>(), [INFO] [stdout] | ------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `tree.roots` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:1399:14 [INFO] [stdout] | [INFO] [stdout] 1397 | let removed = tree.prune(&"m", &45, &is_descendent_of, &|height| *height == 2).unwrap(); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] 1398 | [INFO] [stdout] 1399 | assert_eq!(tree.roots.iter().map(|node| node.hash).collect::>(), vec!["F"]); [INFO] [stdout] | ^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1407 | removed.map(|(hash, _, _)| hash).collect::>(), [INFO] [stdout] | ------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `tree` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:1402:4 [INFO] [stdout] | [INFO] [stdout] 1397 | let removed = tree.prune(&"m", &45, &is_descendent_of, &|height| *height == 2).unwrap(); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1402 | tree.iter().map(|(hash, _, _)| *hash).collect::>(), [INFO] [stdout] | ^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1407 | removed.map(|(hash, _, _)| hash).collect::>(), [INFO] [stdout] | ------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `tree` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/lib.rs:1486:4 [INFO] [stdout] | [INFO] [stdout] 1483 | let removed = tree.drain_filter(filter); [INFO] [stdout] | ---- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1486 | tree.iter().map(|(h, _, _)| *h).collect::>(), [INFO] [stdout] | ^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1491 | removed.map(|(h, _, _)| h).collect::>(), [INFO] [stdout] | ------- mutable borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 11 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `fork-tree` (lib test) due to 12 previous errors [INFO] running `Command { std: "docker" "inspect" "5ce5f69cd441483765919dbeaf1f29c4dc5b70695be190efada38fb694fc4ab1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5ce5f69cd441483765919dbeaf1f29c4dc5b70695be190efada38fb694fc4ab1", kill_on_drop: false }` [INFO] [stdout] 5ce5f69cd441483765919dbeaf1f29c4dc5b70695be190efada38fb694fc4ab1