[INFO] cloning repository https://github.com/MilkBlock/ruadag
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MilkBlock/ruadag" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMilkBlock%2Fruadag", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMilkBlock%2Fruadag'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0ecc5560fdfe286335f40f1a646c9138d21d0f21
[INFO] testing MilkBlock/ruadag against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMilkBlock%2Fruadag" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/MilkBlock/ruadag
[INFO] finished tweaking git repo https://github.com/MilkBlock/ruadag
[INFO] tweaked toml for git repo https://github.com/MilkBlock/ruadag written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MilkBlock/ruadag on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MilkBlock/ruadag 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_derive v1.0.226
[INFO] [stderr]   Downloaded unicode-ident v1.0.19
[INFO] [stderr]   Downloaded ryu v1.0.20
[INFO] [stderr]   Downloaded itoa v1.0.15
[INFO] [stderr]   Downloaded proc-macro2 v1.0.101
[INFO] [stderr]   Downloaded log v0.4.28
[INFO] [stderr]   Downloaded indexmap v2.11.4
[INFO] [stderr]   Downloaded serde_core v1.0.226
[INFO] [stderr]   Downloaded serde_json v1.0.145
[INFO] [stderr]   Downloaded memchr v2.7.5
[INFO] [stderr]   Downloaded fixedbitset v0.4.2
[INFO] [stderr]   Downloaded serde v1.0.226
[INFO] [stderr]   Downloaded derive_more-impl v2.0.1
[INFO] [stderr]   Downloaded hashbrown v0.16.0
[INFO] [stderr]   Downloaded syn v2.0.106
[INFO] [stderr]   Downloaded derive_more v2.0.1
[INFO] [stderr]   Downloaded petgraph v0.6.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9bbeed0beefaa1a8f37c4b820f990beffc2920303e3588cd7c35f0adb8dac28c
[INFO] running `Command { std: "docker" "start" "-a" "9bbeed0beefaa1a8f37c4b820f990beffc2920303e3588cd7c35f0adb8dac28c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9bbeed0beefaa1a8f37c4b820f990beffc2920303e3588cd7c35f0adb8dac28c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9bbeed0beefaa1a8f37c4b820f990beffc2920303e3588cd7c35f0adb8dac28c", kill_on_drop: false }`
[INFO] [stdout] 9bbeed0beefaa1a8f37c4b820f990beffc2920303e3588cd7c35f0adb8dac28c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1382d76d9946e67f04a8c33f8b87ad675d7a0306bcfe87e9b78466c0ba42a6f1
[INFO] running `Command { std: "docker" "start" "-a" "1382d76d9946e67f04a8c33f8b87ad675d7a0306bcfe87e9b78466c0ba42a6f1", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling serde_core v1.0.226
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling serde v1.0.226
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.226
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling dagviz v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `indexmap::IndexMap`
[INFO] [stdout]   --> src/layout.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use indexmap::IndexMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdgeLabel`, `Edge`, and `NodeLabel`
[INFO] [stdout]  --> src/order/barycenter.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::types::{Edge, EdgeLabel, NodeLabel};
[INFO] [stdout]   |                    ^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]   --> src/acyclic.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 |         stack.remove(&v);
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> src/acyclic.rs:326:15
[INFO] [stdout]     |
[INFO] [stdout] 326 |     rec_stack.remove(&node);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> src/acyclic.rs:381:15
[INFO] [stdout]     |
[INFO] [stdout] 381 |     rec_stack.remove(&node);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> src/rank/util.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 |     rec_stack.remove(&node_id);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buckets`
[INFO] [stdout]    --> src/acyclic.rs:133:37
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn do_greedy_fas(g: &mut Graph, buckets: &mut [Vec<FasEntry>], zero_idx: usize) -> Vec<Edge> {
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buckets`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zero_idx`
[INFO] [stdout]    --> src/acyclic.rs:133:68
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn do_greedy_fas(g: &mut Graph, buckets: &mut [Vec<FasEntry>], zero_idx: usize) -> Vec<Edge> {
[INFO] [stdout]     |                                                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zero_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buckets`
[INFO] [stdout]    --> src/acyclic.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |         buckets: &mut [Vec<FasEntry>],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buckets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zero_idx`
[INFO] [stdout]    --> src/acyclic.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |         zero_idx: usize,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zero_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> src/acyclic.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |             if let Some(weight) = g.edge_label(&edge).map(|l| l.weight) {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> src/acyclic.rs:186:25
[INFO] [stdout]     |
[INFO] [stdout] 186 |             if let Some(weight) = g.edge_label(&edge).map(|l| l.weight) {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `remove_node` is never used
[INFO] [stdout]    --> src/acyclic.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl Acyclic {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn remove_node(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v`, `in_weight`, and `out_weight` are never read
[INFO] [stdout]    --> src/acyclic.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct FasEntry {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 279 |     v: crate::graph::NodeIndex,
[INFO] [stdout]     |     ^
[INFO] [stdout] 280 |     in_weight: f64,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 281 |     out_weight: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FasEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_node_index` and `as_node_index` are never used
[INFO] [stdout]    --> src/graph.rs:547:8
[INFO] [stdout]     |
[INFO] [stdout] 524 | impl NodeIndex {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 547 |     fn from_node_index(node_index: petgraph::prelude::NodeIndex) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 555 |     fn as_node_index(&self) -> petgraph::prelude::NodeIndex {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `i` is never read
[INFO] [stdout]    --> src/order/sort_subgraph.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | struct ResolvedEntry {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] 148 |     vs: Vec<NodeIndex>,
[INFO] [stdout] 149 |     i: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResolvedEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `topological_sort` is never used
[INFO] [stdout]    --> src/rank/util.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn topological_sort(graph: &Graph) -> Vec<NodeIndex> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.43s
[INFO] running `Command { std: "docker" "inspect" "1382d76d9946e67f04a8c33f8b87ad675d7a0306bcfe87e9b78466c0ba42a6f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1382d76d9946e67f04a8c33f8b87ad675d7a0306bcfe87e9b78466c0ba42a6f1", kill_on_drop: false }`
[INFO] [stdout] 1382d76d9946e67f04a8c33f8b87ad675d7a0306bcfe87e9b78466c0ba42a6f1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f208643d48311f5508d79fd175a146ce0cefc19469a5d5e5f7e877947fdd5b35
[INFO] running `Command { std: "docker" "start" "-a" "f208643d48311f5508d79fd175a146ce0cefc19469a5d5e5f7e877947fdd5b35", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `indexmap::IndexMap`
[INFO] [stdout]   --> src/layout.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use indexmap::IndexMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdgeLabel`, `Edge`, and `NodeLabel`
[INFO] [stdout]  --> src/order/barycenter.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::types::{Edge, EdgeLabel, NodeLabel};
[INFO] [stdout]   |                    ^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]   --> src/acyclic.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 |         stack.remove(&v);
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> src/acyclic.rs:326:15
[INFO] [stdout]     |
[INFO] [stdout] 326 |     rec_stack.remove(&node);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> src/acyclic.rs:381:15
[INFO] [stdout]     |
[INFO] [stdout] 381 |     rec_stack.remove(&node);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> src/rank/util.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 |     rec_stack.remove(&node_id);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buckets`
[INFO] [stdout]    --> src/acyclic.rs:133:37
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn do_greedy_fas(g: &mut Graph, buckets: &mut [Vec<FasEntry>], zero_idx: usize) -> Vec<Edge> {
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buckets`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zero_idx`
[INFO] [stdout]    --> src/acyclic.rs:133:68
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn do_greedy_fas(g: &mut Graph, buckets: &mut [Vec<FasEntry>], zero_idx: usize) -> Vec<Edge> {
[INFO] [stdout]     |                                                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zero_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buckets`
[INFO] [stdout]    --> src/acyclic.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |         buckets: &mut [Vec<FasEntry>],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buckets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zero_idx`
[INFO] [stdout]    --> src/acyclic.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |         zero_idx: usize,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zero_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> src/acyclic.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |             if let Some(weight) = g.edge_label(&edge).map(|l| l.weight) {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> src/acyclic.rs:186:25
[INFO] [stdout]     |
[INFO] [stdout] 186 |             if let Some(weight) = g.edge_label(&edge).map(|l| l.weight) {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `remove_node` is never used
[INFO] [stdout]    --> src/acyclic.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl Acyclic {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn remove_node(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v`, `in_weight`, and `out_weight` are never read
[INFO] [stdout]    --> src/acyclic.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct FasEntry {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 279 |     v: crate::graph::NodeIndex,
[INFO] [stdout]     |     ^
[INFO] [stdout] 280 |     in_weight: f64,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 281 |     out_weight: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FasEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_node_index` and `as_node_index` are never used
[INFO] [stdout]    --> src/graph.rs:547:8
[INFO] [stdout]     |
[INFO] [stdout] 524 | impl NodeIndex {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 547 |     fn from_node_index(node_index: petgraph::prelude::NodeIndex) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 555 |     fn as_node_index(&self) -> petgraph::prelude::NodeIndex {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling dagviz v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `i` is never read
[INFO] [stdout]    --> src/order/sort_subgraph.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | struct ResolvedEntry {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] 148 |     vs: Vec<NodeIndex>,
[INFO] [stdout] 149 |     i: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResolvedEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `topological_sort` is never used
[INFO] [stdout]    --> src/rank/util.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn topological_sort(graph: &Graph) -> Vec<NodeIndex> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dagviz::graph::NodeIndex`
[INFO] [stdout]  --> examples/debug_edge_tracking.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use dagviz::graph::NodeIndex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dagviz::graph::NodeIndex`
[INFO] [stdout]  --> examples/debug_rank_flow.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use dagviz::graph::NodeIndex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dagviz::layout`
[INFO] [stdout]  --> examples/debug_rank_flow.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use dagviz::layout;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `indexmap::IndexMap`
[INFO] [stdout]   --> src/layout.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use indexmap::IndexMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdgeLabel`, `Edge`, and `NodeLabel`
[INFO] [stdout]  --> src/order/barycenter.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::types::{Edge, EdgeLabel, NodeLabel};
[INFO] [stdout]   |                    ^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]   --> src/acyclic.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 |         stack.remove(&v);
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> src/acyclic.rs:326:15
[INFO] [stdout]     |
[INFO] [stdout] 326 |     rec_stack.remove(&node);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> src/acyclic.rs:381:15
[INFO] [stdout]     |
[INFO] [stdout] 381 |     rec_stack.remove(&node);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dagviz::graph::NodeIndex`
[INFO] [stdout]  --> examples/debug_network_simplex.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use dagviz::graph::NodeIndex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dagviz::graph::NodeIndex`
[INFO] [stdout]  --> examples/debug_position_rank.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use dagviz::graph::NodeIndex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stdout]    --> src/rank/util.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 |     rec_stack.remove(&node_id);
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_to_new`
[INFO] [stdout]   --> examples/debug_position_rank.rs:29:32
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let (mut simplified_graph, old_to_new) = util::as_non_compound_graph(&g);
[INFO] [stdout]    |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_to_new`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buckets`
[INFO] [stdout]    --> src/acyclic.rs:133:37
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn do_greedy_fas(g: &mut Graph, buckets: &mut [Vec<FasEntry>], zero_idx: usize) -> Vec<Edge> {
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buckets`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zero_idx`
[INFO] [stdout]    --> src/acyclic.rs:133:68
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn do_greedy_fas(g: &mut Graph, buckets: &mut [Vec<FasEntry>], zero_idx: usize) -> Vec<Edge> {
[INFO] [stdout]     |                                                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zero_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buckets`
[INFO] [stdout]    --> src/acyclic.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |         buckets: &mut [Vec<FasEntry>],
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buckets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zero_idx`
[INFO] [stdout]    --> src/acyclic.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |         zero_idx: usize,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zero_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> src/acyclic.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |             if let Some(weight) = g.edge_label(&edge).map(|l| l.weight) {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> src/acyclic.rs:186:25
[INFO] [stdout]     |
[INFO] [stdout] 186 |             if let Some(weight) = g.edge_label(&edge).map(|l| l.weight) {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_test_graph` is never used
[INFO] [stdout]  --> tests/acyclic_tests.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn setup_test_graph() -> Graph {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dagviz::graph::NodeIndex`
[INFO] [stdout]  --> examples/debug_as_non_compound_graph.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use dagviz::graph::NodeIndex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EdgeLabel` and `Edge`
[INFO] [stdout]  --> tests/util/util_tests.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use dagviz::types::{Edge, EdgeLabel, NodeLabel};
[INFO] [stdout]   |                     ^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `remove_node` is never used
[INFO] [stdout]    --> src/acyclic.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl Acyclic {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn remove_node(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v`, `in_weight`, and `out_weight` are never read
[INFO] [stdout]    --> src/acyclic.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct FasEntry {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 279 |     v: crate::graph::NodeIndex,
[INFO] [stdout]     |     ^
[INFO] [stdout] 280 |     in_weight: f64,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 281 |     out_weight: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FasEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_node_index` and `as_node_index` are never used
[INFO] [stdout]    --> src/graph.rs:547:8
[INFO] [stdout]     |
[INFO] [stdout] 524 | impl NodeIndex {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 547 |     fn from_node_index(node_index: petgraph::prelude::NodeIndex) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 555 |     fn as_node_index(&self) -> petgraph::prelude::NodeIndex {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `i` is never read
[INFO] [stdout]    --> src/order/sort_subgraph.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | struct ResolvedEntry {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] 148 |     vs: Vec<NodeIndex>,
[INFO] [stdout] 149 |     i: usize,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResolvedEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `topological_sort` is never used
[INFO] [stdout]    --> src/rank/util.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn topological_sort(graph: &Graph) -> Vec<NodeIndex> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> tests/layout/layout_tests.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |     let a = g.add_node(NodeLabel {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> tests/order/order_tests.rs:505:9
[INFO] [stdout]     |
[INFO] [stdout] 505 |     let a = g.add_node(NodeLabel {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_test_graph` is never used
[INFO] [stdout]  --> tests/acyclic_tests.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn setup_test_graph() -> Graph {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.75s
[INFO] running `Command { std: "docker" "inspect" "f208643d48311f5508d79fd175a146ce0cefc19469a5d5e5f7e877947fdd5b35", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f208643d48311f5508d79fd175a146ce0cefc19469a5d5e5f7e877947fdd5b35", kill_on_drop: false }`
[INFO] [stdout] f208643d48311f5508d79fd175a146ce0cefc19469a5d5e5f7e877947fdd5b35
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d9b5e686015f6449856d22e640bc3d0eb52552332f6e92a1e6e5e374b7c1da10
[INFO] running `Command { std: "docker" "start" "-a" "d9b5e686015f6449856d22e640bc3d0eb52552332f6e92a1e6e5e374b7c1da10", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `indexmap::IndexMap`
[INFO] [stderr]   --> src/layout.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use indexmap::IndexMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `EdgeLabel`, `Edge`, and `NodeLabel`
[INFO] [stderr]  --> src/order/barycenter.rs:2:20
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::types::{Edge, EdgeLabel, NodeLabel};
[INFO] [stderr]   |                    ^^^^  ^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stderr]   --> src/acyclic.rs:88:15
[INFO] [stderr]    |
[INFO] [stderr] 88 |         stack.remove(&v);
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stderr]    --> src/acyclic.rs:326:15
[INFO] [stderr]     |
[INFO] [stderr] 326 |     rec_stack.remove(&node);
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stderr]    --> src/acyclic.rs:381:15
[INFO] [stderr]     |
[INFO] [stderr] 381 |     rec_stack.remove(&node);
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `indexmap::IndexSet::<T, S>::remove`: `remove` disrupts the set order -- use `swap_remove` or `shift_remove` for explicit behavior.
[INFO] [stderr]    --> src/rank/util.rs:206:15
[INFO] [stderr]     |
[INFO] [stderr] 206 |     rec_stack.remove(&node_id);
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buckets`
[INFO] [stderr]    --> src/acyclic.rs:133:37
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn do_greedy_fas(g: &mut Graph, buckets: &mut [Vec<FasEntry>], zero_idx: usize) -> Vec<Edge> {
[INFO] [stderr]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buckets`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `zero_idx`
[INFO] [stderr]    --> src/acyclic.rs:133:68
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn do_greedy_fas(g: &mut Graph, buckets: &mut [Vec<FasEntry>], zero_idx: usize) -> Vec<Edge> {
[INFO] [stderr]     |                                                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zero_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buckets`
[INFO] [stderr]    --> src/acyclic.rs:165:9
[INFO] [stderr]     |
[INFO] [stderr] 165 |         buckets: &mut [Vec<FasEntry>],
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buckets`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `zero_idx`
[INFO] [stderr]    --> src/acyclic.rs:166:9
[INFO] [stderr]     |
[INFO] [stderr] 166 |         zero_idx: usize,
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zero_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `weight`
[INFO] [stderr]    --> src/acyclic.rs:177:25
[INFO] [stderr]     |
[INFO] [stderr] 177 |             if let Some(weight) = g.edge_label(&edge).map(|l| l.weight) {
[INFO] [stderr]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `weight`
[INFO] [stderr]    --> src/acyclic.rs:186:25
[INFO] [stderr]     |
[INFO] [stderr] 186 |             if let Some(weight) = g.edge_label(&edge).map(|l| l.weight) {
[INFO] [stderr]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `remove_node` is never used
[INFO] [stderr]    --> src/acyclic.rs:163:8
[INFO] [stderr]     |
[INFO] [stderr]   8 | impl Acyclic {
[INFO] [stderr]     | ------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 163 |     fn remove_node(
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `v`, `in_weight`, and `out_weight` are never read
[INFO] [stderr]    --> src/acyclic.rs:279:5
[INFO] [stderr]     |
[INFO] [stderr] 278 | struct FasEntry {
[INFO] [stderr]     |        -------- fields in this struct
[INFO] [stderr] 279 |     v: crate::graph::NodeIndex,
[INFO] [stderr]     |     ^
[INFO] [stderr] 280 |     in_weight: f64,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 281 |     out_weight: f64,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FasEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_node_index` and `as_node_index` are never used
[INFO] [stderr]    --> src/graph.rs:547:8
[INFO] [stderr]     |
[INFO] [stderr] 524 | impl NodeIndex {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 547 |     fn from_node_index(node_index: petgraph::prelude::NodeIndex) -> Self {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 555 |     fn as_node_index(&self) -> petgraph::prelude::NodeIndex {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `i` is never read
[INFO] [stderr]    --> src/order/sort_subgraph.rs:149:5
[INFO] [stderr]     |
[INFO] [stderr] 147 | struct ResolvedEntry {
[INFO] [stderr]     |        ------------- field in this struct
[INFO] [stderr] 148 |     vs: Vec<NodeIndex>,
[INFO] [stderr] 149 |     i: usize,
[INFO] [stderr]     |     ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ResolvedEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `topological_sort` is never used
[INFO] [stderr]    --> src/rank/util.rs:125:4
[INFO] [stderr]     |
[INFO] [stderr] 125 | fn topological_sort(graph: &Graph) -> Vec<NodeIndex> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `dagviz` (lib) generated 17 warnings (run `cargo fix --lib -p dagviz` to apply 8 suggestions)
[INFO] [stderr] warning: `dagviz` (lib test) generated 17 warnings (17 duplicates)
[INFO] [stderr] warning: unused import: `dagviz::graph::NodeIndex`
[INFO] [stderr]  --> examples/debug_rank_flow.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use dagviz::graph::NodeIndex;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `dagviz::layout`
[INFO] [stderr]  --> examples/debug_rank_flow.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use dagviz::layout;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `dagviz::graph::NodeIndex`
[INFO] [stderr]  --> examples/debug_as_non_compound_graph.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use dagviz::graph::NodeIndex;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `dagviz::graph::NodeIndex`
[INFO] [stderr]  --> examples/debug_network_simplex.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use dagviz::graph::NodeIndex;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `dagviz` (example "debug_rank_flow") generated 2 warnings (run `cargo fix --example "debug_rank_flow" -p dagviz` to apply 2 suggestions)
[INFO] [stderr] warning: `dagviz` (example "debug_as_non_compound_graph") generated 1 warning (run `cargo fix --example "debug_as_non_compound_graph" -p dagviz` to apply 1 suggestion)
[INFO] [stderr] warning: `dagviz` (example "debug_network_simplex") generated 1 warning (run `cargo fix --example "debug_network_simplex" -p dagviz` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `dagviz::graph::NodeIndex`
[INFO] [stderr]  --> examples/debug_edge_tracking.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use dagviz::graph::NodeIndex;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `setup_test_graph` is never used
[INFO] [stderr]  --> tests/acyclic_tests.rs:5:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | fn setup_test_graph() -> Graph {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `EdgeLabel` and `Edge`
[INFO] [stderr]  --> tests/util/util_tests.rs:2:21
[INFO] [stderr]   |
[INFO] [stderr] 2 | use dagviz::types::{Edge, EdgeLabel, NodeLabel};
[INFO] [stderr]   |                     ^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> tests/layout/layout_tests.rs:210:9
[INFO] [stderr]     |
[INFO] [stderr] 210 |     let a = g.add_node(NodeLabel {
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> tests/order/order_tests.rs:505:9
[INFO] [stderr]     |
[INFO] [stderr] 505 |     let a = g.add_node(NodeLabel {
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: `dagviz` (example "debug_edge_tracking") generated 1 warning (run `cargo fix --example "debug_edge_tracking" -p dagviz` to apply 1 suggestion)
[INFO] [stderr] warning: `dagviz` (test "acyclic_tests") generated 1 warning
[INFO] [stderr] warning: `dagviz` (test "lib") generated 4 warnings (1 duplicate) (run `cargo fix --test "lib" -p dagviz` to apply 3 suggestions)
[INFO] [stderr] warning: unused import: `dagviz::graph::NodeIndex`
[INFO] [stderr]  --> examples/debug_position_rank.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use dagviz::graph::NodeIndex;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `old_to_new`
[INFO] [stderr]   --> examples/debug_position_rank.rs:29:32
[INFO] [stderr]    |
[INFO] [stderr] 29 |     let (mut simplified_graph, old_to_new) = util::as_non_compound_graph(&g);
[INFO] [stderr]    |                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_to_new`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `dagviz` (example "debug_position_rank") generated 2 warnings (run `cargo fix --example "debug_position_rank" -p dagviz` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/dagviz-fb235e4898590e27)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test acyclic::tests::test_find_cycles_empty ... ok
[INFO] [stdout] test acyclic::tests::test_find_cycles_simple ... ok
[INFO] [stdout] test acyclic::tests::test_is_acyclic_simple ... ok
[INFO] [stdout] test graph::tests::test_add_edge ... ok
[INFO] [stdout] test acyclic::tests::test_is_acyclic_empty ... ok
[INFO] [stdout] test graph::tests::test_add_node ... ok
[INFO] [stdout] test graph::tests::test_create_empty_graph ... ok
[INFO] [stdout] test order::barycenter::tests::test_assigns_average_of_multiple_predecessors ... ok
[INFO] [stdout] test order::barycenter::tests::test_assigns_position_of_sole_predecessor ... ok
[INFO] [stdout] test order::barycenter::tests::test_assigns_undefined_barycenter_for_node_with_no_predecessors ... ok
[INFO] [stdout] test order::barycenter::tests::test_calculates_barycenters_for_all_nodes_in_movable_layer ... ok
[INFO] [stdout] test order::barycenter::tests::test_takes_into_account_weight_of_edges ... ok
[INFO] [stdout] test order::build_layer_graph::tests::test_build_simple_layer_graph ... ok
[INFO] [stdout] test layout::tests::test_layout_single_node ... ok
[INFO] [stdout] test order::constraint_graph::tests::test_add_constraint ... ok
[INFO] [stdout] test order::constraint_graph::tests::test_constraint_graph_creation ... ok
[INFO] [stdout] test order::constraint_graph::tests::test_get_constraints ... ok
[INFO] [stdout] test order::cross_count::tests::test_cross_count ... ok
[INFO] [stdout] test order::cross_count::tests::test_edges_cross ... ok
[INFO] [stdout] test position::tests::test_position_y ... ok
[INFO] [stdout] test position::tests::test_translate_graph ... ok
[INFO] [stdout] test rank::feasible_tree::tests::test_feasible_tree ... ok
[INFO] [stdout] test util::tests::test_intersect_rect ... ok
[INFO] [stdout] test rank::feasible_tree::tests::test_is_feasible ... ok
[INFO] [stdout] test util::tests::test_range ... ok
[INFO] [stdout] test rank::util::tests::test_longest_path ... ok
[INFO] [stdout] test order::build_layer_graph::tests::test_build_layer_graph ... ok
[INFO] [stdout] test rank::util::tests::test_is_acyclic ... ok
[INFO] [stdout] test layout::tests::test_layout_two_nodes ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- layout::tests::test_layout_two_nodes stdout ----
[INFO] [stdout] === 开始构建布局图 ===
[INFO] [stdout] 复制节点 NodeIndex { node_index: NodeIndex(0), which_graph: 19 }: rank = None
[INFO] [stdout] 复制节点 NodeIndex { node_index: NodeIndex(1), which_graph: 19 }: rank = None
[INFO] [stdout] === 布局图构建完成 ===
[INFO] [stdout] === Rust 布局过程日志 ===
[INFO] [stdout] --- 执行 rank 前 ---
[INFO] [stdout] 
[INFO] [stdout] --- rank前 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=None, x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=None, x=None, y=None, width=75, height=200
[INFO] [stdout]   2: rank=None, x=None, y=None, width=0, height=0
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(2), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(0), which_graph: 21 }: points=0个控制点
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(2), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout]   dfs_rank: NodeIndex(NodeIndex { node_index: NodeIndex(1), which_graph: 21 }) -> rank=0, has_out_edges=false, min_rank=2147483647
[INFO] [stdout]   dfs_rank: NodeIndex(NodeIndex { node_index: NodeIndex(0), which_graph: 21 }) -> rank=-2, has_out_edges=true, min_rank=-2
[INFO] [stdout]   dfs_rank: NodeIndex(NodeIndex { node_index: NodeIndex(2), which_graph: 21 }) -> rank=-3, has_out_edges=true, min_rank=-3
[INFO] [stdout] 
[INFO] [stdout] --- rank后 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=Some(-2), x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=Some(0), x=None, y=None, width=75, height=200
[INFO] [stdout]   2: rank=Some(-3), x=None, y=None, width=0, height=0
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(2), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(0), which_graph: 21 }: points=0个控制点
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(2), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout] 
[INFO] [stdout] --- inject_edge_label_proxies后 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=Some(-2), x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=Some(0), x=None, y=None, width=75, height=200
[INFO] [stdout]   2: rank=Some(-3), x=None, y=None, width=0, height=0
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(2), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(0), which_graph: 21 }: points=0个控制点
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(2), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout] 
[INFO] [stdout] --- remove_empty_ranks后 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=Some(1), x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=Some(2), x=None, y=None, width=75, height=200
[INFO] [stdout]   2: rank=Some(0), x=None, y=None, width=0, height=0
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(2), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(0), which_graph: 21 }: points=0个控制点
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(2), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout] 
[INFO] [stdout] --- nesting_graph_cleanup后 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=Some(1), x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=Some(2), x=None, y=None, width=75, height=200
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout] get rank 1
[INFO] [stdout] get rank 2
[INFO] [stdout] 
[INFO] [stdout] --- normalize_ranks后 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=Some(0), x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=Some(1), x=None, y=None, width=75, height=200
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout] --- 执行 order 前 ---
[INFO] [stdout] 
[INFO] [stdout] --- order前 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=Some(0), x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=Some(1), x=None, y=None, width=75, height=200
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout] --- 执行 order 后 ---
[INFO] [stdout] 
[INFO] [stdout] --- order后 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=Some(0), x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=Some(1), x=None, y=None, width=75, height=200
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout] 
[INFO] [stdout] --- insert_self_edges后 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=Some(0), x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=Some(1), x=None, y=None, width=75, height=200
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout] 
[INFO] [stdout] --- increment_position后 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=Some(0), x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=Some(1), x=None, y=None, width=75, height=200
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout] === Brandes-Köpf 算法开始 ===
[INFO] [stdout] 输入图信息:
[INFO] [stdout]   节点数: 1
[INFO] [stdout]   边数: 0
[INFO] [stdout] 
[INFO] [stdout] 1. 构建层级结构...
[INFO] [stdout]   层级结构:
[INFO] [stdout]     层 0: [NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]
[INFO] [stdout] 
[INFO] [stdout] 2. 检测冲突...
[INFO] [stdout]   冲突检测完成
[INFO] [stdout] 
[INFO] [stdout] 3. 计算四种对齐方向的位置...
[INFO] [stdout] 
[INFO] [stdout]   处理方向: ul
[INFO] [stdout]     调整后的层级:
[INFO] [stdout]       层 0: [NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]
[INFO] [stdout]     执行垂直对齐...
[INFO] [stdout]       对齐结果: Alignment { root: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }}, align: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }} }
[INFO] [stdout]     执行水平压缩...
[INFO] [stdout]       开始水平压缩...
[INFO] [stdout]         输入层级: [[NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]]
[INFO] [stdout]         对齐根: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }}
[INFO] [stdout]         反向分离: false
[INFO] [stdout]         构建块图...
[INFO] [stdout]           输入层级: [[NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]]
[INFO] [stdout]           对齐根: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }}
[INFO] [stdout]           反向分离: false
[INFO] [stdout]           添加节点...
[INFO] [stdout]             添加节点 Unknown (根: 0)
[INFO] [stdout]           添加边...
[INFO] [stdout]           块图构建完成: 1 节点, 0 边
[INFO] [stdout]         块图节点数: 1
[INFO] [stdout]         块图边数: 0
[INFO] [stdout]         节点映射: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex(0)}
[INFO] [stdout]         第一遍：分配最小坐标...
[INFO] [stdout]         第一遍完成，坐标: {NodeIndex(0): 0.0}
[INFO] [stdout]         第二遍：分配最大坐标...
[INFO] [stdout]         第二遍完成，坐标: {NodeIndex(0): 0.0}
[INFO] [stdout]         分配最终坐标...
[INFO] [stdout]           节点 Unknown: x = 0.000000
[INFO] [stdout]         水平压缩完成，最终坐标: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: 0.0}
[INFO] [stdout]       压缩结果: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: 0.0}
[INFO] [stdout] 
[INFO] [stdout]   处理方向: ur
[INFO] [stdout]     调整后的层级:
[INFO] [stdout]       层 0: [NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]
[INFO] [stdout]     执行垂直对齐...
[INFO] [stdout]       对齐结果: Alignment { root: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }}, align: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }} }
[INFO] [stdout]     执行水平压缩...
[INFO] [stdout]       开始水平压缩...
[INFO] [stdout]         输入层级: [[NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]]
[INFO] [stdout]         对齐根: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }}
[INFO] [stdout]         反向分离: true
[INFO] [stdout]         构建块图...
[INFO] [stdout]           输入层级: [[NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]]
[INFO] [stdout]           对齐根: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }}
[INFO] [stdout]           反向分离: true
[INFO] [stdout]           添加节点...
[INFO] [stdout]             添加节点 Unknown (根: 0)
[INFO] [stdout]           添加边...
[INFO] [stdout]           块图构建完成: 1 节点, 0 边
[INFO] [stdout]         块图节点数: 1
[INFO] [stdout]         块图边数: 0
[INFO] [stdout]         节点映射: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex(0)}
[INFO] [stdout]         第一遍：分配最小坐标...
[INFO] [stdout]         第一遍完成，坐标: {NodeIndex(0): 0.0}
[INFO] [stdout]         第二遍：分配最大坐标...
[INFO] [stdout]         第二遍完成，坐标: {NodeIndex(0): 0.0}
[INFO] [stdout]         分配最终坐标...
[INFO] [stdout]           节点 Unknown: x = 0.000000
[INFO] [stdout]         水平压缩完成，最终坐标: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: 0.0}
[INFO] [stdout]       压缩结果: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: 0.0}
[INFO] [stdout] 
[INFO] [stdout]   处理方向: dl
[INFO] [stdout]     调整后的层级:
[INFO] [stdout]       层 0: [NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]
[INFO] [stdout]     执行垂直对齐...
[INFO] [stdout]       对齐结果: Alignment { root: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }}, align: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }} }
[INFO] [stdout]     执行水平压缩...
[INFO] [stdout]       开始水平压缩...
[INFO] [stdout]         输入层级: [[NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]]
[INFO] [stdout]         对齐根: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }}
[INFO] [stdout]         反向分离: false
[INFO] [stdout]         构建块图...
[INFO] [stdout]           输入层级: [[NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]]
[INFO] [stdout]           对齐根: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }}
[INFO] [stdout]           反向分离: false
[INFO] [stdout]           添加节点...
[INFO] [stdout]             添加节点 Unknown (根: 0)
[INFO] [stdout]           添加边...
[INFO] [stdout]           块图构建完成: 1 节点, 0 边
[INFO] [stdout]         块图节点数: 1
[INFO] [stdout]         块图边数: 0
[INFO] [stdout]         节点映射: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex(0)}
[INFO] [stdout]         第一遍：分配最小坐标...
[INFO] [stdout]         第一遍完成，坐标: {NodeIndex(0): 0.0}
[INFO] [stdout]         第二遍：分配最大坐标...
[INFO] [stdout]         第二遍完成，坐标: {NodeIndex(0): 0.0}
[INFO] [stdout]         分配最终坐标...
[INFO] [stdout]           节点 Unknown: x = 0.000000
[INFO] [stdout]         水平压缩完成，最终坐标: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: 0.0}
[INFO] [stdout]       压缩结果: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: 0.0}
[INFO] [stdout] 
[INFO] [stdout]   处理方向: dr
[INFO] [stdout]     调整后的层级:
[INFO] [stdout]       层 0: [NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]
[INFO] [stdout]     执行垂直对齐...
[INFO] [stdout]       对齐结果: Alignment { root: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }}, align: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }} }
[INFO] [stdout]     执行水平压缩...
[INFO] [stdout]       开始水平压缩...
[INFO] [stdout]         输入层级: [[NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]]
[INFO] [stdout]         对齐根: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }}
[INFO] [stdout]         反向分离: true
[INFO] [stdout]         构建块图...
[INFO] [stdout]           输入层级: [[NodeIndex { node_index: NodeIndex(0), which_graph: 43 }]]
[INFO] [stdout]           对齐根: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex { node_index: NodeIndex(0), which_graph: 43 }}
[INFO] [stdout]           反向分离: true
[INFO] [stdout]           添加节点...
[INFO] [stdout]             添加节点 Unknown (根: 0)
[INFO] [stdout]           添加边...
[INFO] [stdout]           块图构建完成: 1 节点, 0 边
[INFO] [stdout]         块图节点数: 1
[INFO] [stdout]         块图边数: 0
[INFO] [stdout]         节点映射: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: NodeIndex(0)}
[INFO] [stdout]         第一遍：分配最小坐标...
[INFO] [stdout]         第一遍完成，坐标: {NodeIndex(0): 0.0}
[INFO] [stdout]         第二遍：分配最大坐标...
[INFO] [stdout]         第二遍完成，坐标: {NodeIndex(0): 0.0}
[INFO] [stdout]         分配最终坐标...
[INFO] [stdout]           节点 Unknown: x = 0.000000
[INFO] [stdout]         水平压缩完成，最终坐标: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: 0.0}
[INFO] [stdout]       压缩结果: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: 0.0}
[INFO] [stdout] 
[INFO] [stdout] 5. 找到最小宽度对齐...
[INFO] [stdout]   最小宽度对齐: Some({NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: 0.0})
[INFO] [stdout] 
[INFO] [stdout] 6. 对齐坐标...
[INFO] [stdout]   坐标对齐完成
[INFO] [stdout] 
[INFO] [stdout] 7. 平衡坐标...
[INFO] [stdout]   最终坐标: {NodeIndex { node_index: NodeIndex(0), which_graph: 43 }: 0.0}
[INFO] [stdout] 
[INFO] [stdout] 8. 设置最终位置...
[INFO] [stdout]   Unknown: x = 0.000000, rank = 1
[INFO] [stdout] 
[INFO] [stdout] === Brandes-Köpf 算法完成 ===
[INFO] [stdout] 
[INFO] [stdout] --- position后 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=Some(0), x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=Some(1), x=Some(0.0), y=Some(100.0), width=75, height=200
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout] 
[INFO] [stdout] --- position_self_edges后 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=Some(0), x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=Some(1), x=Some(0.0), y=Some(100.0), width=75, height=200
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout] 
[INFO] [stdout] --- remove_border_nodes后 图状态 ---
[INFO] [stdout] 节点:
[INFO] [stdout]   0: rank=Some(0), x=None, y=None, width=50, height=100
[INFO] [stdout]   1: rank=Some(1), x=Some(0.0), y=Some(100.0), width=75, height=200
[INFO] [stdout] 边:
[INFO] [stdout]   NodeIndex { node_index: NodeIndex(0), which_graph: 21 } -> NodeIndex { node_index: NodeIndex(1), which_graph: 21 }: points=0个控制点
[INFO] [stdout] 
[INFO] [stdout] thread 'layout::tests::test_layout_two_nodes' (25) panicked at src/layout.rs:1088:9:
[INFO] [stdout] assertion failed: label_a.x.is_some()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x61f5f0de2c92 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x61f5f0de2c92 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x61f5f0de2c92 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x61f5f0de2c92 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x61f5f0df7dfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x61f5f0df7dfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x61f5f0de7c26 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x61f5f0de7c26 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x61f5f0dc115f - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x61f5f0dc115f - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x61f5f0ddaf79 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x61f5f0d74fee - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x61f5f0d74fee - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x61f5f0ddb132 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x61f5f0ddb132 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x61f5f0dc124a - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x61f5f0db8bb9 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x61f5f0dc206d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x61f5f0df84cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x61f5f0df8492 - core[c5ed12ab89cc536a]::panicking::panic
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x61f5f0d2a7e8 - dagviz[8f8ddb8b7af52f24]::layout::tests::test_layout_two_nodes
[INFO] [stdout]                                at /opt/rustwide/workdir/src/layout.rs:1088:9
[INFO] [stdout]   21:     0x61f5f0d22e27 - dagviz[8f8ddb8b7af52f24]::layout::tests::test_layout_two_nodes::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/layout.rs:1067:31
[INFO] [stdout]   22:     0x61f5f0d02906 - <dagviz[8f8ddb8b7af52f24]::layout::tests::test_layout_two_nodes::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x61f5f0d6939b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x61f5f0d6939b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x61f5f0d75bfa - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x61f5f0d75bfa - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x61f5f0d75bfa - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x61f5f0d75bfa - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x61f5f0d75bfa - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x61f5f0d75bfa - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x61f5f0d75bfa - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x61f5f0d700c4 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x61f5f0d700c4 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x61f5f0d786f2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x61f5f0d786f2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x61f5f0d786f2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x61f5f0d786f2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x61f5f0d786f2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x61f5f0d786f2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x61f5f0d786f2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x61f5f0de253f - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x61f5f0de253f - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   43:     0x7d186a770aa4 - <unknown>
[INFO] [stdout]   44:     0x7d186a7fda64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     layout::tests::test_layout_two_nodes
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 28 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "d9b5e686015f6449856d22e640bc3d0eb52552332f6e92a1e6e5e374b7c1da10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9b5e686015f6449856d22e640bc3d0eb52552332f6e92a1e6e5e374b7c1da10", kill_on_drop: false }`
[INFO] [stdout] d9b5e686015f6449856d22e640bc3d0eb52552332f6e92a1e6e5e374b7c1da10
