[INFO] fetching crate pi_triangulation 0.1.0...
[INFO] testing pi_triangulation-0.1.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate pi_triangulation 0.1.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate pi_triangulation 0.1.0
[INFO] finished tweaking crates.io crate pi_triangulation 0.1.0
[INFO] tweaked toml for crates.io crate pi_triangulation 0.1.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate pi_triangulation 0.1.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 2 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e3651a92f08566fc98ee201cbc585cbba209d5f8a2d5575e4ab4010cf209a01e
[INFO] running `Command { std: "docker" "start" "-a" "e3651a92f08566fc98ee201cbc585cbba209d5f8a2d5575e4ab4010cf209a01e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e3651a92f08566fc98ee201cbc585cbba209d5f8a2d5575e4ab4010cf209a01e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e3651a92f08566fc98ee201cbc585cbba209d5f8a2d5575e4ab4010cf209a01e", kill_on_drop: false }`
[INFO] [stdout] e3651a92f08566fc98ee201cbc585cbba209d5f8a2d5575e4ab4010cf209a01e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 12347a7270b3dbd413c774896fa3e3c717fa90a124b73865f32893624be7ba70
[INFO] running `Command { std: "docker" "start" "-a" "12347a7270b3dbd413c774896fa3e3c717fa90a124b73865f32893624be7ba70", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling pi_triangulation v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator<F> {
[INFO] [stdout]     |             ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator<'_, F> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:134:19
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator<F> {
[INFO] [stdout]     |                   ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator<'_, F> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.70s
[INFO] running `Command { std: "docker" "inspect" "12347a7270b3dbd413c774896fa3e3c717fa90a124b73865f32893624be7ba70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12347a7270b3dbd413c774896fa3e3c717fa90a124b73865f32893624be7ba70", kill_on_drop: false }`
[INFO] [stdout] 12347a7270b3dbd413c774896fa3e3c717fa90a124b73865f32893624be7ba70
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 90c794c31709cc38f3c39bf429cde93d309b558060e08404fd423ffd4fcad359
[INFO] running `Command { std: "docker" "start" "-a" "90c794c31709cc38f3c39bf429cde93d309b558060e08404fd423ffd4fcad359", kill_on_drop: false }`
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator<F> {
[INFO] [stdout]     |             ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator<'_, F> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:134:19
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator<F> {
[INFO] [stdout]     |                   ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator<'_, F> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pi_triangulation v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/lib.rs:1262:24
[INFO] [stdout]      |
[INFO] [stdout] 1262 |         let mut cycler;;
[INFO] [stdout]      |                        ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/lib.rs:1641:10
[INFO] [stdout]      |
[INFO] [stdout] 1641 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator<F> {
[INFO] [stdout]     |             ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator<'_, F> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:134:19
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator<F> {
[INFO] [stdout]     |                   ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator<'_, F> {
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.09s
[INFO] running `Command { std: "docker" "inspect" "90c794c31709cc38f3c39bf429cde93d309b558060e08404fd423ffd4fcad359", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90c794c31709cc38f3c39bf429cde93d309b558060e08404fd423ffd4fcad359", kill_on_drop: false }`
[INFO] [stdout] 90c794c31709cc38f3c39bf429cde93d309b558060e08404fd423ffd4fcad359
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 272f4854b3461928b34cca7446de72d45c4d0b6fbee434e061dcf65911f2f4de
[INFO] running `Command { std: "docker" "start" "-a" "272f4854b3461928b34cca7446de72d45c4d0b6fbee434e061dcf65911f2f4de", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:131:13
[INFO] [stderr]     |
[INFO] [stderr] 131 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator<F> {
[INFO] [stderr]     |             ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 131 |     fn iter(&self, r: std::ops::Range<NodeIdx>) -> NodeIterator<'_, F> {
[INFO] [stderr]     |                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/lib.rs:134:19
[INFO] [stderr]     |
[INFO] [stderr] 134 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator<F> {
[INFO] [stderr]     |                   ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 134 |     fn iter_pairs(&self, r: std::ops::Range<NodeIdx>) -> NodePairIterator<'_, F> {
[INFO] [stderr]     |                                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: `pi_triangulation` (lib) generated 2 warnings (run `cargo fix --lib -p pi_triangulation` to apply 2 suggestions)
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> src/lib.rs:1262:24
[INFO] [stderr]      |
[INFO] [stderr] 1262 |         let mut cycler;;
[INFO] [stderr]      |                        ^ help: remove this semicolon
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]     --> src/lib.rs:1641:10
[INFO] [stdout] 
[INFO] [stderr]      |
[INFO] [stdout] running 25 tests
[INFO] [stderr] 1641 |         };
[INFO] [stderr]      |          ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: `pi_triangulation` (lib test) generated 4 warnings (2 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pi_triangulation-08f3ead84df62af3)
[INFO] [stdout] test tests::test_area ... ok
[INFO] [stdout] test tests::test_cycle_len ... ok
[INFO] [stdout] test tests::test_cure_local_intersections ... ok
[INFO] [stdout] test tests::test_cycles_report ... ok
[INFO] [stdout] test tests::test_deviation ... ok
[INFO] [stdout] test tests::test_earcut_linked ... ok
[INFO] [stdout] test tests::test_eliminate_hole ... ok
[INFO] [stdout] test tests::test_eliminate_holes ... ok
[INFO] [stdout] test tests::test_find_hole_bridge ... ok
[INFO] [stdout] test tests::test_intersects_polygon ... ok
[INFO] [stdout] test tests::test_filter_points ... ok
[INFO] [stdout] test tests::test_is_valid_diagonal ... ok
[INFO] [stdout] test tests::test_is_ear ... ok
[INFO] [stdout] test tests::test_flatten ... ok
[INFO] [stdout] test tests::test_equals ... ok
[INFO] [stdout] test tests::test_intersects_itself ... ok
[INFO] [stdout] test tests::test_locally_inside ... ok
[INFO] [stdout] test tests::test_iss45 ... ok
[INFO] [stdout] test tests::test_middle_inside ... ok
[INFO] [stdout] test tests::test_linked_list ... ok
[INFO] [stdout] test tests::test_point_in_triangle ... ok
[INFO] [stdout] test tests::test_split_earcut ... ok
[INFO] [stdout] test tests::test_iter_pairs ... ok
[INFO] [stderr]    Doc-tests pi_triangulation
[INFO] [stdout] test tests::test_signed_area ... ok
[INFO] [stdout] test tests::test_split_bridge_polygon ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "272f4854b3461928b34cca7446de72d45c4d0b6fbee434e061dcf65911f2f4de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "272f4854b3461928b34cca7446de72d45c4d0b6fbee434e061dcf65911f2f4de", kill_on_drop: false }`
[INFO] [stdout] 272f4854b3461928b34cca7446de72d45c4d0b6fbee434e061dcf65911f2f4de
