[INFO] fetching crate cut-optimizer-2d 0.4.2...
[INFO] testing cut-optimizer-2d-0.4.2 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate cut-optimizer-2d 0.4.2 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate cut-optimizer-2d 0.4.2
[INFO] finished tweaking crates.io crate cut-optimizer-2d 0.4.2
[INFO] tweaked toml for crates.io crate cut-optimizer-2d 0.4.2 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cut-optimizer-2d 0.4.2 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-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-2025-09-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 74 packages to latest compatible versions
[INFO] [stderr]       Adding criterion v0.3.6 (available: v0.7.0)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9eb7238f9f466d29d6ef25411d2b4d5796449ad154cf6da535f373b241d9be75
[INFO] running `Command { std: "docker" "start" "-a" "9eb7238f9f466d29d6ef25411d2b4d5796449ad154cf6da535f373b241d9be75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9eb7238f9f466d29d6ef25411d2b4d5796449ad154cf6da535f373b241d9be75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9eb7238f9f466d29d6ef25411d2b4d5796449ad154cf6da535f373b241d9be75", kill_on_drop: false }`
[INFO] [stdout] 9eb7238f9f466d29d6ef25411d2b4d5796449ad154cf6da535f373b241d9be75
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7022bb732a982361f460e69092582173af606fb6adefffeebb66ab6967a5f1c4
[INFO] running `Command { std: "docker" "start" "-a" "7022bb732a982361f460e69092582173af606fb6adefffeebb66ab6967a5f1c4", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling cut-optimizer-2d v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:514:52
[INFO] [stdout]     |
[INFO] [stdout] 514 |             SplitHeuristic::ShorterLeftoverAxis => (w <= h),
[INFO] [stdout]     |                                                    ^      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 514 -             SplitHeuristic::ShorterLeftoverAxis => (w <= h),
[INFO] [stdout] 514 +             SplitHeuristic::ShorterLeftoverAxis => w <= h,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:515:51
[INFO] [stdout]     |
[INFO] [stdout] 515 |             SplitHeuristic::LongerLeftoverAxis => (w > h),
[INFO] [stdout]     |                                                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 515 -             SplitHeuristic::LongerLeftoverAxis => (w > h),
[INFO] [stdout] 515 +             SplitHeuristic::LongerLeftoverAxis => w > h,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:516:45
[INFO] [stdout]     |
[INFO] [stdout] 516 |             SplitHeuristic::MinimizeArea => (rect.width as u64 * h > w * rect.length as u64),
[INFO] [stdout]     |                                             ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 516 -             SplitHeuristic::MinimizeArea => (rect.width as u64 * h > w * rect.length as u64),
[INFO] [stdout] 516 +             SplitHeuristic::MinimizeArea => rect.width as u64 * h > w * rect.length as u64,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:517:45
[INFO] [stdout]     |
[INFO] [stdout] 517 |             SplitHeuristic::MaximizeArea => (rect.width as u64 * h <= w * rect.length as u64),
[INFO] [stdout]     |                                             ^                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 517 -             SplitHeuristic::MaximizeArea => (rect.width as u64 * h <= w * rect.length as u64),
[INFO] [stdout] 517 +             SplitHeuristic::MaximizeArea => rect.width as u64 * h <= w * rect.length as u64,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:518:44
[INFO] [stdout]     |
[INFO] [stdout] 518 |             SplitHeuristic::ShorterAxis => (free_rect.width as u64 <= free_rect.length as u64),
[INFO] [stdout]     |                                            ^                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 518 -             SplitHeuristic::ShorterAxis => (free_rect.width as u64 <= free_rect.length as u64),
[INFO] [stdout] 518 +             SplitHeuristic::ShorterAxis => free_rect.width as u64 <= free_rect.length as u64,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:519:43
[INFO] [stdout]     |
[INFO] [stdout] 519 |             SplitHeuristic::LongerAxis => (free_rect.width as u64 > free_rect.length as u64),
[INFO] [stdout]     |                                           ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 519 -             SplitHeuristic::LongerAxis => (free_rect.width as u64 > free_rect.length as u64),
[INFO] [stdout] 519 +             SplitHeuristic::LongerAxis => free_rect.width as u64 > free_rect.length as u64,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockUnit` is never constructed
[INFO] [stdout]   --> src/genetic/test.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct MockUnit {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FloatyUnit` is never constructed
[INFO] [stdout]   --> src/genetic/test.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct FloatyUnit {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TendUnit` is never constructed
[INFO] [stdout]   --> src/genetic/test.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | struct TendUnit {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.39s
[INFO] running `Command { std: "docker" "inspect" "7022bb732a982361f460e69092582173af606fb6adefffeebb66ab6967a5f1c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7022bb732a982361f460e69092582173af606fb6adefffeebb66ab6967a5f1c4", kill_on_drop: false }`
[INFO] [stdout] 7022bb732a982361f460e69092582173af606fb6adefffeebb66ab6967a5f1c4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d7f7a6e28d3eecf49963ea6d85f03eaedac60242f96afc1860b5d15f02bc46c0
[INFO] running `Command { std: "docker" "start" "-a" "d7f7a6e28d3eecf49963ea6d85f03eaedac60242f96afc1860b5d15f02bc46c0", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling regex-automata v0.4.11
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling csv-core v0.1.12
[INFO] [stderr]    Compiling half v1.8.3
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling criterion-plot v0.4.5
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling regex v1.11.3
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:514:52
[INFO] [stdout]     |
[INFO] [stdout] 514 |             SplitHeuristic::ShorterLeftoverAxis => (w <= h),
[INFO] [stdout]     |                                                    ^      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 514 -             SplitHeuristic::ShorterLeftoverAxis => (w <= h),
[INFO] [stdout] 514 +             SplitHeuristic::ShorterLeftoverAxis => w <= h,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:515:51
[INFO] [stdout]     |
[INFO] [stdout] 515 |             SplitHeuristic::LongerLeftoverAxis => (w > h),
[INFO] [stdout]     |                                                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 515 -             SplitHeuristic::LongerLeftoverAxis => (w > h),
[INFO] [stdout] 515 +             SplitHeuristic::LongerLeftoverAxis => w > h,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:516:45
[INFO] [stdout]     |
[INFO] [stdout] 516 |             SplitHeuristic::MinimizeArea => (rect.width as u64 * h > w * rect.length as u64),
[INFO] [stdout]     |                                             ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 516 -             SplitHeuristic::MinimizeArea => (rect.width as u64 * h > w * rect.length as u64),
[INFO] [stdout] 516 +             SplitHeuristic::MinimizeArea => rect.width as u64 * h > w * rect.length as u64,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:517:45
[INFO] [stdout]     |
[INFO] [stdout] 517 |             SplitHeuristic::MaximizeArea => (rect.width as u64 * h <= w * rect.length as u64),
[INFO] [stdout]     |                                             ^                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 517 -             SplitHeuristic::MaximizeArea => (rect.width as u64 * h <= w * rect.length as u64),
[INFO] [stdout] 517 +             SplitHeuristic::MaximizeArea => rect.width as u64 * h <= w * rect.length as u64,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:518:44
[INFO] [stdout]     |
[INFO] [stdout] 518 |             SplitHeuristic::ShorterAxis => (free_rect.width as u64 <= free_rect.length as u64),
[INFO] [stdout]     |                                            ^                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 518 -             SplitHeuristic::ShorterAxis => (free_rect.width as u64 <= free_rect.length as u64),
[INFO] [stdout] 518 +             SplitHeuristic::ShorterAxis => free_rect.width as u64 <= free_rect.length as u64,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:519:43
[INFO] [stdout]     |
[INFO] [stdout] 519 |             SplitHeuristic::LongerAxis => (free_rect.width as u64 > free_rect.length as u64),
[INFO] [stdout]     |                                           ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 519 -             SplitHeuristic::LongerAxis => (free_rect.width as u64 > free_rect.length as u64),
[INFO] [stdout] 519 +             SplitHeuristic::LongerAxis => free_rect.width as u64 > free_rect.length as u64,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockUnit` is never constructed
[INFO] [stdout]   --> src/genetic/test.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct MockUnit {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FloatyUnit` is never constructed
[INFO] [stdout]   --> src/genetic/test.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct FloatyUnit {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TendUnit` is never constructed
[INFO] [stdout]   --> src/genetic/test.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | struct TendUnit {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling criterion v0.3.6
[INFO] [stderr]    Compiling cut-optimizer-2d v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:514:52
[INFO] [stdout]     |
[INFO] [stdout] 514 |             SplitHeuristic::ShorterLeftoverAxis => (w <= h),
[INFO] [stdout]     |                                                    ^      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 514 -             SplitHeuristic::ShorterLeftoverAxis => (w <= h),
[INFO] [stdout] 514 +             SplitHeuristic::ShorterLeftoverAxis => w <= h,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:515:51
[INFO] [stdout]     |
[INFO] [stdout] 515 |             SplitHeuristic::LongerLeftoverAxis => (w > h),
[INFO] [stdout]     |                                                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 515 -             SplitHeuristic::LongerLeftoverAxis => (w > h),
[INFO] [stdout] 515 +             SplitHeuristic::LongerLeftoverAxis => w > h,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:516:45
[INFO] [stdout]     |
[INFO] [stdout] 516 |             SplitHeuristic::MinimizeArea => (rect.width as u64 * h > w * rect.length as u64),
[INFO] [stdout]     |                                             ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 516 -             SplitHeuristic::MinimizeArea => (rect.width as u64 * h > w * rect.length as u64),
[INFO] [stdout] 516 +             SplitHeuristic::MinimizeArea => rect.width as u64 * h > w * rect.length as u64,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:517:45
[INFO] [stdout]     |
[INFO] [stdout] 517 |             SplitHeuristic::MaximizeArea => (rect.width as u64 * h <= w * rect.length as u64),
[INFO] [stdout]     |                                             ^                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 517 -             SplitHeuristic::MaximizeArea => (rect.width as u64 * h <= w * rect.length as u64),
[INFO] [stdout] 517 +             SplitHeuristic::MaximizeArea => rect.width as u64 * h <= w * rect.length as u64,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:518:44
[INFO] [stdout]     |
[INFO] [stdout] 518 |             SplitHeuristic::ShorterAxis => (free_rect.width as u64 <= free_rect.length as u64),
[INFO] [stdout]     |                                            ^                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 518 -             SplitHeuristic::ShorterAxis => (free_rect.width as u64 <= free_rect.length as u64),
[INFO] [stdout] 518 +             SplitHeuristic::ShorterAxis => free_rect.width as u64 <= free_rect.length as u64,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/guillotine.rs:519:43
[INFO] [stdout]     |
[INFO] [stdout] 519 |             SplitHeuristic::LongerAxis => (free_rect.width as u64 > free_rect.length as u64),
[INFO] [stdout]     |                                           ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 519 -             SplitHeuristic::LongerAxis => (free_rect.width as u64 > free_rect.length as u64),
[INFO] [stdout] 519 +             SplitHeuristic::LongerAxis => free_rect.width as u64 > free_rect.length as u64,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 45.03s
[INFO] running `Command { std: "docker" "inspect" "d7f7a6e28d3eecf49963ea6d85f03eaedac60242f96afc1860b5d15f02bc46c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d7f7a6e28d3eecf49963ea6d85f03eaedac60242f96afc1860b5d15f02bc46c0", kill_on_drop: false }`
[INFO] [stdout] d7f7a6e28d3eecf49963ea6d85f03eaedac60242f96afc1860b5d15f02bc46c0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2259db2201ac3016cc88820523cc4f2d35572bdb66fc0ca0a93b435a2591baae
[INFO] running `Command { std: "docker" "start" "-a" "2259db2201ac3016cc88820523cc4f2d35572bdb66fc0ca0a93b435a2591baae", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/guillotine.rs:514:52
[INFO] [stderr]     |
[INFO] [stderr] 514 |             SplitHeuristic::ShorterLeftoverAxis => (w <= h),
[INFO] [stderr]     |                                                    ^      ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 514 -             SplitHeuristic::ShorterLeftoverAxis => (w <= h),
[INFO] [stderr] 514 +             SplitHeuristic::ShorterLeftoverAxis => w <= h,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/guillotine.rs:515:51
[INFO] [stderr]     |
[INFO] [stderr] 515 |             SplitHeuristic::LongerLeftoverAxis => (w > h),
[INFO] [stderr]     |                                                   ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 515 -             SplitHeuristic::LongerLeftoverAxis => (w > h),
[INFO] [stderr] 515 +             SplitHeuristic::LongerLeftoverAxis => w > h,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/guillotine.rs:516:45
[INFO] [stderr]     |
[INFO] [stderr] 516 |             SplitHeuristic::MinimizeArea => (rect.width as u64 * h > w * rect.length as u64),
[INFO] [stderr]     |                                             ^                                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 516 -             SplitHeuristic::MinimizeArea => (rect.width as u64 * h > w * rect.length as u64),
[INFO] [stderr] 516 +             SplitHeuristic::MinimizeArea => rect.width as u64 * h > w * rect.length as u64,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/guillotine.rs:517:45
[INFO] [stderr]     |
[INFO] [stderr] 517 |             SplitHeuristic::MaximizeArea => (rect.width as u64 * h <= w * rect.length as u64),
[INFO] [stderr]     |                                             ^                                               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 517 -             SplitHeuristic::MaximizeArea => (rect.width as u64 * h <= w * rect.length as u64),
[INFO] [stderr] 517 +             SplitHeuristic::MaximizeArea => rect.width as u64 * h <= w * rect.length as u64,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/guillotine.rs:518:44
[INFO] [stderr]     |
[INFO] [stderr] 518 |             SplitHeuristic::ShorterAxis => (free_rect.width as u64 <= free_rect.length as u64),
[INFO] [stderr]     |                                            ^                                                 ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 518 -             SplitHeuristic::ShorterAxis => (free_rect.width as u64 <= free_rect.length as u64),
[INFO] [stderr] 518 +             SplitHeuristic::ShorterAxis => free_rect.width as u64 <= free_rect.length as u64,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/guillotine.rs:519:43
[INFO] [stderr]     |
[INFO] [stderr] 519 |             SplitHeuristic::LongerAxis => (free_rect.width as u64 > free_rect.length as u64),
[INFO] [stderr]     |                                           ^                                                ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 519 -             SplitHeuristic::LongerAxis => (free_rect.width as u64 > free_rect.length as u64),
[INFO] [stderr] 519 +             SplitHeuristic::LongerAxis => free_rect.width as u64 > free_rect.length as u64,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MockUnit` is never constructed
[INFO] [stderr]   --> src/genetic/test.rs:25:8
[INFO] [stderr]    |
[INFO] [stderr] 25 | struct MockUnit {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FloatyUnit` is never constructed
[INFO] [stderr]   --> src/genetic/test.rs:43:8
[INFO] [stderr]    |
[INFO] [stderr] 43 | struct FloatyUnit {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TendUnit` is never constructed
[INFO] [stderr]   --> src/genetic/test.rs:65:8
[INFO] [stderr]    |
[INFO] [stderr] 65 | struct TendUnit {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `cut-optimizer-2d` (lib) generated 9 warnings (run `cargo fix --lib -p cut-optimizer-2d` to apply 6 suggestions)
[INFO] [stderr] warning: `cut-optimizer-2d` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cut_optimizer_2d-5a7497c80c98f644)
[INFO] [stdout] 
[INFO] [stdout] running 57 tests
[INFO] [stdout] test genetic::test::tests::seeding_test ... ok
[INFO] [stdout] test genetic::test::tests::simple_compilation_test ... ok
[INFO] [stdout] test guillotine::tests::bin_matches_stock_piece ... ok
[INFO] [stdout] test guillotine::tests::remove_cut_pieces ... ok
[INFO] [stdout] test maxrects::tests::bin_matches_stock_piece ... ok
[INFO] [stdout] test maxrects::tests::remove_cut_pieces ... ok
[INFO] [stdout] test maxrects::tests::bin_does_not_match_stock_pieces ... ok
[INFO] [stdout] test tests::add_equivalent_stock_pieces_sums_quantities ... ok
[INFO] [stdout] test guillotine::tests::bin_does_not_match_stock_pieces ... ok
[INFO] [stdout] test tests::add_equivalent_stock_pieces_with_none ... ok
[INFO] [stdout] test genetic::test::tests::basic_algorithm_test ... ok
[INFO] [stdout] test tests::guillotine_32_cut_pieces_on_2_stock_piece_zero_cut_width ... ok
[INFO] [stdout] test tests::guillotine_no_allow_mixed_stock_sizes ... ok
[INFO] [stdout] test tests::guillotine_different_stock_piece_prices ... ok
[INFO] [stdout] test tests::guillotine_non_fitting_cut_piece_mismatched_pattern ... ok
[INFO] [stdout] test tests::guillotine_non_fitting_cut_piece_can_rotate ... ok
[INFO] [stdout] test tests::guillotine_non_fitting_cut_piece_no_rotate ... ok
[INFO] [stdout] test genetic::test::tests::no_survivors_test ... ok
[INFO] [stdout] test tests::guillotine_non_fitting_cut_piece_no_rotate_pattern ... ok
[INFO] [stdout] test tests::guillotine_rotate ... ok
[INFO] [stdout] test tests::guillotine_one_stock_piece_several_cut_pieces ... ok
[INFO] [stdout] test tests::guillotine_rotate_pattern ... ok
[INFO] [stdout] test tests::guillotine ... ok
[INFO] [stdout] test tests::guillotine_32_cut_pieces_on_1_stock_piece ... ok
[INFO] [stdout] test tests::guillotine_same_stock_piece_prices ... ok
[INFO] [stdout] test tests::guillotine_stock_quantity_1 ... ok
[INFO] [stdout] test tests::guillotine_stock_quantity_2 ... ok
[INFO] [stdout] test tests::guillotine_stock_duplicate_cut_piece ... ok
[INFO] [stdout] test tests::guillotine_stock_quantity_too_low ... ok
[INFO] [stdout] test tests::nested ... ok
[INFO] [stdout] test tests::nested_32_cut_pieces_on_1_stock_piece ... ok
[INFO] [stdout] test tests::nested_32_cut_pieces_on_2_stock_piece_zero_cut_width ... ok
[INFO] [stdout] test tests::guillotine_stock_quantity_multiple ... ok
[INFO] [stdout] test tests::nested_different_stock_piece_prices ... ok
[INFO] [stdout] test tests::nested_no_allow_mixed_stock_sizes ... ok
[INFO] [stdout] test tests::nested_non_fitting_cut_piece_can_rotate ... ok
[INFO] [stdout] test tests::nested_non_fitting_cut_piece_mismatched_pattern ... ok
[INFO] [stdout] test tests::nested_non_fitting_cut_piece_no_rotate ... ok
[INFO] [stdout] test tests::nested_non_fitting_cut_piece_no_rotate_pattern ... ok
[INFO] [stdout] test tests::nested_32_cut_pieces_on_2_stock_piece ... ok
[INFO] [stdout] test tests::nested_rotate ... ok
[INFO] [stdout] test tests::guillotine_rotate_cut_pieces ... ok
[INFO] [stdout] test tests::nested_rotate_pattern ... ok
[INFO] [stdout] test tests::nested_same_stock_piece_prices ... ok
[INFO] [stdout] test tests::nested_stock_quantity_1 ... ok
[INFO] [stdout] test tests::nested_stock_quantity_2 ... ok
[INFO] [stdout] test tests::nested_stock_quantity_too_low ... ok
[INFO] [stdout] test tests::pighetti_github_issue_12 ... ok
[INFO] [stdout] test tests::nested_random_cut_pieces ... ok
[INFO] [stdout] test tests::nested_rotate_cut_pieces ... ok
[INFO] [stdout] test tests::stock_pieces_dec_quantity ... ok
[INFO] [stdout] test tests::nested_64_cut_pieces_on_2_stock_pieces ... ok
[INFO] [stdout] test tests::guillotine_32_cut_pieces_on_2_stock_piece ... ok
[INFO] [stdout] test tests::pighetti_github_issue_16 ... ok
[INFO] [stdout] test tests::guillotine_random_cut_pieces ... ok
[INFO] [stdout] test tests::deterministic_solutions ... ok
[INFO] [stdout] test tests::guillotine_64_cut_pieces_on_2_stock_pieces ... ok
[INFO] [stderr]    Doc-tests cut_optimizer_2d
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 57 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 18.57s
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/guillotine.rs:514:52
[INFO] [stderr]     |
[INFO] [stderr] 514 |             SplitHeuristic::ShorterLeftoverAxis => (w <= h),
[INFO] [stderr]     |                                                    ^      ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 514 -             SplitHeuristic::ShorterLeftoverAxis => (w <= h),
[INFO] [stderr] 514 +             SplitHeuristic::ShorterLeftoverAxis => w <= h,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/guillotine.rs:515:51
[INFO] [stderr]     |
[INFO] [stderr] 515 |             SplitHeuristic::LongerLeftoverAxis => (w > h),
[INFO] [stderr]     |                                                   ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 515 -             SplitHeuristic::LongerLeftoverAxis => (w > h),
[INFO] [stderr] 515 +             SplitHeuristic::LongerLeftoverAxis => w > h,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/guillotine.rs:516:45
[INFO] [stderr]     |
[INFO] [stderr] 516 |             SplitHeuristic::MinimizeArea => (rect.width as u64 * h > w * rect.length as u64),
[INFO] [stderr]     |                                             ^                                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 516 -             SplitHeuristic::MinimizeArea => (rect.width as u64 * h > w * rect.length as u64),
[INFO] [stderr] 516 +             SplitHeuristic::MinimizeArea => rect.width as u64 * h > w * rect.length as u64,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/guillotine.rs:517:45
[INFO] [stderr]     |
[INFO] [stderr] 517 |             SplitHeuristic::MaximizeArea => (rect.width as u64 * h <= w * rect.length as u64),
[INFO] [stderr]     |                                             ^                                               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 517 -             SplitHeuristic::MaximizeArea => (rect.width as u64 * h <= w * rect.length as u64),
[INFO] [stderr] 517 +             SplitHeuristic::MaximizeArea => rect.width as u64 * h <= w * rect.length as u64,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/guillotine.rs:518:44
[INFO] [stderr]     |
[INFO] [stderr] 518 |             SplitHeuristic::ShorterAxis => (free_rect.width as u64 <= free_rect.length as u64),
[INFO] [stderr]     |                                            ^                                                 ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 518 -             SplitHeuristic::ShorterAxis => (free_rect.width as u64 <= free_rect.length as u64),
[INFO] [stderr] 518 +             SplitHeuristic::ShorterAxis => free_rect.width as u64 <= free_rect.length as u64,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/guillotine.rs:519:43
[INFO] [stderr]     |
[INFO] [stderr] 519 |             SplitHeuristic::LongerAxis => (free_rect.width as u64 > free_rect.length as u64),
[INFO] [stderr]     |                                           ^                                                ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 519 -             SplitHeuristic::LongerAxis => (free_rect.width as u64 > free_rect.length as u64),
[INFO] [stderr] 519 +             SplitHeuristic::LongerAxis => free_rect.width as u64 > free_rect.length as u64,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 6 warnings emitted
[INFO] [stderr] 
[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" "2259db2201ac3016cc88820523cc4f2d35572bdb66fc0ca0a93b435a2591baae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2259db2201ac3016cc88820523cc4f2d35572bdb66fc0ca0a93b435a2591baae", kill_on_drop: false }`
[INFO] [stdout] 2259db2201ac3016cc88820523cc4f2d35572bdb66fc0ca0a93b435a2591baae
