[INFO] cloning repository https://github.com/zoukba0014/Personal_shopper_optimal
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zoukba0014/Personal_shopper_optimal" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzoukba0014%2FPersonal_shopper_optimal", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzoukba0014%2FPersonal_shopper_optimal'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 82befe72d7de4ca6f943de40890f4fb44e0edf4c
[INFO] testing zoukba0014/Personal_shopper_optimal against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzoukba0014%2FPersonal_shopper_optimal" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zoukba0014/Personal_shopper_optimal
[INFO] finished tweaking git repo https://github.com/zoukba0014/Personal_shopper_optimal
[INFO] tweaked toml for git repo https://github.com/zoukba0014/Personal_shopper_optimal written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zoukba0014/Personal_shopper_optimal on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zoukba0014/Personal_shopper_optimal 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded plotters-bitmap v0.3.7
[INFO] [stderr]   Downloaded yeslogic-fontconfig-sys v6.0.0
[INFO] [stderr]   Downloaded pathfinder_simd v0.5.4
[INFO] [stderr]   Downloaded float_next_after v1.0.0
[INFO] [stderr]   Downloaded rstar v0.10.0
[INFO] [stderr]   Downloaded geographiclib-rs v0.2.4
[INFO] [stderr]   Downloaded geo-types v0.7.16
[INFO] [stderr]   Downloaded flate2 v1.1.0
[INFO] [stderr]   Downloaded priority-queue v1.4.0
[INFO] [stderr]   Downloaded dwrote v0.11.3
[INFO] [stderr]   Downloaded font-kit v0.14.2
[INFO] [stderr]   Downloaded geo v0.24.1
[INFO] [stderr]   Downloaded freetype-sys v0.20.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8b28017f1b1d70f39260f037c5bd00494089a26db4ea67d1faa756c91a8aae37
[INFO] running `Command { std: "docker" "start" "-a" "8b28017f1b1d70f39260f037c5bd00494089a26db4ea67d1faa756c91a8aae37", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8b28017f1b1d70f39260f037c5bd00494089a26db4ea67d1faa756c91a8aae37", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b28017f1b1d70f39260f037c5bd00494089a26db4ea67d1faa756c91a8aae37", kill_on_drop: false }`
[INFO] [stdout] 8b28017f1b1d70f39260f037c5bd00494089a26db4ea67d1faa756c91a8aae37
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cb5770a2a70a1a1352c3e263ccd0e5ced4262b5aa4c032eb86237690fc1a5e12
[INFO] running `Command { std: "docker" "start" "-a" "cb5770a2a70a1a1352c3e263ccd0e5ced4262b5aa4c032eb86237690fc1a5e12", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling cc v1.2.17
[INFO] [stderr]    Compiling miniz_oxide v0.8.5
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v6.0.0
[INFO] [stderr]    Compiling hash32 v0.2.1
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]    Compiling pathfinder_simd v0.5.4
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling bytemuck v1.22.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling once_cell v1.21.1
[INFO] [stderr]    Compiling weezl v0.1.8
[INFO] [stderr]    Compiling jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling font-kit v0.14.2
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling gif v0.12.0
[INFO] [stderr]    Compiling priority-queue v1.4.0
[INFO] [stderr]    Compiling float-ord v0.3.2
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling indexmap v2.8.0
[INFO] [stderr]    Compiling flate2 v1.1.0
[INFO] [stderr]    Compiling geographiclib-rs v0.2.4
[INFO] [stderr]    Compiling pathfinder_geometry v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling ttf-parser v0.20.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling robust v0.2.3
[INFO] [stderr]    Compiling rstar v0.10.0
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling float_next_after v1.0.0
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling geo-types v0.7.16
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling geo v0.24.1
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling freetype-sys v0.20.1
[INFO] [stderr]    Compiling plotters-bitmap v0.3.7
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling personal_shopper v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `shopper_location`
[INFO] [stdout]    --> src/algorithms/bsl_psd.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         shopper_location: Location,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shopper_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `customer_location`
[INFO] [stdout]    --> src/algorithms/bsl_psd.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         customer_location: Location,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_customer_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueueState` is never constructed
[INFO] [stdout]   --> src/algorithms/bsl_psd.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct QueueState {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_remaining_items` is never used
[INFO] [stdout]     --> src/algorithms/bsl_psd.rs:1397:4
[INFO] [stdout]      |
[INFO] [stdout] 1397 | fn sort_remaining_items(items: Vec<(ProductId, u32)>) -> Vec<(ProductId, u32)> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 40s
[INFO] running `Command { std: "docker" "inspect" "cb5770a2a70a1a1352c3e263ccd0e5ced4262b5aa4c032eb86237690fc1a5e12", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb5770a2a70a1a1352c3e263ccd0e5ced4262b5aa4c032eb86237690fc1a5e12", kill_on_drop: false }`
[INFO] [stdout] cb5770a2a70a1a1352c3e263ccd0e5ced4262b5aa4c032eb86237690fc1a5e12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a405eff86601ef0249e88ad0e6210f41c35282aad346622fb758047dd9a53f3f
[INFO] running `Command { std: "docker" "start" "-a" "a405eff86601ef0249e88ad0e6210f41c35282aad346622fb758047dd9a53f3f", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling half v2.5.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling os_str_bytes v6.6.1
[INFO] [stderr]    Compiling priority-queue v1.4.0
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling clap v3.2.25
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling personal_shopper v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling criterion v0.4.0
[INFO] [stdout] warning: unused variable: `shopper_location`
[INFO] [stdout]    --> src/algorithms/bsl_psd.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         shopper_location: Location,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shopper_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `customer_location`
[INFO] [stdout]    --> src/algorithms/bsl_psd.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         customer_location: Location,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_customer_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueueState` is never constructed
[INFO] [stdout]   --> src/algorithms/bsl_psd.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct QueueState {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_remaining_items` is never used
[INFO] [stdout]     --> src/algorithms/bsl_psd.rs:1397:4
[INFO] [stdout]      |
[INFO] [stdout] 1397 | fn sort_remaining_items(items: Vec<(ProductId, u32)>) -> Vec<(ProductId, u32)> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> tests/test_supply_comparison.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ShoppingRoute`
[INFO] [stdout]  --> tests/supply_limit_route_comparison.rs:4:56
[INFO] [stdout]   |
[INFO] [stdout] 4 | use personal_shopper::models::{Location, ShoppingList, ShoppingRoute};
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> tests/supply_limit_route_comparison.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> tests/supply_limit_route_comparison.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shopper_location`
[INFO] [stdout]   --> tests/supply_limit_route_comparison.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     shopper_location: &Location,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shopper_location`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `customer_location`
[INFO] [stdout]   --> tests/supply_limit_route_comparison.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     customer_location: &Location,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_customer_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `store`
[INFO] [stdout]    --> tests/test_bsl_psd_with_visualization_solve.rs:499:42
[INFO] [stdout]     |
[INFO] [stdout] 499 |             let store_name = if let Some(store) = stores_map.get(store_id) {
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_store`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `store_label`
[INFO] [stdout]    --> tests/test_bsl_psd_with_visualization_solve.rs:545:21
[INFO] [stdout]     |
[INFO] [stdout] 545 |                 let store_label = if let Some(store) = stores_map.get(store_id) {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_store_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limited_output_path`
[INFO] [stdout]   --> tests/test_supply_comparison.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let limited_output_path = format!("bsl_psd_limited_supply_{}_products.png", product_count);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_limited_output_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `infinite_output_path`
[INFO] [stdout]   --> tests/test_supply_comparison.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let infinite_output_path =
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_infinite_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limited_trade_off`
[INFO] [stdout]    --> tests/test_supply_comparison.rs:341:21
[INFO] [stdout]     |
[INFO] [stdout] 341 |             let mut limited_trade_off: Option<(f64, f64, f64)> = None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_limited_trade_off`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_supply_comparison.rs:341:17
[INFO] [stdout]     |
[INFO] [stdout] 341 |             let mut limited_trade_off: Option<(f64, f64, f64)> = None;
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_time_cost_chart` is never used
[INFO] [stdout]    --> tests/test_supply_comparison.rs:607:4
[INFO] [stdout]     |
[INFO] [stdout] 607 | fn create_time_cost_chart(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `determine_bounds` is never used
[INFO] [stdout]     --> tests/test_supply_comparison.rs:1100:4
[INFO] [stdout]      |
[INFO] [stdout] 1100 | fn determine_bounds(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shopper_location`
[INFO] [stdout]    --> src/algorithms/bsl_psd.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         shopper_location: Location,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shopper_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `customer_location`
[INFO] [stdout]    --> src/algorithms/bsl_psd.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         customer_location: Location,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_customer_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueueState` is never constructed
[INFO] [stdout]   --> src/algorithms/bsl_psd.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct QueueState {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort_remaining_items` is never used
[INFO] [stdout]     --> src/algorithms/bsl_psd.rs:1397:4
[INFO] [stdout]      |
[INFO] [stdout] 1397 | fn sort_remaining_items(items: Vec<(ProductId, u32)>) -> Vec<(ProductId, u32)> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 43s
[INFO] running `Command { std: "docker" "inspect" "a405eff86601ef0249e88ad0e6210f41c35282aad346622fb758047dd9a53f3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a405eff86601ef0249e88ad0e6210f41c35282aad346622fb758047dd9a53f3f", kill_on_drop: false }`
[INFO] [stdout] a405eff86601ef0249e88ad0e6210f41c35282aad346622fb758047dd9a53f3f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 43626a36a1196a50efff481af9b6cb007c4157a96787159431c7a463ed73b278
[INFO] running `Command { std: "docker" "start" "-a" "43626a36a1196a50efff481af9b6cb007c4157a96787159431c7a463ed73b278", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `shopper_location`
[INFO] [stderr]    --> src/algorithms/bsl_psd.rs:134:9
[INFO] [stderr]     |
[INFO] [stderr] 134 |         shopper_location: Location,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shopper_location`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `customer_location`
[INFO] [stderr]    --> src/algorithms/bsl_psd.rs:135:9
[INFO] [stderr]     |
[INFO] [stderr] 135 |         customer_location: Location,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_customer_location`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `QueueState` is never constructed
[INFO] [stderr]   --> src/algorithms/bsl_psd.rs:36:8
[INFO] [stderr]    |
[INFO] [stderr] 36 | struct QueueState {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `sort_remaining_items` is never used
[INFO] [stderr]     --> src/algorithms/bsl_psd.rs:1397:4
[INFO] [stderr]      |
[INFO] [stderr] 1397 | fn sort_remaining_items(items: Vec<(ProductId, u32)>) -> Vec<(ProductId, u32)> {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `personal_shopper` (lib) generated 4 warnings
[INFO] [stderr] warning: unused variable: `store`
[INFO] [stderr]    --> tests/test_bsl_psd_with_visualization_solve.rs:499:42
[INFO] [stderr]     |
[INFO] [stderr] 499 |             let store_name = if let Some(store) = stores_map.get(store_id) {
[INFO] [stderr]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_store`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `store_label`
[INFO] [stderr]    --> tests/test_bsl_psd_with_visualization_solve.rs:545:21
[INFO] [stderr]     |
[INFO] [stderr] 545 |                 let store_label = if let Some(store) = stores_map.get(store_id) {
[INFO] [stderr]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_store_label`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ShoppingRoute`
[INFO] [stderr]  --> tests/supply_limit_route_comparison.rs:4:56
[INFO] [stderr]   |
[INFO] [stderr] 4 | use personal_shopper::models::{Location, ShoppingList, ShoppingRoute};
[INFO] [stderr]   |                                                        ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> tests/supply_limit_route_comparison.rs:8:33
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]   --> tests/supply_limit_route_comparison.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::sync::Arc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `shopper_location`
[INFO] [stderr]   --> tests/supply_limit_route_comparison.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     shopper_location: &Location,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shopper_location`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `customer_location`
[INFO] [stderr]   --> tests/supply_limit_route_comparison.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 |     customer_location: &Location,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_customer_location`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Instant`
[INFO] [stderr]  --> tests/test_supply_comparison.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::time::Instant;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limited_output_path`
[INFO] [stderr]   --> tests/test_supply_comparison.rs:28:13
[INFO] [stderr]    |
[INFO] [stderr] 28 |         let limited_output_path = format!("bsl_psd_limited_supply_{}_products.png", product_count);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_limited_output_path`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `infinite_output_path`
[INFO] [stderr]   --> tests/test_supply_comparison.rs:29:13
[INFO] [stderr]    |
[INFO] [stderr] 29 |         let infinite_output_path =
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_infinite_output_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limited_trade_off`
[INFO] [stderr]    --> tests/test_supply_comparison.rs:341:21
[INFO] [stderr]     |
[INFO] [stderr] 341 |             let mut limited_trade_off: Option<(f64, f64, f64)> = None;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_limited_trade_off`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_supply_comparison.rs:341:17
[INFO] [stderr]     |
[INFO] [stderr] 341 |             let mut limited_trade_off: Option<(f64, f64, f64)> = None;
[INFO] [stderr]     |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `create_time_cost_chart` is never used
[INFO] [stderr]    --> tests/test_supply_comparison.rs:607:4
[INFO] [stderr]     |
[INFO] [stderr] 607 | fn create_time_cost_chart(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `determine_bounds` is never used
[INFO] [stderr]     --> tests/test_supply_comparison.rs:1100:4
[INFO] [stderr]      |
[INFO] [stderr] 1100 | fn determine_bounds(
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `personal_shopper` (test "test_bsl_psd_with_visualization_solve") generated 2 warnings
[INFO] [stderr] warning: `personal_shopper` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: `personal_shopper` (test "supply_limit_route_comparison") generated 5 warnings (run `cargo fix --test "supply_limit_route_comparison"` to apply 3 suggestions)
[INFO] [stderr] warning: `personal_shopper` (test "test_supply_comparison") generated 7 warnings (run `cargo fix --test "test_supply_comparison"` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/personal_shopper-d7e3b8df7ab2b711)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test models::product::tests::test_product_clone ... ok
[INFO] [stdout] test models::location::tests::test_manhattan_distance ... ok
[INFO] [stdout] test models::location::tests::test_distance ... ok
[INFO] [stdout] test models::product::tests::test_product_creation ... ok
[INFO] [stdout] test models::route::tests::test_route_candidate_ordering ... ok
[INFO] [stdout] test models::shopping_list::tests::test_can_be_fulfilled_by ... ok
[INFO] [stdout] test models::shopping_list::tests::test_create_fulfillable_list ... ok
[INFO] [stdout] test models::store::tests::test_has_product ... ok
[INFO] [stdout] test models::store::tests::test_has_sufficient_quantity ... ok
[INFO] [stdout] test models::store::tests::test_reduce_inventory ... ok
[INFO] [stdout] test models::store::tests::test_restock ... ok
[INFO] [stdout] test utils::distance::tests::test_euclidean_distance ... ok
[INFO] [stdout] test utils::distance::tests::test_manhattan_distance ... ok
[INFO] [stdout] test utils::skyline::tests::test_skyline_insertion ... ok
[INFO] [stdout] test utils::skyline::tests::test_conventional_domination ... ok
[INFO] [stdout] test models::shopping_list::tests::test_find_relevant_stores ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/personal_shopper-d24c38c15b8064c8)
[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] [stderr]      Running tests/extreme_threshold_analysis.rs (/opt/rustwide/target/debug/deps/extreme_threshold_analysis-f079191b1525d6eb)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_extreme_threshold_analysis has been running for over 60 seconds
[INFO] [stdout] test test_extreme_threshold_analysis ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_extreme_threshold_analysis stdout ----
[INFO] [stdout] Starting extreme threshold performance analysis test
[INFO] [stdout] Loading map data...
[INFO] [stdout] Initializing map data for city AMS...
[INFO] [stdout] Loaded 106600 road vertices
[INFO] [stdout] Loaded 130091 roads
[INFO] [stdout] Loaded 343 restaurants
[INFO] [stdout] Store 0 has 3 products
[INFO] [stdout] Store 1 has 4 products
[INFO] [stdout] Store 2 has 5 products
[INFO] [stdout] Store 3 has 6 products
[INFO] [stdout] Store 4 has 7 products
[INFO] [stdout] Store 5 has 8 products
[INFO] [stdout] Store 6 has 10 products
[INFO] [stdout] Store 7 has 11 products
[INFO] [stdout] Store 8 has 8 products
[INFO] [stdout] Store 9 has 20 products
[INFO] [stdout] Store 10 has 7 products
[INFO] [stdout] Store 11 has 7 products
[INFO] [stdout] Store 12 has 3 products
[INFO] [stdout] Store 13 has 4 products
[INFO] [stdout] Store 14 has 5 products
[INFO] [stdout] Store 15 has 6 products
[INFO] [stdout] Store 16 has 8 products
[INFO] [stdout] Store 17 has 9 products
[INFO] [stdout] Store 18 has 10 products
[INFO] [stdout] Store 19 has 19 products
[INFO] [stdout] Store 20 has 5 products
[INFO] [stdout] Store 21 has 6 products
[INFO] [stdout] Store 22 has 7 products
[INFO] [stdout] Store 23 has 8 products
[INFO] [stdout] Store 24 has 3 products
[INFO] [stdout] Store 25 has 4 products
[INFO] [stdout] Store 26 has 10 products
[INFO] [stdout] Store 27 has 10 products
[INFO] [stdout] Store 28 has 11 products
[INFO] [stdout] Store 29 has 17 products
[INFO] [stdout] Store 30 has 3 products
[INFO] [stdout] Store 31 has 4 products
[INFO] [stdout] Store 32 has 5 products
[INFO] [stdout] Store 33 has 6 products
[INFO] [stdout] Store 34 has 6 products
[INFO] [stdout] Store 35 has 6 products
[INFO] [stdout] Store 36 has 10 products
[INFO] [stdout] Store 37 has 11 products
[INFO] [stdout] Store 38 has 12 products
[INFO] [stdout] Store 39 has 17 products
[INFO] [stdout] Store 40 has 7 products
[INFO] [stdout] Store 41 has 8 products
[INFO] [stdout] Store 42 has 3 products
[INFO] [stdout] Store 43 has 4 products
[INFO] [stdout] Store 44 has 5 products
[INFO] [stdout] Store 45 has 6 products
[INFO] [stdout] Store 46 has 12 products
[INFO] [stdout] Store 47 has 12 products
[INFO] [stdout] Store 48 has 8 products
[INFO] [stdout] Store 49 has 18 products
[INFO] [stdout] Store 50 has 5 products
[INFO] [stdout] Store 51 has 6 products
[INFO] [stdout] Store 52 has 6 products
[INFO] [stdout] Store 53 has 6 products
[INFO] [stdout] Store 54 has 3 products
[INFO] [stdout] Store 55 has 4 products
[INFO] [stdout] Store 56 has 8 products
[INFO] [stdout] Store 57 has 9 products
[INFO] [stdout] Store 58 has 10 products
[INFO] [stdout] Store 59 has 19 products
[INFO] [stdout] Store 60 has 3 products
[INFO] [stdout] Store 61 has 4 products
[INFO] [stdout] Store 62 has 5 products
[INFO] [stdout] Store 63 has 6 products
[INFO] [stdout] Store 64 has 7 products
[INFO] [stdout] Store 65 has 8 products
[INFO] [stdout] Store 66 has 10 products
[INFO] [stdout] Store 67 has 10 products
[INFO] [stdout] Store 68 has 10 products
[INFO] [stdout] Store 69 has 18 products
[INFO] [stdout] Store 70 has 7 products
[INFO] [stdout] Store 71 has 5 products
[INFO] [stdout] Store 72 has 3 products
[INFO] [stdout] Store 73 has 4 products
[INFO] [stdout] Store 74 has 5 products
[INFO] [stdout] Store 75 has 6 products
[INFO] [stdout] Store 76 has 10 products
[INFO] [stdout] Store 77 has 10 products
[INFO] [stdout] Store 78 has 11 products
[INFO] [stdout] Store 79 has 17 products
[INFO] [stdout] Store 80 has 5 products
[INFO] [stdout] Store 81 has 6 products
[INFO] [stdout] Store 82 has 7 products
[INFO] [stdout] Store 83 has 8 products
[INFO] [stdout] Store 84 has 3 products
[INFO] [stdout] Store 85 has 4 products
[INFO] [stdout] Store 86 has 10 products
[INFO] [stdout] Store 87 has 10 products
[INFO] [stdout] Store 88 has 8 products
[INFO] [stdout] Store 89 has 16 products
[INFO] [stdout] Store 90 has 3 products
[INFO] [stdout] Store 91 has 4 products
[INFO] [stdout] Store 92 has 5 products
[INFO] [stdout] Store 93 has 6 products
[INFO] [stdout] Store 94 has 6 products
[INFO] [stdout] Store 95 has 8 products
[INFO] [stdout] Store 96 has 8 products
[INFO] [stdout] Store 97 has 9 products
[INFO] [stdout] Store 98 has 10 products
[INFO] [stdout] Store 99 has 15 products
[INFO] [stdout] Store 100 has 7 products
[INFO] [stdout] Store 101 has 8 products
[INFO] [stdout] Store 102 has 3 products
[INFO] [stdout] Store 103 has 4 products
[INFO] [stdout] Store 104 has 5 products
[INFO] [stdout] Store 105 has 6 products
[INFO] [stdout] Store 106 has 10 products
[INFO] [stdout] Store 107 has 11 products
[INFO] [stdout] Store 108 has 10 products
[INFO] [stdout] Store 109 has 20 products
[INFO] [stdout] Store 110 has 5 products
[INFO] [stdout] Store 111 has 6 products
[INFO] [stdout] Store 112 has 6 products
[INFO] [stdout] Store 113 has 8 products
[INFO] [stdout] Store 114 has 3 products
[INFO] [stdout] Store 115 has 4 products
[INFO] [stdout] Store 116 has 11 products
[INFO] [stdout] Store 117 has 10 products
[INFO] [stdout] Store 118 has 10 products
[INFO] [stdout] Store 119 has 19 products
[INFO] [stdout] Store 120 has 3 products
[INFO] [stdout] Store 121 has 4 products
[INFO] [stdout] Store 122 has 5 products
[INFO] [stdout] Store 123 has 6 products
[INFO] [stdout] Store 124 has 7 products
[INFO] [stdout] Store 125 has 6 products
[INFO] [stdout] Store 126 has 10 products
[INFO] [stdout] Store 127 has 10 products
[INFO] [stdout] Store 128 has 8 products
[INFO] [stdout] Store 129 has 17 products
[INFO] [stdout] Store 130 has 7 products
[INFO] [stdout] Store 131 has 8 products
[INFO] [stdout] Store 132 has 3 products
[INFO] [stdout] Store 133 has 4 products
[INFO] [stdout] Store 134 has 5 products
[INFO] [stdout] Store 135 has 6 products
[INFO] [stdout] Store 136 has 8 products
[INFO] [stdout] Store 137 has 9 products
[INFO] [stdout] Store 138 has 10 products
[INFO] [stdout] Store 139 has 17 products
[INFO] [stdout] Store 140 has 5 products
[INFO] [stdout] Store 141 has 6 products
[INFO] [stdout] Store 142 has 7 products
[INFO] [stdout] Store 143 has 6 products
[INFO] [stdout] Store 144 has 3 products
[INFO] [stdout] Store 145 has 4 products
[INFO] [stdout] Store 146 has 10 products
[INFO] [stdout] Store 147 has 11 products
[INFO] [stdout] Store 148 has 11 products
[INFO] [stdout] Store 149 has 18 products
[INFO] [stdout] Store 150 has 3 products
[INFO] [stdout] Store 151 has 4 products
[INFO] [stdout] Store 152 has 5 products
[INFO] [stdout] Store 153 has 6 products
[INFO] [stdout] Store 154 has 7 products
[INFO] [stdout] Store 155 has 8 products
[INFO] [stdout] Store 156 has 11 products
[INFO] [stdout] Store 157 has 11 products
[INFO] [stdout] Store 158 has 10 products
[INFO] [stdout] Store 159 has 19 products
[INFO] [stdout] Store 160 has 7 products
[INFO] [stdout] Store 161 has 7 products
[INFO] [stdout] Store 162 has 3 products
[INFO] [stdout] Store 163 has 4 products
[INFO] [stdout] Store 164 has 5 products
[INFO] [stdout] Store 165 has 6 products
[INFO] [stdout] Store 166 has 11 products
[INFO] [stdout] Store 167 has 10 products
[INFO] [stdout] Store 168 has 8 products
[INFO] [stdout] Store 169 has 19 products
[INFO] [stdout] Store 170 has 5 products
[INFO] [stdout] Store 171 has 5 products
[INFO] [stdout] Store 172 has 7 products
[INFO] [stdout] Store 173 has 8 products
[INFO] [stdout] Store 174 has 3 products
[INFO] [stdout] Store 175 has 4 products
[INFO] [stdout] Store 176 has 8 products
[INFO] [stdout] Store 177 has 9 products
[INFO] [stdout] Store 178 has 10 products
[INFO] [stdout] Store 179 has 17 products
[INFO] [stdout] Store 180 has 3 products
[INFO] [stdout] Store 181 has 4 products
[INFO] [stdout] Store 182 has 5 products
[INFO] [stdout] Store 183 has 6 products
[INFO] [stdout] Store 184 has 7 products
[INFO] [stdout] Store 185 has 7 products
[INFO] [stdout] Store 186 has 10 products
[INFO] [stdout] Store 187 has 10 products
[INFO] [stdout] Store 188 has 10 products
[INFO] [stdout] Store 189 has 16 products
[INFO] [stdout] Store 190 has 7 products
[INFO] [stdout] Store 191 has 8 products
[INFO] [stdout] Store 192 has 3 products
[INFO] [stdout] Store 193 has 4 products
[INFO] [stdout] Store 194 has 5 products
[INFO] [stdout] Store 195 has 6 products
[INFO] [stdout] Store 196 has 10 products
[INFO] [stdout] Store 197 has 10 products
[INFO] [stdout] Store 198 has 10 products
[INFO] [stdout] Store 199 has 16 products
[INFO] [stdout] Store 200 has 5 products
[INFO] [stdout] Store 201 has 6 products
[INFO] [stdout] Store 202 has 7 products
[INFO] [stdout] Store 203 has 6 products
[INFO] [stdout] Store 204 has 3 products
[INFO] [stdout] Store 205 has 4 products
[INFO] [stdout] Store 206 has 10 products
[INFO] [stdout] Store 207 has 11 products
[INFO] [stdout] Store 208 has 8 products
[INFO] [stdout] Store 209 has 15 products
[INFO] [stdout] Store 210 has 3 products
[INFO] [stdout] Store 211 has 4 products
[INFO] [stdout] Store 212 has 5 products
[INFO] [stdout] Store 213 has 6 products
[INFO] [stdout] Store 214 has 7 products
[INFO] [stdout] Store 215 has 8 products
[INFO] [stdout] Store 216 has 8 products
[INFO] [stdout] Store 217 has 9 products
[INFO] [stdout] Store 218 has 10 products
[INFO] [stdout] Store 219 has 19 products
[INFO] [stdout] Store 220 has 7 products
[INFO] [stdout] Store 221 has 6 products
[INFO] [stdout] Store 222 has 3 products
[INFO] [stdout] Store 223 has 4 products
[INFO] [stdout] Store 224 has 5 products
[INFO] [stdout] Store 225 has 6 products
[INFO] [stdout] Store 226 has 10 products
[INFO] [stdout] Store 227 has 10 products
[INFO] [stdout] Store 228 has 11 products
[INFO] [stdout] Store 229 has 17 products
[INFO] [stdout] Store 230 has 5 products
[INFO] [stdout] Store 231 has 6 products
[INFO] [stdout] Store 232 has 7 products
[INFO] [stdout] Store 233 has 8 products
[INFO] [stdout] Store 234 has 3 products
[INFO] [stdout] Store 235 has 4 products
[INFO] [stdout] Store 236 has 10 products
[INFO] [stdout] Store 237 has 11 products
[INFO] [stdout] Store 238 has 12 products
[INFO] [stdout] Store 239 has 17 products
[INFO] [stdout] Store 240 has 3 products
[INFO] [stdout] Store 241 has 4 products
[INFO] [stdout] Store 242 has 5 products
[INFO] [stdout] Store 243 has 6 products
[INFO] [stdout] Store 244 has 6 products
[INFO] [stdout] Store 245 has 8 products
[INFO] [stdout] Store 246 has 12 products
[INFO] [stdout] Store 247 has 12 products
[INFO] [stdout] Store 248 has 8 products
[INFO] [stdout] Store 249 has 18 products
[INFO] [stdout] Store 250 has 7 products
[INFO] [stdout] Store 251 has 8 products
[INFO] [stdout] Store 252 has 3 products
[INFO] [stdout] Store 253 has 4 products
[INFO] [stdout] Store 254 has 5 products
[INFO] [stdout] Store 255 has 6 products
[INFO] [stdout] Store 256 has 8 products
[INFO] [stdout] Store 257 has 9 products
[INFO] [stdout] Store 258 has 10 products
[INFO] [stdout] Store 259 has 19 products
[INFO] [stdout] Store 260 has 5 products
[INFO] [stdout] Store 261 has 6 products
[INFO] [stdout] Store 262 has 6 products
[INFO] [stdout] Store 263 has 7 products
[INFO] [stdout] Store 264 has 3 products
[INFO] [stdout] Store 265 has 4 products
[INFO] [stdout] Store 266 has 10 products
[INFO] [stdout] Store 267 has 10 products
[INFO] [stdout] Store 268 has 10 products
[INFO] [stdout] Store 269 has 19 products
[INFO] [stdout] Store 270 has 3 products
[INFO] [stdout] Store 271 has 4 products
[INFO] [stdout] Store 272 has 5 products
[INFO] [stdout] Store 273 has 6 products
[INFO] [stdout] Store 274 has 7 products
[INFO] [stdout] Store 275 has 6 products
[INFO] [stdout] Store 276 has 10 products
[INFO] [stdout] Store 277 has 10 products
[INFO] [stdout] Store 278 has 11 products
[INFO] [stdout] Store 279 has 17 products
[INFO] [stdout] Store 280 has 5 products
[INFO] [stdout] Store 281 has 7 products
[INFO] [stdout] Store 282 has 3 products
[INFO] [stdout] Store 283 has 4 products
[INFO] [stdout] Store 284 has 5 products
[INFO] [stdout] Store 285 has 6 products
[INFO] [stdout] Store 286 has 10 products
[INFO] [stdout] Store 287 has 10 products
[INFO] [stdout] Store 288 has 8 products
[INFO] [stdout] Store 289 has 16 products
[INFO] [stdout] Store 290 has 5 products
[INFO] [stdout] Store 291 has 6 products
[INFO] [stdout] Store 292 has 7 products
[INFO] [stdout] Store 293 has 7 products
[INFO] [stdout] Store 294 has 3 products
[INFO] [stdout] Store 295 has 4 products
[INFO] [stdout] Store 296 has 8 products
[INFO] [stdout] Store 297 has 9 products
[INFO] [stdout] Store 298 has 10 products
[INFO] [stdout] Store 299 has 17 products
[INFO] [stdout] Store 300 has 3 products
[INFO] [stdout] Store 301 has 4 products
[INFO] [stdout] Store 302 has 5 products
[INFO] [stdout] Store 303 has 6 products
[INFO] [stdout] Store 304 has 7 products
[INFO] [stdout] Store 305 has 8 products
[INFO] [stdout] Store 306 has 10 products
[INFO] [stdout] Store 307 has 11 products
[INFO] [stdout] Store 308 has 10 products
[INFO] [stdout] Store 309 has 16 products
[INFO] [stdout] Store 310 has 7 products
[INFO] [stdout] Store 311 has 7 products
[INFO] [stdout] Store 312 has 3 products
[INFO] [stdout] Store 313 has 4 products
[INFO] [stdout] Store 314 has 5 products
[INFO] [stdout] Store 315 has 6 products
[INFO] [stdout] Store 316 has 11 products
[INFO] [stdout] Store 317 has 10 products
[INFO] [stdout] Store 318 has 10 products
[INFO] [stdout] Store 319 has 15 products
[INFO] [stdout] Store 320 has 5 products
[INFO] [stdout] Store 321 has 6 products
[INFO] [stdout] Store 322 has 7 products
[INFO] [stdout] Store 323 has 8 products
[INFO] [stdout] Store 324 has 3 products
[INFO] [stdout] Store 325 has 4 products
[INFO] [stdout] Store 326 has 10 products
[INFO] [stdout] Store 327 has 10 products
[INFO] [stdout] Store 328 has 8 products
[INFO] [stdout] Store 329 has 17 products
[INFO] [stdout] Store 330 has 3 products
[INFO] [stdout] Store 331 has 4 products
[INFO] [stdout] Store 332 has 5 products
[INFO] [stdout] Store 333 has 6 products
[INFO] [stdout] Store 334 has 6 products
[INFO] [stdout] Store 335 has 6 products
[INFO] [stdout] Store 336 has 8 products
[INFO] [stdout] Store 337 has 9 products
[INFO] [stdout] Store 338 has 10 products
[INFO] [stdout] Store 339 has 17 products
[INFO] [stdout] Store 340 has 7 products
[INFO] [stdout] Store 341 has 8 products
[INFO] [stdout] Store 342 has 3 products
[INFO] [stdout] Converted restaurant data to 343 stores
[INFO] [stdout] Calculating travel times between stores based on road network...
[INFO] [stdout] Attempting to load travel times from cache...
[INFO] [stdout] Successfully loaded 117306 travel time records from cache
[INFO] [stdout] Calculated travel times for 117306 store pairs
[INFO] [stdout] 
[INFO] [stdout] Available products:
[INFO] [stdout]   Product ID: 24, Name: X, Total supply: 1057
[INFO] [stdout]   Product ID: 11, Name: K, Total supply: 708
[INFO] [stdout]   Product ID: 19, Name: S, Total supply: 1162
[INFO] [stdout]   Product ID: 28, Name: Product28, Total supply: 726
[INFO] [stdout]   Product ID: 4, Name: D, Total supply: 1288
[INFO] [stdout]   Product ID: 12, Name: L, Total supply: 880
[INFO] [stdout]   Product ID: 8, Name: H, Total supply: 1122
[INFO] [stdout]   Product ID: 29, Name: Product29, Total supply: 889
[INFO] [stdout]   Product ID: 7, Name: G, Total supply: 940
[INFO] [stdout]   Product ID: 27, Name: Product27, Total supply: 585
[INFO] [stdout]   Product ID: 30, Name: Product30, Total supply: 324
[INFO] [stdout]   Product ID: 13, Name: M, Total supply: 1032
[INFO] [stdout]   Product ID: 21, Name: U, Total supply: 608
[INFO] [stdout]   Product ID: 5, Name: E, Total supply: 537
[INFO] [stdout]   Product ID: 18, Name: R, Total supply: 1002
[INFO] [stdout]   Product ID: 1, Name: A, Total supply: 716
[INFO] [stdout]   Product ID: 9, Name: I, Total supply: 1274
[INFO] [stdout]   Product ID: 20, Name: T, Total supply: 507
[INFO] [stdout]   Product ID: 14, Name: N, Total supply: 1239
[INFO] [stdout]   Product ID: 17, Name: Q, Total supply: 880
[INFO] [stdout]   Product ID: 6, Name: F, Total supply: 748
[INFO] [stdout]   Product ID: 23, Name: W, Total supply: 936
[INFO] [stdout]   Product ID: 2, Name: B, Total supply: 915
[INFO] [stdout]   Product ID: 26, Name: Z, Total supply: 512
[INFO] [stdout]   Product ID: 16, Name: P, Total supply: 692
[INFO] [stdout]   Product ID: 10, Name: J, Total supply: 552
[INFO] [stdout]   Product ID: 25, Name: Y, Total supply: 354
[INFO] [stdout]   Product ID: 22, Name: V, Total supply: 770
[INFO] [stdout]   Product ID: 3, Name: C, Total supply: 1110
[INFO] [stdout]   Product ID: 15, Name: O, Total supply: 504
[INFO] [stdout] 
[INFO] [stdout] Shopping List:
[INFO] [stdout]   Product 7 (G): 7 units
[INFO] [stdout]   Product 5 (E): 9 units
[INFO] [stdout]   Product 8 (H): 8 units
[INFO] [stdout]   Product 2 (B): 6 units
[INFO] [stdout]   Product 3 (C): 9 units
[INFO] [stdout]   Product 1 (A): 5 units
[INFO] [stdout]   Product 4 (D): 5 units
[INFO] [stdout]   Product 6 (F): 6 units
[INFO] [stdout] Shopper location: (4.8950, 52.3664)
[INFO] [stdout] Customer location: (4.8730, 52.3383)
[INFO] [stdout] 
[INFO] [stdout] Testing with extreme threshold: 10000
[INFO] [stdout] Starting parallel BSL-PSD algorithm with channels...
[INFO] [stdout] Found_min_cost: 401.70400000000006
[INFO] [stdout] Found_min_time: ShoppingRoute { stores: [199, 194, 248], shopping_time: 0.053661099663733454, shopping_cost: 432.3760000000001 }
[INFO] [stdout] Start thread 1
[INFO] [stdout] Start thread 2
[INFO] [stdout] Thread 1 found the sc_upper_bound skyline route!
[INFO] [stdout] Final skyline size: 7
[INFO] [stdout] Routes found: 7
[INFO] [stdout] Best route search time: 118.78ms
[INFO] [stdout] Total algorithm time: 15.65s
[INFO] [stdout] Search time (excluding best route): 15.53s
[INFO] [stdout] 
[INFO] [stdout] Testing with extreme threshold: 20000
[INFO] [stdout] Starting parallel BSL-PSD algorithm with channels...
[INFO] [stdout] Found_min_cost: 401.70400000000006
[INFO] [stdout] Found_min_time: ShoppingRoute { stores: [248, 199, 194], shopping_time: 0.053661099663733454, shopping_cost: 432.3760000000001 }
[INFO] [stdout] Start thread 1
[INFO] [stdout] Start thread 2
[INFO] [stdout] Thread 1 found the sc_upper_bound skyline route!
[INFO] [stdout] Final skyline size: 7
[INFO] [stdout] Routes found: 7
[INFO] [stdout] Best route search time: 203.22ms
[INFO] [stdout] Total algorithm time: 17.40s
[INFO] [stdout] Search time (excluding best route): 17.19s
[INFO] [stdout] 
[INFO] [stdout] Testing with extreme threshold: 30000
[INFO] [stdout] Starting parallel BSL-PSD algorithm with channels...
[INFO] [stdout] Found_min_cost: 401.70400000000006
[INFO] [stdout] Found_min_time: ShoppingRoute { stores: [194, 248, 199], shopping_time: 0.053661099663733454, shopping_cost: 432.3760000000001 }
[INFO] [stdout] Start thread 2
[INFO] [stdout] Start thread 1
[INFO] [stdout] Thread 1 found the sc_upper_bound skyline route!
[INFO] [stdout] Final skyline size: 8
[INFO] [stdout] Routes found: 8
[INFO] [stdout] Best route search time: 142.65ms
[INFO] [stdout] Total algorithm time: 14.90s
[INFO] [stdout] Search time (excluding best route): 14.76s
[INFO] [stdout] 
[INFO] [stdout] Testing with extreme threshold: 40000
[INFO] [stdout] Starting parallel BSL-PSD algorithm with channels...
[INFO] [stdout] Found_min_cost: 401.70400000000006
[INFO] [stdout] Found_min_time: ShoppingRoute { stores: [199, 248, 196], shopping_time: 0.053661099663733454, shopping_cost: 422.5900000000001 }
[INFO] [stdout] Start thread 1
[INFO] [stdout] Start thread 2
[INFO] [stdout] Thread 1 found the sc_upper_bound skyline route!
[INFO] [stdout] Final skyline size: 8
[INFO] [stdout] Routes found: 8
[INFO] [stdout] Best route search time: 116.25ms
[INFO] [stdout] Total algorithm time: 14.89s
[INFO] [stdout] Search time (excluding best route): 14.77s
[INFO] [stdout] 
[INFO] [stdout] Testing with extreme threshold: 50000
[INFO] [stdout] Starting parallel BSL-PSD algorithm with channels...
[INFO] [stdout] Found_min_cost: 401.70400000000006
[INFO] [stdout] Found_min_time: ShoppingRoute { stores: [248, 196, 199], shopping_time: 0.053661099663733454, shopping_cost: 422.5900000000001 }
[INFO] [stdout] Start thread 1
[INFO] [stdout] Start thread 2
[INFO] [stdout] Thread 1 found the sc_upper_bound skyline route!
[INFO] [stdout] Final skyline size: 8
[INFO] [stdout] Routes found: 8
[INFO] [stdout] Best route search time: 132.70ms
[INFO] [stdout] Total algorithm time: 14.64s
[INFO] [stdout] Search time (excluding best route): 14.51s
[INFO] [stdout] Error: BackendError(DrawingError(ImageError(IoError(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }))))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_extreme_threshold_analysis
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 78.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test extreme_threshold_analysis`
[INFO] running `Command { std: "docker" "inspect" "43626a36a1196a50efff481af9b6cb007c4157a96787159431c7a463ed73b278", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43626a36a1196a50efff481af9b6cb007c4157a96787159431c7a463ed73b278", kill_on_drop: false }`
[INFO] [stdout] 43626a36a1196a50efff481af9b6cb007c4157a96787159431c7a463ed73b278
